Robin Jones dcd41b7585
Improve CI (#2)
* Run against devcontainer docker file.
* remove submodule update
* Update SC64 deployer version
2023-05-28 19:56:38 +01:00

116 lines
2.9 KiB
YAML

name: build
on:
push:
pull_request:
release:
types:
- created
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
# container:
# image: ../Dockerfile
# # credentials:
# # username: ${{ github.actor }}
# # password: ${{ secrets.github_token }}
# volumes:
# - my_docker_volume:/volume_mount
steps:
# - name: Check for dockerenv file
# run: (ls /.dockerenv && echo Found dockerenv) || (echo No dockerenv)
- uses: actions/checkout@v3
with:
submodules: true
fetch-depth: 1 # we only require the last check-in, unless we want to create a changelog.
- name: Login to GitHub Container Registry
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
# - name: Build libdragon
# run: |
# cd ./libdragon
# # FIXME: this currently also builds the examples which adds to the build time.
# # ./build.sh
# # WORKAROUND: for CI
# make -j libdragon
# make install
# make -j tools
# make tools-install
# make install-mk
- name: Build N64FlashcartMenu ROM
uses: devcontainers/ci@v0.3
with:
push: never
runCmd: |
mkdir build
mkdir output
# TODO: split this to use params for each flashcart type.
make
- name: Upload artifact
uses: actions/upload-artifact@v3
with:
name: N64FlashcartMenu
path: |
./output/N64FlashcartMenu.z64
./build/N64FlashcartMenu.elf
minify-sc64-menu:
runs-on: ubuntu-latest
needs: build
steps:
- name: Setup python
uses: actions/setup-python@v4
with:
python-version: '3.11.x'
- uses: actions/checkout@v3
with:
fetch-depth: 1 # we only require the last check-in, unless we want to create a changelog.
- name: Download ROM artifact
id: download-rom-artifact
uses: actions/download-artifact@v3
with:
name: N64FlashcartMenu
path: ./
- name: Finalize rom
run: |
# make all
python ./tools/sc64/minify.py ./build/N64FlashcartMenu.elf ./output/N64FlashcartMenu.z64 ./output/sc64menu.n64
continue-on-error: false
- name: Upload artifact
uses: actions/upload-artifact@v3
with:
name: SC64-Menu
path: |
./output/sc64menu.n64
if-no-files-found: ignore
# release-sc64-menu:
# runs-on: ubuntu-latest
# needs: minify-sc64-menu
# steps:
# - name: Generate release
# if: github.event_name == 'release' && github.event.action == 'created'
# run: |
# echo "still release preview. Check actions for build assets."