N64FlashcartMenu/.github/workflows/build.yml
Robin Jones bc335d8859
Remove libdragon build in CI (it is already performed in devcontainer) (#35)
<!--- Provide a general summary of your changes in the Title above -->

## Description
<!--- Describe your changes in detail -->
The CI uses the devcontainer to build libdragon, but that has already
occured as part of the devcontainer initialization.

## Motivation and Context
<!--- What does this sample do? What problem does it solve? -->
<!--- If it fixes/closes/resolves an open issue, please link to the
issue here -->
The CI was taking longer to build than expected.

If/when we move to native CI, we should leverage the CI which would
include:

```
      # - name: Cache libDragon build
      #   id: cache-libdragon
      #   uses: actions/cache@v3
      #   env:
      #     cache-name: cache-libdragon
      #   with:
      #     # libdragon cache files are stored in `./libdragon`
      #     path: ./libdragon
      #     key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('./.gitmodules') }}
      #     restore-keys: |
      #       ${{ runner.os }}-build-${{ env.cache-name }}-
      #       ${{ runner.os }}-build-
      #       ${{ runner.os }}-

      # - name: Build libDragon
      #   if: ${{ steps.cache-libdragon.outputs.cache-hit != 'true' }}
      #   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: |
      #        pushd libdragon
      #          ./build.sh
      #        popd
```

## How Has This Been Tested?
<!-- (if applicable) -->
<!--- Please describe in detail how you tested your sample/changes. -->
<!--- Include details of your testing environment, and the tests you ran
to -->
<!--- see how your change affects other areas of the code, etc. -->

## Screenshots
<!-- (if appropriate): -->

## Types of changes
<!--- What types of changes does your code introduce? Put an `x` in all
the boxes that apply: -->
- [ ] Improvement (non-breaking change that adds a new feature)
- [ ] Bug fix (fixes an issue)
- [ ] Breaking change (breaking change)
- [ ] Config and build (change in the configuration and build system,
has no impact on code or features)

## Checklist:
<!--- Go over all the following points, and put an `x` in all the boxes
that apply. -->
<!--- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
- [ ] My code follows the code style of this project.
- [ ] My change requires a change to the documentation.
- [ ] I have updated the documentation accordingly.
- [ ] I have added tests to cover my changes.
- [ ] All new and existing tests passed.

<!--- It would be nice if you could sign off your contribution by
replacing the name with your GitHub user name and GitHub email contact.
-->
Signed-off-by: GITHUB_USER <GITHUB_USER_EMAIL>
2023-08-09 20:46:58 +02:00

100 lines
2.5 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: -DMENU_RELEASE
- 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
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
# release-sc64-menu:
# runs-on: ubuntu-latest
# needs: minify-sc64-menu
# steps:
# - name: Generate release
# if: github.event_name == 'release' && github.event.action == 'created'
# run: |
# echo "still release preview. Check actions for build assets."