@@ -620,6 +620,14 @@ jobs:
620620 PERCY_TOKEN : ${{ matrix.python-version == '3.12' && secrets.PERCY_TOKEN || '' }}
621621 PERCY_ENABLE : ${{ matrix.python-version == '3.12' && '1' || '0' }}
622622 PERCY_PARALLEL_TOTAL : -1
623+ # Pin the build identity so every shard joins the same parallel build and
624+ # Percy links it to the PR. Auto-detection otherwise uses the ephemeral
625+ # merge SHA (refs/pull/N/merge), so the build never shows up on the PR.
626+ PERCY_PARALLEL_NONCE : ${{ github.run_id }}-${{ github.run_attempt }}
627+ PERCY_COMMIT : ${{ github.event.pull_request.head.sha || github.sha }}
628+ PERCY_BRANCH : ${{ github.head_ref || github.ref_name }}
629+ PERCY_PULL_REQUEST : ${{ github.event.pull_request.number }}
630+ PERCY_TARGET_BRANCH : ${{ github.base_ref }}
623631
624632 steps :
625633 - name : Checkout repository
@@ -654,6 +662,7 @@ jobs:
654662 find packages -name dash-*.whl -print -exec sh -c 'pip install "{}[ci,testing,dev,celery,diskcache]"' \;
655663
656664 - name : Setup Chrome and ChromeDriver
665+ id : setup-chrome
657666 uses : browser-actions/setup-chrome@v1
658667 with :
659668 chrome-version : stable
@@ -678,6 +687,7 @@ jobs:
678687 with :
679688 command : pytest --headless --nopercyfinalize --junitxml=test-reports/junit_intg.xml tests/integration --splits 3 --group ${{ matrix.test-group }}
680689 percy-token : ${{ secrets.PERCY_TOKEN }}
690+ browser-executable : ${{ steps.setup-chrome.outputs.chrome-path }}
681691
682692 - name : Upload test results
683693 if : always()
@@ -713,6 +723,14 @@ jobs:
713723 PERCY_TOKEN : ${{ matrix.python-version == '3.12' && secrets.PERCY_TOKEN || '' }}
714724 PERCY_ENABLE : ${{ matrix.python-version == '3.12' && '1' || '0' }}
715725 PERCY_PARALLEL_TOTAL : -1
726+ # Pin the build identity so every shard joins the same parallel build and
727+ # Percy links it to the PR. Auto-detection otherwise uses the ephemeral
728+ # merge SHA (refs/pull/N/merge), so the build never shows up on the PR.
729+ PERCY_PARALLEL_NONCE : ${{ github.run_id }}-${{ github.run_attempt }}
730+ PERCY_COMMIT : ${{ github.event.pull_request.head.sha || github.sha }}
731+ PERCY_BRANCH : ${{ github.head_ref || github.ref_name }}
732+ PERCY_PULL_REQUEST : ${{ github.event.pull_request.number }}
733+ PERCY_TARGET_BRANCH : ${{ github.base_ref }}
716734
717735 steps :
718736 - name : Checkout repository
@@ -747,6 +765,7 @@ jobs:
747765 find packages -name dash-*.whl -print -exec sh -c 'pip install "{}[ci,testing,dev]"' \;
748766
749767 - name : Setup Chrome and ChromeDriver
768+ id : setup-chrome
750769 uses : browser-actions/setup-chrome@v1
751770 with :
752771 chrome-version : stable
@@ -773,6 +792,7 @@ jobs:
773792 with :
774793 command : pytest --headless --nopercyfinalize --junitxml=test-reports/junit_html.xml
775794 percy-token : ${{ secrets.PERCY_TOKEN }}
795+ browser-executable : ${{ steps.setup-chrome.outputs.chrome-path }}
776796 working-directory : components/dash-html-components
777797
778798 - name : Upload test results
@@ -899,6 +919,14 @@ jobs:
899919 PERCY_TOKEN : ${{ matrix.python-version == '3.12' && secrets.PERCY_TOKEN || '' }}
900920 PERCY_ENABLE : ${{ matrix.python-version == '3.12' && '1' || '0' }}
901921 PERCY_PARALLEL_TOTAL : -1
922+ # Pin the build identity so every shard joins the same parallel build and
923+ # Percy links it to the PR. Auto-detection otherwise uses the ephemeral
924+ # merge SHA (refs/pull/N/merge), so the build never shows up on the PR.
925+ PERCY_PARALLEL_NONCE : ${{ github.run_id }}-${{ github.run_attempt }}
926+ PERCY_COMMIT : ${{ github.event.pull_request.head.sha || github.sha }}
927+ PERCY_BRANCH : ${{ github.head_ref || github.ref_name }}
928+ PERCY_PULL_REQUEST : ${{ github.event.pull_request.number }}
929+ PERCY_TARGET_BRANCH : ${{ github.base_ref }}
902930
903931 steps :
904932 - name : Checkout repository
@@ -1056,6 +1084,13 @@ jobs:
10561084 if : always()
10571085 env :
10581086 PERCY_TOKEN : ${{ secrets.PERCY_TOKEN }}
1087+ # Must match the snapshot jobs so finalize targets the same parallel build
1088+ # and the result is attached to the PR head commit, not the merge SHA.
1089+ PERCY_PARALLEL_NONCE : ${{ github.run_id }}-${{ github.run_attempt }}
1090+ PERCY_COMMIT : ${{ github.event.pull_request.head.sha || github.sha }}
1091+ PERCY_BRANCH : ${{ github.head_ref || github.ref_name }}
1092+ PERCY_PULL_REQUEST : ${{ github.event.pull_request.number }}
1093+ PERCY_TARGET_BRANCH : ${{ github.base_ref }}
10591094 steps :
10601095 - name : Finalize Main Percy Build
10611096 if : |
@@ -1093,8 +1128,9 @@ jobs:
10931128
10941129 - name : Publish Test Report
10951130 uses : dorny/test-reporter@v1
1096- # Skip for fork PRs - handled by post-test-status.yml workflow_run
1097- if : always() && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository)
1131+ # Skip for fork PRs and Dependabot PRs - both run with a read-only
1132+ # GITHUB_TOKEN, so they're handled by post-test-status.yml workflow_run.
1133+ if : always() && (github.event_name != 'pull_request' || (github.event.pull_request.head.repo.full_name == github.repository && github.actor != 'dependabot[bot]'))
10981134 with :
10991135 name : Test Results Summary
11001136 path : ' test-results/**/*.xml'
0 commit comments