Work towards ROM autoload #939
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
name: Build | |
on: | |
push: | |
pull_request: | |
release: | |
types: | |
- created | |
workflow_dispatch: | |
jobs: | |
build-menu: | |
runs-on: ubuntu-latest | |
permissions: | |
contents: write | |
packages: write | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Login to GitHub Container Registry | |
uses: docker/login-action@v3 | |
with: | |
registry: ghcr.io | |
username: ${{ github.repository_owner }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- name: Build N64FlashcartMenu ROM | |
uses: devcontainers/ci@v0.3 | |
with: | |
imageName: ghcr.io/polprzewodnikowy/n64flashcartmenu-devcontainer | |
cacheFrom: ghcr.io/polprzewodnikowy/n64flashcartmenu-devcontainer | |
push: ${{ github.repository_owner == 'Polprzewodnikowy' && 'filter' || 'never' }} | |
refFilterForPush: refs/heads/main | |
runCmd: | | |
make all -j | |
env: | |
FLAGS: -DNDEBUG | |
- name: Upload artifact (Standard ROM) | |
uses: actions/upload-artifact@v4 | |
with: | |
name: N64FlashcartMenu | |
path: | | |
./output/N64FlashcartMenu.n64 | |
./build/N64FlashcartMenu.elf | |
- name: Upload artifact (64drive version) | |
uses: actions/upload-artifact@v4 | |
with: | |
name: 64drive | |
path: ./output/menu.bin | |
- name: Upload artifact (ED64 version) | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ED64 | |
path: ./output/OS64.v64 | |
- name: Upload artifact (ED64P version) | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ED64P | |
path: ./output/OS64P.v64 | |
- name: Upload artifact (SC64 version) | |
uses: actions/upload-artifact@v4 | |
with: | |
name: SC64 | |
path: ./output/sc64menu.n64 | |
- name: Upload rolling release | |
uses: softprops/action-gh-release@v2 | |
if: github.ref == 'refs/heads/main' | |
with: | |
name: Rolling release | |
body: Rolling release built from latest commit on `main` branch. | |
tag_name: 'rolling_release' | |
make_latest: true | |
files: | | |
./output/N64FlashcartMenu.n64 | |
./output/menu.bin | |
# ./output/OS64.v64 | |
# ./output/OS64P.v64 | |
./output/sc64menu.n64 | |
continue-on-error: true | |
- name: Upload dev rolling release | |
uses: softprops/action-gh-release@v2 | |
if: github.ref == 'refs/heads/develop' | |
with: | |
name: 'Rolling pre-release' | |
body: Experimental pre-release built from latest commit on `develop` branch. | |
target_commitish: develop | |
tag_name: 'rolling_pre-release' | |
prerelease: true | |
files: | | |
./output/N64FlashcartMenu.n64 | |
./output/menu.bin | |
./output/OS64.v64 | |
./output/OS64P.v64 | |
./output/sc64menu.n64 | |
continue-on-error: true | |
generate-docs: | |
runs-on: ubuntu-latest | |
permissions: | |
contents: write | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Run Doxygen | |
uses: mattnotmitt/doxygen-action@1.9.5 | |
with: | |
doxyfile-path: './Doxyfile' | |
- name: Deploy to GitHub Pages | |
uses: peaceiris/actions-gh-pages@v4 | |
if: github.ref == 'refs/heads/main' | |
with: | |
github_token: ${{ secrets.GITHUB_TOKEN }} | |
publish_dir: ./output/docs | |
cname: menu.summercart64.dev |