Skip to content

Commit

Permalink
ci: re-enable cdk e2e tests (#400)
Browse files Browse the repository at this point in the history
* ci: enable cdk tests

* fix: e2e tests

* fix: issue with tests

* ci: fix

* ci: update workflow triggers and add timeout

* fix: typo

* test with full sha

* ci: fix

* ci: fix dir

* ci: fix

* ci: update go cache

* chore: nit

* ci: increase test timeouts

* fix: run pessimistic tests only if the SP1 private key is available

* docs: nit

* test

* ci: fix

* ci: simplify workflow

* ci: fix

* fix: dir

* fix: go cache

* test: run cdk e2e tests in without-args repo

* Revert "test: run cdk e2e tests in without-args repo"

This reverts commit 7f5244a.

* chore: nit

* fix: attempt
  • Loading branch information
leovct authored Nov 29, 2024
1 parent 473422d commit 73d4095
Show file tree
Hide file tree
Showing 2 changed files with 140 additions and 101 deletions.
101 changes: 0 additions & 101 deletions .github/workflows/cdk-e2e.yml

This file was deleted.

140 changes: 140 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,140 @@
---
# 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.64
CDK_VERSION: a6422912423e05f8b1494a3959de000e992499f9 # https://github.com/0xPolygon/cdk/commit/a6422912423e05f8

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

0 comments on commit 73d4095

Please sign in to comment.