2023-07-09 00:52:39 +02:00
|
|
|
name: Build
|
2023-02-22 18:12:50 +01:00
|
|
|
|
|
|
|
on:
|
|
|
|
push:
|
|
|
|
pull_request:
|
|
|
|
release:
|
|
|
|
types:
|
|
|
|
- created
|
|
|
|
workflow_dispatch:
|
|
|
|
|
|
|
|
jobs:
|
2023-08-05 01:37:09 +02:00
|
|
|
build-menu:
|
2023-02-22 18:12:50 +01:00
|
|
|
runs-on: ubuntu-latest
|
2023-08-25 22:23:25 +02:00
|
|
|
permissions:
|
|
|
|
contents: write
|
2023-02-22 18:12:50 +01:00
|
|
|
|
|
|
|
steps:
|
|
|
|
- uses: actions/checkout@v3
|
|
|
|
with:
|
2023-06-04 17:57:31 +02:00
|
|
|
submodules: recursive
|
2023-02-22 18:12:50 +01:00
|
|
|
|
2023-05-28 20:56:38 +02:00
|
|
|
- name: Login to GitHub Container Registry
|
2023-08-05 01:37:09 +02:00
|
|
|
uses: docker/login-action@v2
|
2023-05-28 20:56:38 +02:00
|
|
|
with:
|
|
|
|
registry: ghcr.io
|
|
|
|
username: ${{ github.repository_owner }}
|
|
|
|
password: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
|
2023-02-24 15:24:59 +01:00
|
|
|
- name: Build N64FlashcartMenu ROM
|
2023-05-28 20:56:38 +02:00
|
|
|
uses: devcontainers/ci@v0.3
|
|
|
|
with:
|
2023-08-05 01:41:23 +02:00
|
|
|
imageName: ghcr.io/polprzewodnikowy/n64flashcartmenu-devcontainer
|
|
|
|
cacheFrom: ghcr.io/polprzewodnikowy/n64flashcartmenu-devcontainer
|
2023-08-05 15:38:48 +02:00
|
|
|
push: ${{ github.repository_owner == 'Polprzewodnikowy' && 'filter' || 'never' }}
|
2023-08-05 15:47:06 +02:00
|
|
|
refFilterForPush: refs/heads/main
|
2023-08-05 01:57:05 +02:00
|
|
|
runCmd: |
|
2023-08-05 02:00:28 +02:00
|
|
|
make all -j
|
2023-08-05 01:37:09 +02:00
|
|
|
env:
|
2023-08-12 21:11:20 +02:00
|
|
|
FLAGS: -DNDEBUG
|
2023-08-05 01:37:09 +02:00
|
|
|
|
|
|
|
- name: Upload artifact (Standard ROM)
|
2023-02-22 18:12:50 +01:00
|
|
|
uses: actions/upload-artifact@v3
|
|
|
|
with:
|
|
|
|
name: N64FlashcartMenu
|
|
|
|
path: |
|
2023-08-05 01:37:09 +02:00
|
|
|
./output/N64FlashcartMenu.n64
|
2023-03-12 20:43:16 +01:00
|
|
|
./build/N64FlashcartMenu.elf
|
2023-02-22 18:12:50 +01:00
|
|
|
|
2023-08-05 01:37:09 +02:00
|
|
|
- name: Upload artifact (64drive version)
|
|
|
|
uses: actions/upload-artifact@v3
|
2023-02-22 18:12:50 +01:00
|
|
|
with:
|
2023-08-05 01:37:09 +02:00
|
|
|
name: 64drive
|
|
|
|
path: ./output/menu.bin
|
2023-02-22 18:12:50 +01:00
|
|
|
|
2023-08-05 01:37:09 +02:00
|
|
|
- name: Upload artifact (ED64 version)
|
|
|
|
uses: actions/upload-artifact@v3
|
2023-02-22 18:12:50 +01:00
|
|
|
with:
|
2023-08-05 01:37:09 +02:00
|
|
|
name: ED64
|
|
|
|
path: ./output/OS64.v64
|
2023-02-22 18:12:50 +01:00
|
|
|
|
2023-08-05 17:55:30 +02:00
|
|
|
- name: Upload artifact (ED64P version)
|
|
|
|
uses: actions/upload-artifact@v3
|
|
|
|
with:
|
|
|
|
name: ED64P
|
|
|
|
path: ./output/OS64P.v64
|
|
|
|
|
2023-08-05 01:37:09 +02:00
|
|
|
- name: Upload artifact (SC64 version)
|
2023-02-22 18:12:50 +01:00
|
|
|
uses: actions/upload-artifact@v3
|
|
|
|
with:
|
2023-08-05 01:37:09 +02:00
|
|
|
name: SC64
|
|
|
|
path: ./output/sc64menu.n64
|
2023-02-22 18:12:50 +01:00
|
|
|
|
2023-08-25 22:23:25 +02:00
|
|
|
- name: Upload rolling release
|
|
|
|
uses: softprops/action-gh-release@v0.1.15
|
|
|
|
if: github.ref == 'refs/heads/main'
|
|
|
|
with:
|
|
|
|
name: Rolling release
|
|
|
|
body: Latest rolling release built from latest commit on `main` branch.
|
2023-08-25 22:29:09 +02:00
|
|
|
tag_name: rolling-release
|
2023-08-25 22:23:25 +02:00
|
|
|
prerelease: true
|
|
|
|
files: |
|
|
|
|
./output/menu.bin
|
|
|
|
./output/OS64.v64
|
|
|
|
./output/OS64P.v64
|
|
|
|
./output/sc64menu.n64
|
|
|
|
|
2023-07-09 00:52:39 +02:00
|
|
|
generate-docs:
|
|
|
|
runs-on: ubuntu-latest
|
2023-08-05 01:39:58 +02:00
|
|
|
permissions:
|
|
|
|
contents: write
|
2023-07-09 00:52:39 +02:00
|
|
|
|
|
|
|
steps:
|
|
|
|
- uses: actions/checkout@v3
|
|
|
|
|
|
|
|
- name: Run Doxygen
|
|
|
|
uses: mattnotmitt/doxygen-action@1.9.5
|
|
|
|
with:
|
|
|
|
doxyfile-path: './Doxyfile'
|
|
|
|
|
2023-08-05 01:37:09 +02:00
|
|
|
- name: Deploy to GitHub Pages
|
|
|
|
uses: peaceiris/actions-gh-pages@v3
|
|
|
|
if: github.ref == 'refs/heads/main'
|
|
|
|
with:
|
|
|
|
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
publish_dir: ./output/docs
|