mirror of
https://github.com/Polprzewodnikowy/N64FlashcartMenu.git
synced 2024-11-23 02:59:18 +01:00
125 lines
3.4 KiB
YAML
125 lines
3.4 KiB
YAML
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
|
|
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 dev release-V${{ github.run_id }}'
|
|
body: Rolling dev prerelease built from latest commit on `develop` branch.
|
|
tag_name: prerelease-dev
|
|
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
|