diff --git a/.github/workflows/forester-tests.yml b/.github/workflows/forester-tests.yml index ff6e2ce80..63ae8abe1 100644 --- a/.github/workflows/forester-tests.yml +++ b/.github/workflows/forester-tests.yml @@ -2,26 +2,16 @@ name: forester-tests on: push: - branches: - - main - paths: + branches: [main] + paths: &paths - "forester/**" - "forester-utils/**" - "photon-api/**" - ".github/workflows/forester-tests.yml" pull_request: - branches: - - "**" - paths: - - "forester/**" - - "forester-utils/**" - - "photon-api/**" - - ".github/workflows/forester-tests.yml" - types: - - opened - - synchronize - - reopened - - ready_for_review + branches: ["**"] + paths: *paths + types: [opened, synchronize, reopened, ready_for_review] concurrency: group: ${{ github.workflow }}-${{ github.ref }} @@ -31,35 +21,18 @@ env: RUSTFLAGS: "--cfg tokio_unstable -D warnings" jobs: - test-address-batched: - runs-on: ubuntu-latest - timeout-minutes: 60 - steps: - - uses: actions/checkout@v4 - - name: Setup and build - uses: ./.github/actions/setup-and-build - - name: Clean build artifacts before tests - shell: bash - run: | - cargo clean - rm -rf target/debug/deps/* - - name: Check available disk space - shell: bash - run: | - df -h / - du -sh /home/runner/work/* | sort -hr | head -n 10 - - name: Build test program - run: | - source ./scripts/devenv.sh - cargo test-sbf -p create-address-test-program - - name: Run address batched tests - run: | - source ./scripts/devenv.sh - cargo test --package forester test_address_batched -- --nocapture - - test-state-batched: + test: + strategy: + matrix: + test-name: [ + {name: "address-batched", command: "test_address_batched", timeout: 60, needs-test-program: true}, + {name: "state-batched", command: "test_state_batched", timeout: 60, needs-test-program: false}, + {name: "2-foresters", command: "test_epoch_monitor_with_2_foresters", timeout: 60, needs-test-program: false}, + {name: "double-registration", command: "test_epoch_double_registration", timeout: 30, needs-test-program: false} + ] + name: test-${{ matrix.test-name.name }} runs-on: ubuntu-latest - timeout-minutes: 60 + timeout-minutes: ${{ matrix.test-name.timeout }} steps: - uses: actions/checkout@v4 - name: Setup and build @@ -74,51 +47,16 @@ jobs: run: | df -h / du -sh /home/runner/work/* | sort -hr | head -n 10 - - name: Run state batched tests + - name: Build Light CLI run: | source ./scripts/devenv.sh - cargo test --package forester test_state_batched -- --nocapture - - test-2-foresters: - runs-on: ubuntu-latest - timeout-minutes: 60 - steps: - - uses: actions/checkout@v4 - - name: Setup and build - uses: ./.github/actions/setup-and-build - - name: Clean build artifacts before tests - shell: bash - run: | - cargo clean - rm -rf target/debug/deps/* - - name: Check available disk space - shell: bash - run: | - df -h / - du -sh /home/runner/work/* | sort -hr | head -n 10 - - name: Run 2 foresters test + npx nx build @lightprotocol/zk-compression-cli + - name: Build test program + if: ${{ matrix.test-name.needs-test-program }} run: | source ./scripts/devenv.sh - cargo test --package forester test_epoch_monitor_with_2_foresters -- --nocapture - - test-double-registration: - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - uses: actions/checkout@v4 - - name: Setup and build - uses: ./.github/actions/setup-and-build - - name: Clean build artifacts before tests - shell: bash - run: | - cargo clean - rm -rf target/debug/deps/* - - name: Check available disk space - shell: bash - run: | - df -h / - du -sh /home/runner/work/* | sort -hr | head -n 10 - - name: Run epoch double registration test + cargo test-sbf -p create-address-test-program + - name: Run ${{ matrix.test-name.name }} tests run: | source ./scripts/devenv.sh - cargo test --package forester test_epoch_double_registration -- --nocapture \ No newline at end of file + cargo test --package forester ${{ matrix.test-name.command }} -- --nocapture \ No newline at end of file