From d13c7f9e11618c230bfd51c02469fb1f7be3cd08 Mon Sep 17 00:00:00 2001 From: Henrique Gemignani Passos Lima Date: Fri, 6 Feb 2026 12:09:31 +0200 Subject: [PATCH] Fix CI --- .github/workflows/build.yml | 92 +++++++++++++++++++------------------ 1 file changed, 48 insertions(+), 44 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 5da76c6..53e87eb 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -15,51 +15,55 @@ jobs: version: [G2ME01, G2MJ01, G2MP01, R32J01, R3ME01, R3MP01] steps: - # Checkout the repository (shallow clone) - - 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" - - # Copy the original files to the workspace - - name: Prepare - run: cp -R /orig . + # Checkout the repository + - name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 0 + submodules: recursive - # Build the project - - name: Build - run: | - python configure.py --map --version ${{ matrix.version }} \ - --binutils /binutils --compilers /compilers - ninja all_source build/${{ matrix.version }}/progress.json \ - build/${{ matrix.version }}/report.json + # Set Git config + - name: Git config + run: git config --global --add safe.directory "$GITHUB_WORKSPACE" - # Upload progress if we're on the main branch - - name: Upload progress - if: github.ref == 'refs/heads/main' - continue-on-error: true - env: - PROGRESS_SLUG: echoes - PROGRESS_API_KEY: ${{ secrets.PROGRESS_API_KEY }} - run: | - python tools/upload_progress.py -b https://progress.decomp.club/ \ - -p $PROGRESS_SLUG -v ${{ matrix.version }} \ - build/${{ matrix.version }}/progress.json + # 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 - # Upload map files - - name: Upload map - uses: actions/upload-artifact@v4 - with: - name: ${{ matrix.version }}_maps - path: build/${{ matrix.version }}/**/*.MAP + # Copy the original files to the workspace + - name: Prepare + run: cp -a /orig . - # Upload progress report - - name: Upload report - uses: actions/upload-artifact@v4 - with: - name: ${{ matrix.version }}_report - path: build/${{ matrix.version }}/report.json + # 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