chore: release #69
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: ci-run | |
| on: | |
| pull_request: | |
| push: | |
| branches: [main] | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: check-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| general-checks: | |
| name: general-checks 🧹 | |
| runs-on: matterlabs-ci-runner-high-performance | |
| defaults: | |
| run: | |
| working-directory: ./proof_verifier_js/ts | |
| steps: | |
| - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 | |
| - name: Install Rust toolchain | |
| uses: moonrepo/setup-rust@ede6de059f8046a5e236c94046823e2af11ca670 # v1.2.2 | |
| with: | |
| inherit-toolchain: true | |
| - uses: taiki-e/install-action@3522286d40783523f9c7880e33f785905b4c20d0 # v2.66.1 | |
| with: | |
| tool: wasm-pack | |
| - name: Setup Node.js | |
| uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0 | |
| with: | |
| node-version: '22' | |
| - uses: mskelton/setup-yarn@8d0bc12bc7f72a9acfc32019da0381dfcb481df0 # v3.0.0 | |
| - name: Install deps | |
| run: yarn install | |
| - name: Build | |
| run: yarn build | |
| license-check: | |
| name: license-check 📜 | |
| runs-on: ubuntu-latest | |
| defaults: | |
| run: | |
| working-directory: ./proof_verifier_js/ts | |
| steps: | |
| - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0 | |
| with: | |
| node-version: '22' | |
| - name: Install license-checker | |
| run: npm install -g license-checker | |
| - name: Run license checker | |
| run: | | |
| license-checker --production \ | |
| --onlyAllow "MIT;Apache-2.0" \ | |
| --summary | |
| ethereum-prover-checks: | |
| name: ethereum-prover checks 🧪 | |
| runs-on: matterlabs-ci-runner-high-performance | |
| env: | |
| ZKSYNC_USE_CUDA_STUBS: true | |
| steps: | |
| - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 | |
| - name: Setup runner | |
| uses: ./.github/actions/runner-setup | |
| - name: Rustfmt | |
| run: cargo fmt -p ethereum_prover -- --check | |
| # TODO: For some reason, it takes forever to run. | |
| # - name: Clippy | |
| # run: cargo clippy -p ethereum_prover --no-deps -- -D warnings | |
| - name: Tests (nextest) | |
| run: RUST_MIN_STACK=267108864 cargo nextest run -p ethereum_prover --release | |
| # TODO: GPU prover fails to compile for some reason, to be fixed later. | |
| # #################################### | |
| # # Build prover integration tests # | |
| # #################################### | |
| # build-prover-tests: | |
| # runs-on: matterlabs-ci-runner-ultra-performance | |
| # container: | |
| # image: nvidia/cuda:12.9.1-devel-ubuntu22.04 | |
| # steps: | |
| # - name: Checkout code | |
| # uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
| # - name: Setup runner | |
| # uses: ./.github/actions/runner-setup | |
| # - name: Check CUDA version | |
| # run: | | |
| # nvcc --version | |
| # - name: Checkout era-bellman-cuda | |
| # uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
| # with: | |
| # repository: matter-labs/era-bellman-cuda | |
| # ref: main | |
| # path: bellman-cuda | |
| # fetch-depth: '1' | |
| # - name: Cache bellman-cuda | |
| # id: bellman-cuda-cache | |
| # uses: actions/cache@v4 | |
| # with: | |
| # path: 'bellman-cuda/build' | |
| # key: bellman-cuda-${{ hashFiles('bellman-cuda/**') }} | |
| # - name: Build bellman-cuda | |
| # shell: 'bash -ex {0}' | |
| # if: steps.bellman-cuda-cache.outputs.cache-hit != 'true' | |
| # run: | | |
| # cmake -Bbellman-cuda/build -Sbellman-cuda/ -DCMAKE_BUILD_TYPE=Release | |
| # cmake --build bellman-cuda/build/ | |
| # # Build and archive tests to execute on another machine. | |
| # # Use `cargo nextest archive` to make sure that all dependencies are included properly. | |
| # - name: Build and archive test | |
| # env: | |
| # # This is a special mandatory hack to transfer test binary from one machine to another. | |
| # # We must use a dummy `./` path addition in the workspace path /home/runner/_work | |
| # # to prevent GitHub Actions to replace it to the mapped `/__w` folder in the docker container. | |
| # # This is required to make sure that the paths to workspace artifacts like zkos-l1-state.json | |
| # # are correct inside prebuilt binary. | |
| # # This variable overwrites the default relative `./` in the .cargo/config.toml. | |
| # WORKSPACE_DIR: "/opt/./actions-runner/_work/zksync-os-server/zksync-os-server" | |
| # BELLMAN_CUDA_DIR: ${{ github.workspace }}/bellman-cuda | |
| # run: | | |
| # RUST_MIN_STACK=267108864 cargo nextest archive --release -p ethereum_prover \ | |
| # --test integration --archive-file ${PROVER_GPU_TESTS}.tar.zst | |
| # - name: Upload tests | |
| # uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f3 # v6.0.0 | |
| # with: | |
| # name: ${{ env.PROVER_GPU_TESTS }} | |
| # path: ${{ env.PROVER_GPU_TESTS }}.tar.zst | |
| # if-no-files-found: error | |
| # retention-days: 1 # delete sooner to not waste storage | |
| # ################################################# | |
| # # Run prover integration tests on GPU machine # | |
| # ################################################# | |
| # ethereum-prover-gpu-tests: | |
| # runs-on: [matterlabs-ci-gpu-runner, hetzner] | |
| # needs: build-prover-tests | |
| # steps: | |
| # - name: Checkout code | |
| # uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
| # with: | |
| # submodules: true | |
| # - name: Setup runner | |
| # uses: ./.github/actions/runner-setup | |
| # - name: Check Nvidia driver version | |
| # run: | | |
| # echo $WORKSPACE | |
| # pwd | |
| # nvidia-smi | |
| # - name: Download prebuilt tests | |
| # uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0 | |
| # with: | |
| # name: ${{ env.PROVER_GPU_TESTS }} | |
| # - name: Download CRS setup file | |
| # if: steps.cache-crs.outputs.cache-hit != 'true' | |
| # env: | |
| # # Download CRS file from EU storage for GPU runner | |
| # CRS_FILE_URL: https://storage.googleapis.com/matterlabs-setup-keys-europe/setup-keys/setup_compact.key | |
| # run: wget -q --show-progress "${CRS_FILE_URL}" | |
| # # --workspace-remap is mandatory (!) | |
| # # Otherwise, the prebuilt binary will not be able to find its dependencies and fails to execute | |
| # - name: Run prover tests on GPU | |
| # env: | |
| # COMPACT_CRS_FILE: ${{ github.workspace }}/setup_compact.key | |
| # RUST_MIN_STACK: 267108864 | |
| # run: | | |
| # ulimit -s 300000 | |
| # RUN_GPU_TESTS=1 cargo nextest run -p ethereum_prover --test integration | |
| # Special job that allows some of the jobs to be skipped or failed | |
| # requiring others to be successful | |
| pr-checks: | |
| runs-on: ubuntu-latest | |
| if: always() | |
| needs: | |
| - general-checks | |
| - ethereum-prover-checks | |
| # TODO: fix GPU prover tests | |
| # - ethereum-prover-gpu-tests | |
| steps: | |
| - name: Decide on PR checks | |
| uses: re-actors/alls-green@05ac9388f0aebcb5727afa17fcccfecd6f8ec5fe # v1.2.2 | |
| with: | |
| jobs: ${{ toJSON(needs) }} |