This repository was archived by the owner on Jul 30, 2025. It is now read-only.
Nightly E2E tests run on testnet #202
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: Nightly E2E tests run on testnet | |
| on: | |
| schedule: | |
| - cron: "00 23 * * *" | |
| workflow_dispatch: | |
| concurrency: | |
| group: "${{ github.ref }}-${{ github.workflow }}" | |
| cancel-in-progress: true | |
| jobs: | |
| e2e-tests: | |
| name: Run E2E tests on testnet | |
| runs-on: ubuntu-22.04 | |
| timeout-minutes: 60 | |
| env: | |
| RUSTC_WRAPPER: sccache | |
| CACHE_VERSION: 1 | |
| steps: | |
| - name: Checkout source code | |
| uses: actions/checkout@v4 | |
| - name: Restore rust cache | |
| uses: actions/cache@v4 | |
| with: | |
| key: "${{ runner.os }}\ | |
| -rust\ | |
| -${{ env.CACHE_VERSION }}\ | |
| -build\ | |
| -${{ hashFiles('**/Cargo.toml') }}" | |
| path: | | |
| ~/.cargo/bin/ | |
| ~/.cargo/registry/index/ | |
| ~/.cargo/registry/cache/ | |
| ~/.cargo/git/db/ | |
| ~/.cache/sccache/ | |
| ~/.rustup/ | |
| target/ | |
| restore-keys: | | |
| ${{ runner.os }}-rust-${{ env.CACHE_VERSION }}-build- | |
| ${{ runner.os }}-rust-${{ env.CACHE_VERSION }} | |
| - name: Prepare Rust env | |
| uses: ./.github/actions/prepare-rust-env | |
| - name: Prepare Solidity environment | |
| uses: ./.github/actions/prepare-sol-env | |
| - name: Generate Solidity contracts | |
| run: make generate-verifier-contracts && make generate-poseidon-contracts | |
| - name: Compile eth contracts | |
| shell: bash | |
| run: make compile-contracts | |
| - name: Run e2e tooling tests | |
| env: | |
| DEPLOYER_PRIVATE_KEY: ${{ secrets.CI_TESTNET_DEPLOYER_PRIVATE_KEY }} | |
| ALICE_PUBLIC_KEY: ${{ vars.CI_TESTNET_ALICE_PUBLIC_KEY }} | |
| ALICE_PRIVATE_KEY: ${{ secrets.CI_TESTNET_ALICE_PRIVATE_KEY }} | |
| BOB_PUBLIC_KEY: ${{ vars.CI_TESTNET_BOB_PUBLIC_KEY }} | |
| BOB_PRIVATE_KEY: ${{ secrets.CI_TESTNET_BOB_PRIVATE_KEY }} | |
| CHARLIE_PUBLIC_KEY: ${{ vars.CI_TESTNET_CHARLIE_PUBLIC_KEY }} | |
| CHARLIE_PRIVATE_KEY: ${{ secrets.CI_TESTNET_CHARLIE_PRIVATE_KEY }} | |
| TS_SDK_PUBLIC_KEY: ${{ vars.CI_TESTNET_TS_SDK_PUBLIC_KEY }} | |
| TS_SDK_PRIVATE_KEY: ${{ secrets.CI_TESTNET_TS_SDK_PRIVATE_KEY }} | |
| FEE_DESTINATION: ${{ vars.CI_TESTNET_FEE_DESTINATION }} | |
| FEE_DESTINATION_KEY: ${{ secrets.CI_TESTNET_FEE_DESTINATION_KEY }} | |
| RELAYER_SIGNER_ADDRESSES: ${{ vars.CI_TESTNET_RELAYER_SIGNER_ADDRESSES }} | |
| RELAYER_SIGNING_KEYS: ${{ secrets.CI_TESTNET_RELAYER_SIGNING_KEYS }} | |
| run: | | |
| NO_FORMATTING=true TESTNET=true ./tooling-e2e-tests/full_scenario.sh | |
| NO_FORMATTING=true TESTNET=true ./tooling-e2e-tests/recovery_scenario.sh | |
| NO_FORMATTING=true TESTNET=true ./tooling-e2e-tests/many_actors.sh | |
| slack-notification: | |
| name: Slack notification | |
| runs-on: ubuntu-22.04 | |
| needs: [e2e-tests] | |
| if: > | |
| !cancelled() && | |
| github.event_name != 'workflow_dispatch' | |
| steps: | |
| - name: Send Slack message | |
| uses: Cardinal-Cryptography/github-actions/slack-notification@v7 | |
| with: | |
| notify-on: "failure" | |
| env: | |
| SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_ZKOS }} |