mirror of
				https://github.com/Polprzewodnikowy/N64FlashcartMenu.git
				synced 2025-11-03 19:16:07 +01:00 
			
		
		
		
	Change branch for doc build to use pre-release by default. This needs to keep in-step with the release anyway.
		
			
				
	
	
		
			137 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			137 lines
		
	
	
		
			3.9 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@v5
 | 
						|
        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_path: ${{ github.workspace }}/CHANGELOG.md
 | 
						|
          tag_name: 'rolling_release'
 | 
						|
          make_latest: true
 | 
						|
          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 pre-release'
 | 
						|
          body: Experimental pre-release built from latest commit on `develop` branch. Check the commit history for more details.
 | 
						|
          target_commitish: develop
 | 
						|
          tag_name: 'rolling_pre-release'
 | 
						|
          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@v5
 | 
						|
 | 
						|
      - name: Run Doxygen
 | 
						|
        uses: mattnotmitt/doxygen-action@v1
 | 
						|
        with:
 | 
						|
          doxyfile-path: './Doxyfile'
 | 
						|
 | 
						|
      # - name: Deploy docs to GitHub Pages (main)
 | 
						|
      #   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
 | 
						|
 | 
						|
      - name: Deploy docs to GitHub Pages (develop)
 | 
						|
        uses: peaceiris/actions-gh-pages@v4
 | 
						|
        if: github.ref == 'refs/heads/develop'
 | 
						|
        with:
 | 
						|
          github_token: ${{ secrets.GITHUB_TOKEN }}
 | 
						|
          publish_dir: ./output/docs
 | 
						|
          cname: menu.summercart64.dev
 | 
						|
          # publish_branch: gh-pages-develop
 | 
						|
          # cname: prerelease.menu.summercart64.dev
 |