@@ -10,27 +10,52 @@ jobs:
1010 # a branch on filament-assets.
1111 update-renderdiff-goldens :
1212 name : update-renderdiff-goldens
13- runs-on : ' ubuntu-24.04-4core '
13+ runs-on : ' macos-14-xlarge '
1414 steps :
1515 - uses : actions/checkout@v4.1.6
1616 with :
1717 fetch-depth : 0
18- - uses : ./.github/actions/linux-prereq
1918 - id : get_commit_msg
2019 uses : ./.github/actions/get-commit-msg
21- - name : Build diffimg
22- run : ./build.sh release diffimg
20+ - name : Check if accepting new goldens
21+ id : check_accept
22+ env :
23+ COMMIT_MESSAGE : ${{ steps.get_commit_msg.outputs.msg }}
24+ run : |
25+ if echo "${COMMIT_MESSAGE}" | python3 test/renderdiff/src/commit_msg.py --mode=accept_new_goldens; then
26+ echo "accept=true" >> "$GITHUB_OUTPUT"
27+ else
28+ echo "accept=false" >> "$GITHUB_OUTPUT"
29+ fi
30+ shell : bash
31+ - name : Renderdiff Generate for new goldens
32+ if : steps.check_accept.outputs.accept == 'true'
33+ uses : ./.github/actions/renderdiff-generate
2334 - name : Run update script
2435 env :
2536 GH_TOKEN : ${{ secrets.FILAMENTBOT_TOKEN }}
2637 COMMIT_MESSAGE : ${{ steps.get_commit_msg.outputs.msg }}
2738 run : |
2839 GOLDEN_BRANCH=$(echo "${COMMIT_MESSAGE}" | python3 test/renderdiff/src/commit_msg.py)
2940 COMMIT_HASH="${{ steps.get_commit_msg.outputs.hash }}"
41+
42+ git config --global user.email "filament.bot@gmail.com"
43+ git config --global user.name "Filament Bot"
44+ git config --global credential.helper cache
45+
46+ if [[ "${{ steps.check_accept.outputs.accept }}" == "true" ]]; then
47+ SHORT_HASH="${COMMIT_HASH:0:8}"
48+ GOLDEN_BRANCH="accept-goldens-${SHORT_HASH}"
49+ echo "Generating new goldens for branch ${GOLDEN_BRANCH}"
50+ python3 test/renderdiff/src/update_golden.py \
51+ --branch=${GOLDEN_BRANCH} \
52+ --source=$(pwd)/out/renderdiff/renders \
53+ --commit-msg="Auto-update goldens from ${COMMIT_HASH}" \
54+ --push-to-remote \
55+ --golden-repo-token=${GH_TOKEN}
56+ fi
57+
3058 if [[ "${GOLDEN_BRANCH}" != "main" ]]; then
31- git config --global user.email "filament.bot@gmail.com"
32- git config --global user.name "Filament Bot"
33- git config --global credential.helper cache
3459 echo "branch==${GOLDEN_BRANCH}"
3560 echo "hash==${COMMIT_HASH}"
3661 python3 test/renderdiff/src/update_golden.py --branch=${GOLDEN_BRANCH} \
0 commit comments