rafrel mostly done #175
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 | |
on: | |
push: | |
pull_request: | |
jobs: | |
build: | |
container: ghcr.io/zeldaret/tp-build:main | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
version: [GZ2E01, GZ2P01, GZ2J01, ShieldD] | |
steps: | |
# Checkout the repository | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
submodules: recursive | |
# Set Git config | |
- name: Git config | |
run: git config --global --add safe.directory "$GITHUB_WORKSPACE" | |
# Normalize file mod times | |
- name: Restore timestamps | |
run: | | |
uv run https://raw.githubusercontent.com/MestreLion/git-tools/refs/tags/v2022.12/git-restore-mtime \ | |
--merge --commit-time | |
# Copy the original files to the workspace | |
- name: Prepare | |
run: cp -a /orig . | |
# Restore cached files | |
- name: Cache build | |
uses: actions/cache@v4 | |
with: | |
path: | | |
build | |
.ninja_deps | |
.ninja_log | |
key: ${{ runner.os }}-${{ matrix.version }}-${{ github.sha }} | |
restore-keys: ${{ runner.os }}-${{ matrix.version }}- | |
# Build the project | |
- name: Build | |
run: | | |
python configure.py --map --version ${{ matrix.version }} \ | |
--binutils /binutils --compilers /compilers | |
ninja all_source progress build/${{ matrix.version }}/report.json | |
# Upload map files | |
- name: Upload map | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ matrix.version }}_maps | |
path: build/${{ matrix.version }}/**/*.MAP | |
# Upload progress report | |
- name: Upload report | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ matrix.version }}_report | |
path: build/${{ matrix.version }}/report.json |