Skip to content

Commit a179dee

Browse files
authored
fix: Copy proof manager contracts to server dockerfile (#4385)
## What ❔ Copy proof-manager-contracts build artifacts to server's Dockerfile ## Why ❔ They are needed for EthProofManager component ## Is this a breaking change? - [ ] Yes - [x] No ## Operational changes <!-- Any config changes? Any new flags? Any changes to any scripts? --> <!-- Please add anything that non-Matter Labs entities running their own ZK Chain may need to know --> ## Checklist <!-- Check your PR fulfills the following items. --> <!-- For draft PRs check the boxes as you complete them. --> - [ ] PR title corresponds to the body of PR (we generate changelog entries from PRs). - [ ] Tests for the changes have been added / updated. - [ ] Documentation comments have been added / updated. - [ ] Code has been formatted via `zkstack dev fmt` and `zkstack dev lint`.
1 parent 20bc4a8 commit a179dee

File tree

5 files changed

+85
-8
lines changed

5 files changed

+85
-8
lines changed

.dockerignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ keys/setup
2222
!core/Cargo.lock
2323
!core/Cargo.toml
2424
!contracts/
25+
!proof-manager-contracts/
2526
!setup_2\^26.key
2627
!setup_2\^24.key
2728
!setup_compact.key

.github/workflows/build-core-template.yml

Lines changed: 78 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,9 +149,72 @@ jobs:
149149
path: |
150150
./contracts
151151
152+
prepare-proof-manager-contracts:
153+
name: Prepare proof manager contracts
154+
runs-on: matterlabs-ci-runner-high-performance
155+
steps:
156+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
157+
with:
158+
submodules: "recursive"
159+
160+
- name: Prepare ENV
161+
shell: bash
162+
run: |
163+
echo ZKSYNC_HOME=$(pwd) >> $GITHUB_ENV
164+
echo CI=1 >> $GITHUB_ENV
165+
echo $(pwd)/bin >> $GITHUB_PATH
166+
echo $HOME/.local/bin >> $GITHUB_PATH
167+
echo CI=1 >> .env
168+
echo IN_DOCKER=1 >> .env
169+
170+
- name: Clone & checkout proof manager contracts
171+
working-directory: ./proof-manager-contracts
172+
shell: bash
173+
run: |
174+
# for now these contracts will be pinned to specific commit
175+
git checkout cc7a521
176+
git submodule update --init --recursive
177+
178+
- name: Install foundry-zksync
179+
run: |
180+
mkdir ./foundry-zksync
181+
# downloading newer version of foundry-zksync since the latest nightly is not working
182+
curl -LO https://github.com/matter-labs/foundry-zksync/releases/download/foundry-zksync-v0.0.24/foundry_zksync_v0.0.24_linux_amd64.tar.gz
183+
tar zxf foundry_zksync_v0.0.24_linux_amd64.tar.gz -C ./foundry-zksync
184+
chmod +x ./foundry-zksync/forge
185+
echo "$PWD/foundry-zksync" >> $GITHUB_PATH
186+
187+
- name: Build proof manager contracts(with zksync)
188+
working-directory: ./proof-manager-contracts
189+
shell: bash
190+
run: |
191+
forge --version
192+
forge build --zksync
193+
194+
- name: Upload contracts(with zksync)
195+
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
196+
with:
197+
name: proof-manager-contracts-zkout
198+
path: |
199+
./proof-manager-contracts/zkout
200+
201+
- name: Build proof manager contracts
202+
working-directory: ./proof-manager-contracts
203+
shell: bash
204+
run: |
205+
forge --version
206+
forge build
207+
208+
- name: Upload contracts
209+
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
210+
with:
211+
name: proof-manager-contracts-out
212+
path: |
213+
./proof-manager-contracts/out
214+
152215
build-images:
153216
name: Build and Push Docker Images
154-
needs: prepare-contracts
217+
needs: [prepare-contracts, prepare-proof-manager-contracts]
155218
env:
156219
IMAGE_TAG_SUFFIX: ${{ inputs.image_tag_suffix }}${{ (inputs.en_alpha_release && matrix.components == 'external-node') && '-alpha' || '' }}
157220
runs-on: ${{ fromJSON('["matterlabs-ci-runner-high-performance", "matterlabs-ci-runner-arm"]')[contains(matrix.platforms, 'arm')] }}
@@ -213,6 +276,20 @@ jobs:
213276
path: |
214277
./contracts
215278
279+
- name: Download proof manager contracts output(zkout)
280+
uses: actions/download-artifact@95815c38cf2ff2164869cbab79da8d1f422bc89e # v4.2.1
281+
with:
282+
name: proof-manager-contracts-zkout
283+
path: |
284+
./proof-manager-contracts/zkout
285+
286+
- name: Download proof manager contracts output(out)
287+
uses: actions/download-artifact@95815c38cf2ff2164869cbab79da8d1f422bc89e # v4.2.1
288+
with:
289+
name: proof-manager-contracts-out
290+
path: |
291+
./proof-manager-contracts/out
292+
216293
- name: login to Docker registries
217294
if: ${{ inputs.action == 'push' }}
218295
shell: bash

core/Cargo.lock

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docker/server-v2/Dockerfile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@ COPY contracts/system-contracts/zkout/ /contracts/system-contracts/zkout/
3535
COPY contracts/l1-contracts/out/ /contracts/l1-contracts/out/
3636
COPY contracts/l1-contracts/zkout/ /contracts/l1-contracts/zkout/
3737
COPY contracts/l2-contracts/zkout/ /contracts/l2-contracts/zkout/
38+
COPY proof-manager-contracts/out/ /proof-manager-contracts/out/
39+
COPY proof-manager-contracts/zkout/ /proof-manager-contracts/zkout/
3840
COPY etc/tokens/ /etc/tokens/
3941
COPY etc/ERC20/ /etc/ERC20/
4042
COPY etc/multivm_bootloaders/ /etc/multivm_bootloaders/

prover/Cargo.lock

Lines changed: 2 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)