name: Build on: push: pull_request: release: types: - created workflow_dispatch: jobs: build-menu: runs-on: ubuntu-latest 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: Delete rolling-release tag and release # uses: dev-drprasad/delete-tag-and-release@v1.0 # if: github.ref == 'refs/heads/main' # with: # github_token: ${{ secrets.GITHUB_TOKEN }} # tag_name: rolling-release # continue-on-error: true - name: Upload rolling release uses: softprops/action-gh-release@v0.1.15 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 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@v3 if: github.ref == 'refs/heads/main' with: github_token: ${{ secrets.GITHUB_TOKEN }} publish_dir: ./output/docs