@@ -14,9 +14,54 @@ concurrency:
1414 cancel-in-progress : ${{ github.ref != 'refs/heads/main' }}
1515
1616jobs :
17- coprocessor-docker-build :
17+ resolve-baseline :
1818 if : &build-trigger-condition |
1919 startsWith(github.head_ref, 'mergify/merge-queue/') || startsWith(github.base_ref, 'release/') || contains(github.event.pull_request.labels.*.name, 'e2e orchestrate test')
20+ runs-on : ubuntu-latest
21+ permissions :
22+ contents : ' read'
23+ packages : ' read'
24+ env :
25+ GH_TOKEN : ${{ secrets.GHCR_READ_TOKEN || github.token }}
26+ outputs :
27+ lock-artifact-name : ${{ steps.resolve-baseline.outputs.lock-artifact-name }}
28+ steps :
29+ - name : Checkout code
30+ uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
31+ with :
32+ persist-credentials : ' false'
33+ fetch-depth : 0
34+
35+ - name : Setup Bun
36+ uses : oven-sh/setup-bun@ecf28ddc73e819eb6fa29df6b34ef8921c743461 # v2.1.3
37+
38+ - name : Install GitHub CLI
39+ run : |
40+ sudo apt-get update
41+ sudo apt-get install -y gh
42+
43+ - name : Install CLI deps
44+ working-directory : test-suite/fhevm
45+ run : bun install --frozen-lockfile
46+
47+ - id : resolve-baseline
48+ name : Resolve latest-main baseline lock
49+ working-directory : test-suite/fhevm
50+ run : |
51+ set -euo pipefail
52+ lock_path="$(bun --eval 'const original = console.log; console.log = () => {}; const { resolveBundle } = await import("./src/resolve/bundle-store"); const { lockPath } = await resolveBundle({ target: "latest-main", requestedTarget: "latest-main", reset: true }, process.env); original(lockPath);')"
53+ artifact_name="fhevm-latest-main-lock-${GITHUB_RUN_ID}-${GITHUB_RUN_ATTEMPT}"
54+ echo "lock-path=$lock_path" >> "$GITHUB_OUTPUT"
55+ echo "lock-artifact-name=$artifact_name" >> "$GITHUB_OUTPUT"
56+
57+ - name : Upload baseline lock
58+ uses : actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
59+ with :
60+ name : ${{ steps.resolve-baseline.outputs.lock-artifact-name }}
61+ path : ${{ steps.resolve-baseline.outputs.lock-path }}
62+
63+ coprocessor-docker-build :
64+ if : *build-trigger-condition
2065 uses : ./.github/workflows/coprocessor-docker-build.yml
2166 permissions : &docker_permissions
2267 actions : ' read' # Required to read workflow run information
4792 uses : ./.github/workflows/kms-connector-docker-build.yml
4893 permissions : *docker_permissions
4994 secrets : *docker_secrets
95+ relayer-docker-build :
96+ if : *build-trigger-condition
97+ uses : ./.github/workflows/relayer-docker-build.yml
98+ permissions : *docker_permissions
99+ secrets : *docker_secrets
50100 test-suite-docker-build :
51101 if : *build-trigger-condition
52102 uses : ./.github/workflows/test-suite-docker-build.yml
@@ -56,10 +106,12 @@ jobs:
56106 create-e2e-tests-input :
57107 name : create-e2e-tests-input
58108 needs :
109+ - resolve-baseline
59110 - coprocessor-docker-build
60111 - gateway-contracts-docker-build
61112 - host-contracts-docker-build
62113 - kms-connector-docker-build
114+ - relayer-docker-build
63115 - test-suite-docker-build
64116 if : *build-trigger-condition
65117 env :
80132 connector-tx-sender-version : ${{ steps.create-e2e-tests-input.outputs.connector-tx-sender-version }}
81133 gateway-version : ${{ steps.create-e2e-tests-input.outputs.gateway-version }}
82134 host-version : ${{ steps.create-e2e-tests-input.outputs.host-version }}
135+ lock-artifact-name : ${{ needs.resolve-baseline.outputs.lock-artifact-name }}
136+ relayer-migrate-version : ${{ steps.create-e2e-tests-input.outputs.relayer-migrate-version }}
137+ relayer-version : ${{ steps.create-e2e-tests-input.outputs.relayer-version }}
83138 test-suite-version : ${{ steps.create-e2e-tests-input.outputs.test-suite-version }}
84139 steps :
85140 - id : create-e2e-tests-input
@@ -103,6 +158,8 @@ jobs:
103158 connector-tx-sender-version
104159 gateway-version
105160 host-version
161+ relayer-migrate-version
162+ relayer-version
106163 test-suite-version
107164 )
108165 for key in "${outputs[@]}"; do
@@ -136,6 +193,8 @@ jobs:
136193 kms-connector-docker-build|tx_sender_build_result|connector-tx-sender-version
137194 gateway-contracts-docker-build|build_result|gateway-version
138195 host-contracts-docker-build|build_result|host-version
196+ relayer-docker-build|relayer_migrate_build_result|relayer-migrate-version
197+ relayer-docker-build|relayer_build_result|relayer-version
139198 test-suite-docker-build|build_result|test-suite-version
140199 EOF
141200
@@ -174,5 +233,7 @@ jobs:
174233 gateway-version : ${{ needs.create-e2e-tests-input.outputs.gateway-version }}
175234 host-version : ${{ needs.create-e2e-tests-input.outputs.host-version }}
176235 kms-core-version : " "
177- relayer-version : " "
236+ lock-artifact-name : ${{ needs.create-e2e-tests-input.outputs.lock-artifact-name }}
237+ relayer-migrate-version : ${{ needs.create-e2e-tests-input.outputs.relayer-migrate-version }}
238+ relayer-version : ${{ needs.create-e2e-tests-input.outputs.relayer-version }}
178239 test-suite-version : ${{ needs.create-e2e-tests-input.outputs.test-suite-version }}
0 commit comments