name: Build on: push: pull_request: permissions: contents: read packages: read pages: write id-token: write jobs: build: runs-on: ubuntu-latest container: ghcr.io/zeldaret/tww-build:main strategy: fail-fast: false matrix: version: [GZLE01, GZLP01, GZLJ01] steps: - name: Checkout uses: actions/checkout@v4 - name: Git config run: git config --global --add safe.directory "$GITHUB_WORKSPACE" - name: Prepare run: cp -R /orig/${{matrix.version}} orig - name: Download objdiff CLI if: github.ref == 'refs/heads/main' run: | python tools/download_tool.py --tag v2.0.0-beta.4 objdiff-cli objdiff-cli - name: Build run: | python configure.py --version ${{matrix.version}} --compilers /compilers --warn error ninja python configure.py --version ${{matrix.version}} --compilers /compilers --warn off ninja all_source - name: Upload progress if: github.ref == 'refs/heads/main' continue-on-error: true env: PROGRESS_API_KEY: ${{secrets.PROGRESS_API_KEY}} run: | python tools/upload_progress.py -b https://progress.decomp.club/ -p tww -v ${{matrix.version}} \ build/${{matrix.version}}/progress.json - name: Generate objdiff progress report if: github.ref == 'refs/heads/main' run: | ./objdiff-cli report generate -o report.json - name: Save objdiff progress report artifact if: github.ref == 'refs/heads/main' uses: actions/upload-artifact@v4 with: name: ${{ matrix.version }}-report-${{ github.sha }} path: report.json website: runs-on: ubuntu-latest needs: build if: github.ref == 'refs/heads/main' steps: - name: Checkout website code uses: actions/checkout@v4 with: repository: LagoLunatic/tww-decomp-website - name: Download artifact uses: actions/download-artifact@v4 with: name: GZLE01-report-${{ github.sha }} path: ./artifacts - name: Rename artifact run: | mv ./artifacts/report.json ./artifacts/progress.json - uses: actions/setup-dotnet@v4 with: dotnet-version: "8.x.x" - name: Build Website run: | python build.py - name: Upload website artifact uses: actions/upload-pages-artifact@v3 with: path: './dist' - name: Deploy to GitHub Pages id: deployment uses: actions/deploy-pages@v4