Files
AnyPS5/.github/workflows/pages-progress.yml
T
Dean Galvin 370c8c8f26 feat(tools): report shader coverage from the recompiler source in the README badge
The shaders badge counted ISA instruction names that have an RdnaOpcode
enumerator and had reached 100%. Measure what the recompiler does instead:
decoded and translated instruction forms (base, VOP3, DPP) from the opcode
tables and emit switches, and the unsupported throws, using AMD's RDNA 2
instruction forms (MIT, vendored as a derived table). Say on the page that
this is source coverage, not game compatibility.

The Pages progress workflow now also runs when the recompiler changes, and
the Pages workflows fail instead of publishing when the scan cannot read the
recompiler.
2026-11-01 11:14:38 +13:00

46 lines
1.3 KiB
YAML

name: Pages progress
on:
push:
branches: [main]
paths:
- core/libs/prx/**
- core/shader/recompiler/**
- tools/progress.py
- tools/shader_scan.py
- tools/rdna2_isa_forms.txt
- tools/rdna_isa.txt
permissions:
contents: read
actions: write
pages: read
concurrency:
group: pages-progress
cancel-in-progress: true
jobs:
progress:
if: ${{ !github.event.repository.fork }}
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- uses: actions/checkout@v7
with:
persist-credentials: false
- name: Deploy Pages if the progress changed
env:
GH_TOKEN: ${{ github.token }}
GH_REPO: ${{ github.repository }}
run: |
python3 tools/progress.py --require-shader-source "$RUNNER_TEMP/progress"
site=$(gh api "repos/$GH_REPO/pages" --jq .html_url)
if curl -fsSL "${site%/}/progress.json?$GITHUB_SHA" -o "$RUNNER_TEMP/deployed.json" &&
cmp -s "$RUNNER_TEMP/deployed.json" "$RUNNER_TEMP/progress/progress.json"; then
echo "Progress unchanged, Pages not deployed" >> "$GITHUB_STEP_SUMMARY"
else
gh workflow run pages.yml --ref main
echo "Progress changed, Pages deployment dispatched" >> "$GITHUB_STEP_SUMMARY"
fi