N64FlashcartMenu/.github/workflows/build.yml
2023-08-25 22:57:38 +02:00

105 lines
2.7 KiB
YAML

name: Build
on:
push:
pull_request:
release:
types:
- created
workflow_dispatch:
jobs:
build-menu:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- 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 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@v3
with:
name: N64FlashcartMenu
path: |
./output/N64FlashcartMenu.n64
./build/N64FlashcartMenu.elf
- name: Upload artifact (64drive version)
uses: actions/upload-artifact@v3
with:
name: 64drive
path: ./output/menu.bin
- name: Upload artifact (ED64 version)
uses: actions/upload-artifact@v3
with:
name: ED64
path: ./output/OS64.v64
- name: Upload artifact (ED64P version)
uses: actions/upload-artifact@v3
with:
name: ED64P
path: ./output/OS64P.v64
- name: Upload artifact (SC64 version)
uses: actions/upload-artifact@v3
with:
name: SC64
path: ./output/sc64menu.n64
- name: Upload rolling release
uses: marvinpinto/action-automatic-releases@v1.2.1
if: github.ref == 'refs/heads/main'
with:
repo_token: "${{ secrets.GITHUB_TOKEN }}"
automatic_release_tag: rolling-release
prerelease: false
title: Rolling release
files: |
./output/N64FlashcartMenu.n64
./output/menu.bin
./output/OS64.v64
./output/OS64P.v64
./output/sc64menu.n64
generate-docs:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v3
- name: Run Doxygen
uses: mattnotmitt/doxygen-action@1.9.5
with:
doxyfile-path: './Doxyfile'
- 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