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, RZDE01_00, RZDE01_02, RZDP01, RZDJ01, Shield, 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