What the hell is happening? #107
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Build Software | |
| on: | |
| push: # Trigger for pushes. | |
| paths: | |
| - software/** | |
| - common/** | |
| - .github/workflows/build-software.yaml | |
| pull_request: # Trigger for pull requests. | |
| types: [opened, synchronize, reopened, ready_for_review] | |
| workflow_dispatch: # Allows for manual triggering. | |
| inputs: | |
| ref: | |
| description: "The ref to build." | |
| required: false | |
| type: string | |
| caller: | |
| description: "Calling workflow name, to avoid cancellation when this is used in multiple parent workflows concurrently." | |
| default: manual | |
| type: string | |
| for-release: | |
| description: "True if we should upload artifacts for a release." | |
| default: false | |
| type: boolean | |
| workflow_call: # Allows for another workflow to call this one. | |
| inputs: | |
| ref: | |
| description: "The ref to build." | |
| required: true | |
| type: string | |
| caller: | |
| description: "Calling workflow name, to avoid cancellation when this is used in multiple parent workflows concurrently." | |
| required: true | |
| type: string | |
| for-release: | |
| description: "True if we should upload artifacts for a release." | |
| default: false | |
| type: boolean | |
| # If another instance of this workflow is started for the same PR, cancel the | |
| # old one. If a PR is updated and a new test run is started, the old test run | |
| # will be cancelled automatically to conserve resources. | |
| concurrency: | |
| group: build-software-${{ inputs.caller }}-${{ inputs.ref || github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| build: | |
| name: Build Software | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| with: | |
| ref: ${{ inputs.ref || github.ref }} | |
| - name: Build embedded Never Gonna Give You Up ROM | |
| run: | | |
| wget https://storage.googleapis.com/sega-kinetoscope/canned-videos/never-gonna-give-you-up-embed.zip | |
| unzip -o never-gonna-give-you-up-embed.zip -d software/embed-video-in-rom/ | |
| rm -rf software/embed-video-in-rom/out | |
| ./software/embed-video-in-rom/build.sh | |
| - name: Upload Never Gonna Give You Up ROM | |
| uses: actions/upload-artifact@v4 | |
| if: inputs.for-release | |
| with: | |
| name: never-gonna-give-you-up-rom | |
| path: ./software/embed-video-in-rom/out/rom.bin | |
| retention-days: 1 | |
| - name: Build embedded You Spin Me Round ROM | |
| run: | | |
| wget https://storage.googleapis.com/sega-kinetoscope/canned-videos/you-spin-me-round-embed.zip | |
| unzip -o you-spin-me-round-embed.zip -d software/embed-video-in-rom/ | |
| rm -rf software/embed-video-in-rom/out | |
| ./software/embed-video-in-rom/build.sh | |
| - name: Upload You Spin Me Round ROM | |
| uses: actions/upload-artifact@v4 | |
| if: inputs.for-release | |
| with: | |
| name: you-spin-me-round-rom | |
| path: ./software/embed-video-in-rom/out/rom.bin | |
| retention-days: 1 | |
| - name: Build streamer ROM | |
| run: ./software/stream-with-special-hardware/build.sh | |
| - name: Upload streamer ROM | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: streamer-rom | |
| path: ./software/stream-with-special-hardware/out/rom.bin | |
| retention-days: 1 | |
| - name: Build self-test ROM | |
| run: ./software/hardware-test/build.sh | |
| - name: Upload self-test ROM | |
| uses: actions/upload-artifact@v4 | |
| if: inputs.for-release | |
| with: | |
| name: self-test-rom | |
| path: ./software/hardware-test/out/rom.bin | |
| retention-days: 1 |