Skip to content

test: add attaching a third PP network into the CI #141

test: add attaching a third PP network into the CI

test: add attaching a third PP network into the CI #141

Workflow file for this run

---
# A copy/paste of the cdk node e2e tests with small changes to make in work in the kurtosis-cdk repository.
# https://github.com/0xPolygon/cdk/blob/main/.github/workflows/test-e2e.yml
name: Test
on:
pull_request:
push:
branches: [main]
concurrency:
group: test-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
env:
POLYCLI_VERSION: v0.1.65 # 2024-12-16
CDK_VERSION: v0.5.0-beta10 # 2024-12-10
jobs:
build-cdk-image:
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v4
- name: Checkout cdk repository
uses: actions/checkout@v4
with:
repository: 0xPolygon/cdk
path: cdk
ref: ${{ env.CDK_VERSION }}
- uses: actions/setup-go@v5
with:
go-version: 1.22.x
cache-dependency-path: cdk/go.sum
- name: Build cdk docker image
working-directory: cdk
run: make build-docker
- name: Save cdk image to archive
run: docker save --output /tmp/cdk.tar cdk
- name: Upload archive
uses: actions/upload-artifact@v4
with:
name: cdk
path: /tmp/cdk.tar
cdk-e2e-tests:
runs-on: ubuntu-latest
timeout-minutes: 45
needs: build-cdk-image
strategy:
fail-fast: false
matrix:
e2e-group:
- "fork9-validium"
- "fork11-rollup"
- "fork12-validium"
- "fork12-rollup"
- "fork12-pessimistic"
steps:
- uses: actions/checkout@v4
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
# This step will only execute if the necessary secrets are available, preventing failures
# on pull requests from forked repositories.
if: ${{ env.DOCKERHUB_USERNAME && env.DOCKERHUB_TOKEN }}
env:
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Install Kurtosis CDK tools
uses: ./.github/actions/setup-kurtosis-cdk
- name: Install polycli
run: |
tmp_dir=$(mktemp -d)
curl -L "https://github.com/0xPolygon/polygon-cli/releases/download/${{ env.POLYCLI_VERSION }}/polycli_${{ env.POLYCLI_VERSION }}_linux_amd64.tar.gz" | tar -xz -C "$tmp_dir"
mv "$tmp_dir"/* /usr/local/bin/polycli
rm -rf "$tmp_dir"
sudo chmod +x /usr/local/bin/polycli
/usr/local/bin/polycli version
- name: Checkout cdk repository
uses: actions/checkout@v4
with:
repository: 0xPolygon/cdk
path: cdk
ref: ${{ env.CDK_VERSION }}
- name: Setup bats
uses: bats-core/[email protected]
- name: Download cdk archive
uses: actions/download-artifact@v4
with:
name: cdk
path: /tmp
- name: Load cdk image
run: |
docker load --input /tmp/cdk.tar
docker image ls -a
- name: Run e2e tests
working-directory: cdk/test
run: make test-e2e-${{ matrix.e2e-group }}
# Some of the test environments, the pessimistic envs, require the SP1 private key.
# This check makes sure that such environments will be tested only if the necessary secrets
# are available, preventing failures on pull requests from forked repositories.
if: ${{ !contains(matrix.e2e-group, 'pessimistic') || (contains(matrix.e2e-group, 'pessimistic') && env.agglayer_prover_sp1_key) }}
env:
KURTOSIS_FOLDER: ${{ github.workspace }}
BATS_LIB_PATH: /usr/lib/
agglayer_prover_sp1_key: ${{ secrets.SP1_PRIVATE_KEY }}
- name: Dump enclave
if: failure()
run: kurtosis enclave dump cdk ./dump
- name: Generate archive name
if: failure()
run: |
archive_name="dump_cdk_e2e_test_${{matrix.e2e-group}}_${{ github.run_id }}"
echo "ARCHIVE_NAME=${archive_name}" >> "$GITHUB_ENV"
echo "Generated archive name: ${archive_name}"
- name: Upload logs
if: failure()
uses: actions/upload-artifact@v4
with:
name: ${{ env.ARCHIVE_NAME }}
path: ./dump