Xml converter #158
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# This workflow will compile burrio_link.exe, the burrito binary, and any | |
# additional libraries needed to run. All these files will then be available | |
# as an artifact. | |
name: CI | |
env: | |
# The version of Godot to use | |
GODOT_VERSION: 3.3.2 | |
# Used as a makeshift cache expiry | |
CACHE_STRING: "Zo6AbxJk4KQl0sGE" | |
# Controls when the workflow will run | |
on: | |
# Triggers the workflow on push or pull request events but only for the main branch | |
push: | |
branches: [ "*" ] | |
pull_request: | |
branches: [ "*" ] | |
# Allows you to run this workflow manually from the Actions tab | |
workflow_dispatch: | |
# A workflow run is made up of one or more jobs that can run sequentially or in parallel | |
jobs: | |
# This workflow contains a single job called "build" | |
Build-Linux: | |
# The type of runner that the job will run on | |
runs-on: ubuntu-20.04 | |
# Steps represent a sequence of tasks that will be executed as part of the job | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Create the Output Directory | |
run: mkdir -v -p output | |
# `clang-9` must be installed here because of a weird unlisted dependency | |
# on some sort of file that clang-9 installs. Without it iwyu would | |
# complain about missing files and error out. | |
- name: Install include-what-you-use | |
run: | | |
sudo apt-get install iwyu | |
sudo apt-get install clang-9 | |
- name: Install cpplint | |
run: | | |
pip3 install cpplint | |
- name: Install xml_converter/generators Dependencies | |
run: | | |
cd xml_converter/generators | |
python3 -m venv venv | |
source venv/bin/activate | |
pip install -r requirements.txt | |
- name: Install protoc | |
run: sudo apt-get install protobuf-compiler | |
- name: Install gtest | |
run: sudo apt-get install libgtest-dev | |
- name: Build xml_converter | |
run: | | |
cd xml_converter | |
mkdir -v -p build | |
cd build | |
cmake .. | |
make | |
mv xml_converter ../../output/ | |
cp compile_commands.json ../compile_commands.json | |
- name: Validate xml_converter | |
run: | | |
cd xml_converter | |
./presubmit.sh | |
# - name: Cache Godot | |
# id: cache-godot | |
# uses: actions/cache@v2 | |
# with: | |
# path: ./Godot_v${GODOT_VERSION}-stable_linux_headless.64 | |
# key: ${{ runner.os }}-godot-${GODOT_VERSION}-${CACHE_STRING} | |
- name: Download Godot | |
# if: steps.cache-godot.outputs.cache-hit != 'true' | |
run: | | |
wget -q https://downloads.tuxfamily.org/godotengine/${GODOT_VERSION}/Godot_v${GODOT_VERSION}-stable_linux_headless.64.zip | |
unzip Godot_v${GODOT_VERSION}-stable_linux_headless.64.zip | |
rm Godot_v${GODOT_VERSION}-stable_linux_headless.64.zip | |
# - name: Cache Godot Templates | |
# id: cache-godot-templates | |
# uses: actions/cache@v2 | |
# with: | |
# path: ~/.local/share/godot/templates/${GODOT_VERSION}.stable/ | |
# key: ${{ runner.os }}-godot-${GODOT_VERSION}-${CACHE_STRING} | |
- name: Download Godot Export Templates | |
# if: steps.cache-godot-templates.outputs.cache-hit != 'true' | |
run: | | |
mkdir -v -p ~/.local/share/godot/templates/${GODOT_VERSION}.stable/ | |
wget -q https://downloads.tuxfamily.org/godotengine/${GODOT_VERSION}/Godot_v${GODOT_VERSION}-stable_export_templates.tpz | |
unzip Godot_v${GODOT_VERSION}-stable_export_templates.tpz | |
mv templates/* ~/.local/share/godot/templates/${GODOT_VERSION}.stable/ | |
ls ~/.local/share/godot/templates/${GODOT_VERSION}.stable/ | |
- name: Install mingw | |
run: sudo apt-get install gcc-mingw-w64 | |
- name: Build X11_FG | |
run: | | |
cd burrito-fg | |
cargo build --release | |
- name: Build taco_parser | |
run: | | |
cd taco_parser | |
cargo build --release | |
- name: Build Burrito Link | |
run: | | |
cd burrito_link | |
make | |
mv burrito_link.exe ../output | |
- name: Build Burrito | |
run: | | |
mkdir -v -p build | |
./Godot_v${GODOT_VERSION}-stable_linux_headless.64 --export "Linux/X11" | |
chmod +x build/burrito.x86_64 | |
mv build/burrito.x86_64 output/ | |
mv build/libburrito_fg.so output/ | |
mv build/libgw2_taco_parser.so output/ | |
- uses: actions/upload-artifact@v2.2.4 | |
with: | |
# Artifact name | |
name: "Burrito_Linux" # optional, default is artifact | |
# A file, directory or wildcard pattern that describes what to upload | |
path: "output/*" | |
# The desired behavior if no files are found using the provided path. | |
if-no-files-found: error | |
# Duration after which artifact will expire in days. 0 means using default retention. | |
retention-days: 7 |