@@ -14,9 +14,56 @@ concurrency:
1414 cancel-in-progress : ${{ github.ref != 'refs/heads/main' }}
1515
1616jobs :
17- coprocessor-docker-build :
17+ resolve-baseline :
18+ name : resolve-baseline
1819 if : &build-trigger-condition |
1920 startsWith(github.head_ref, 'mergify/merge-queue/') || startsWith(github.base_ref, 'release/') || contains(github.event.pull_request.labels.*.name, 'e2e orchestrate test')
21+ runs-on : ubuntu-latest
22+ permissions :
23+ contents : ' read' # Required to checkout repository code
24+ packages : ' read' # Required to read GitHub package metadata during base-sha resolution
25+ env :
26+ BASE_SHA : ${{ github.event.pull_request.base.sha }}
27+ GH_TOKEN : ${{ github.token }}
28+ outputs :
29+ lock-artifact-name : ${{ steps.resolve-baseline.outputs.lock-artifact-name }}
30+ steps :
31+ - name : Checkout code
32+ uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
33+ with :
34+ persist-credentials : ' false'
35+ fetch-depth : 0
36+
37+ - name : Setup Bun
38+ uses : oven-sh/setup-bun@ecf28ddc73e819eb6fa29df6b34ef8921c743461 # v2.1.3
39+
40+ - name : Install GitHub CLI
41+ run : |
42+ sudo apt-get update
43+ sudo apt-get install -y gh
44+
45+ - name : Install CLI deps
46+ working-directory : test-suite/fhevm
47+ run : bun install --frozen-lockfile
48+
49+ - id : resolve-baseline
50+ name : Resolve base-sha baseline lock
51+ working-directory : test-suite/fhevm
52+ run : |
53+ set -euo pipefail
54+ lock_path="$(./fhevm-cli resolve --target sha --sha "$BASE_SHA" --reset | tail -n 1)"
55+ artifact_name="fhevm-base-lock-${GITHUB_RUN_ID}-${GITHUB_RUN_ATTEMPT}"
56+ echo "lock-path=$lock_path" >> "$GITHUB_OUTPUT"
57+ echo "lock-artifact-name=$artifact_name" >> "$GITHUB_OUTPUT"
58+
59+ - name : Upload baseline lock
60+ uses : actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
61+ with :
62+ name : ${{ steps.resolve-baseline.outputs.lock-artifact-name }}
63+ path : ${{ steps.resolve-baseline.outputs.lock-path }}
64+
65+ coprocessor-docker-build :
66+ if : *build-trigger-condition
2067 uses : ./.github/workflows/coprocessor-docker-build.yml
2168 permissions : &docker_permissions
2269 actions : ' read' # Required to read workflow run information
61108 create-e2e-tests-input :
62109 name : create-e2e-tests-input
63110 needs :
111+ - resolve-baseline
64112 - coprocessor-docker-build
65113 - gateway-contracts-docker-build
66114 - host-contracts-docker-build
91139 gateway-version : ${{ steps.create-e2e-tests-input.outputs.gateway-version }}
92140 host-version : ${{ steps.create-e2e-tests-input.outputs.host-version }}
93141 kms-core-version : ${{ steps.create-e2e-tests-input.outputs.kms-core-version }}
142+ lock-artifact-name : ${{ needs.resolve-baseline.outputs.lock-artifact-name }}
94143 relayer-migrate-version : ${{ steps.create-e2e-tests-input.outputs.relayer-migrate-version }}
95144 relayer-version : ${{ steps.create-e2e-tests-input.outputs.relayer-version }}
96145 test-suite-version : ${{ steps.create-e2e-tests-input.outputs.test-suite-version }}
@@ -215,6 +264,7 @@ jobs:
215264 gateway-version : ${{ needs.create-e2e-tests-input.outputs.gateway-version }}
216265 host-version : ${{ needs.create-e2e-tests-input.outputs.host-version }}
217266 kms-core-version : ${{ needs.create-e2e-tests-input.outputs.kms-core-version }}
267+ lock-artifact-name : ${{ needs.create-e2e-tests-input.outputs.lock-artifact-name }}
218268 relayer-migrate-version : ${{ needs.create-e2e-tests-input.outputs.relayer-migrate-version }}
219269 relayer-version : ${{ needs.create-e2e-tests-input.outputs.relayer-version }}
220270 scenario : ${{ startsWith(github.base_ref, 'release/') && 'two-of-two' || 'two-of-two-multi-chain' }}
0 commit comments