Skip to content

Cleaning up from split in PRs #146

Cleaning up from split in PRs

Cleaning up from split in PRs #146

Workflow file for this run

# 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: 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