From 9c264fc19af30b3c2cdf2dba6efc53577fdb7e10 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20Tr=C4=85tnowiecki?= Date: Tue, 2 Jun 2026 13:02:49 +0200 Subject: [PATCH 1/5] Run scheduled tests on latest release as well as the main --- .github/workflows/scheduled_tests.yml | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/.github/workflows/scheduled_tests.yml b/.github/workflows/scheduled_tests.yml index adedd6c..3637b8b 100644 --- a/.github/workflows/scheduled_tests.yml +++ b/.github/workflows/scheduled_tests.yml @@ -6,8 +6,8 @@ on: workflow_dispatch: jobs: - test: - name: Tests (latest) + test-main: + name: Tests (main) runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 @@ -19,3 +19,21 @@ jobs: scarb-version: latest - uses: foundry-rs/setup-snfoundry@16e23ddd0e2845f38727c92f4b913a7b728cda9e # v6.0.0 - run: cargo test --release --features allows-excluding-macros + + test-latest-release: + name: Tests (latest release) + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v6 + with: + fetch-depth: 0 + - name: Checkout latest release tag + run: git checkout $(git describe --tags --abbrev=0) + - uses: dtolnay/rust-toolchain@stable + - uses: Swatinem/rust-cache@c19371144df3bb44fab255c43d04cbc2ab54d1c4 # v2.9.1 + - uses: hrishikesh-kadam/setup-lcov@6c1aa0cc9e1c02f9f58f01ac599f1064ccc83470 # v1.1.0 + - uses: software-mansion/setup-scarb@2a96b748888e3329ee44ac9ac073d930e692b3cd # v1.5.1 + with: + scarb-version: latest + - uses: foundry-rs/setup-snfoundry@16e23ddd0e2845f38727c92f4b913a7b728cda9e # v6.0.0 + - run: cargo test --release --features allows-excluding-macros From 126b576836b53bba36771a3f1bef7f531c4a7571 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20Tr=C4=85tnowiecki?= Date: Mon, 8 Jun 2026 23:27:20 +0200 Subject: [PATCH 2/5] Add slack webhook for failure --- .github/workflows/scheduled_tests.yml | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/.github/workflows/scheduled_tests.yml b/.github/workflows/scheduled_tests.yml index 3637b8b..6e458bc 100644 --- a/.github/workflows/scheduled_tests.yml +++ b/.github/workflows/scheduled_tests.yml @@ -6,7 +6,7 @@ on: workflow_dispatch: jobs: - test-main: + test_main: name: Tests (main) runs-on: ubuntu-latest steps: @@ -20,7 +20,7 @@ jobs: - uses: foundry-rs/setup-snfoundry@16e23ddd0e2845f38727c92f4b913a7b728cda9e # v6.0.0 - run: cargo test --release --features allows-excluding-macros - test-latest-release: + test_latest_release: name: Tests (latest release) runs-on: ubuntu-latest steps: @@ -37,3 +37,18 @@ jobs: scarb-version: latest - uses: foundry-rs/setup-snfoundry@16e23ddd0e2845f38727c92f4b913a7b728cda9e # v6.0.0 - run: cargo test --release --features allows-excluding-macros + + notify_failed: + runs-on: ubuntu-latest + if: always() && needs.test_main.result == 'failure' && needs.test_latest_release.result == 'failure' + needs: [test_main, test_latest_release] + steps: + - name: Notifying about check fail! + uses: slackapi/slack-github-action@v3.0.3 + with: + webhook: ${{ secrets.SLACK_SCHEDULED_CHECK_FAILURE_WEBHOOK_URL }} + webhook-type: webhook-trigger + payload: | + { + "url": "${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}" + } From 8ba9d865d139112e1a15fdecfb6723750f9e8ec8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20Tr=C4=85tnowiecki?= Date: Mon, 8 Jun 2026 23:33:15 +0200 Subject: [PATCH 3/5] Fix workflow --- .github/workflows/scheduled_tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scheduled_tests.yml b/.github/workflows/scheduled_tests.yml index 6e458bc..6afc7d9 100644 --- a/.github/workflows/scheduled_tests.yml +++ b/.github/workflows/scheduled_tests.yml @@ -40,7 +40,7 @@ jobs: notify_failed: runs-on: ubuntu-latest - if: always() && needs.test_main.result == 'failure' && needs.test_latest_release.result == 'failure' + if: always() && (needs.test_main.result == 'failure' || needs.test_latest_release.result == 'failure') needs: [test_main, test_latest_release] steps: - name: Notifying about check fail! From 33834952db712a1e94872c14b758c638a1d031ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20Tr=C4=85tnowiecki?= Date: Tue, 9 Jun 2026 10:47:03 +0200 Subject: [PATCH 4/5] Test against latest scarb nightly --- .github/workflows/scheduled_tests.yml | 36 +++++++++++++++++++++++++-- 1 file changed, 34 insertions(+), 2 deletions(-) diff --git a/.github/workflows/scheduled_tests.yml b/.github/workflows/scheduled_tests.yml index 6afc7d9..a1c10e2 100644 --- a/.github/workflows/scheduled_tests.yml +++ b/.github/workflows/scheduled_tests.yml @@ -38,10 +38,42 @@ jobs: - uses: foundry-rs/setup-snfoundry@16e23ddd0e2845f38727c92f4b913a7b728cda9e # v6.0.0 - run: cargo test --release --features allows-excluding-macros + test_main_nightly: + name: Tests (main, Scarb nightly) + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v6 + - uses: dtolnay/rust-toolchain@stable + - uses: Swatinem/rust-cache@c19371144df3bb44fab255c43d04cbc2ab54d1c4 # v2.9.1 + - uses: hrishikesh-kadam/setup-lcov@6c1aa0cc9e1c02f9f58f01ac599f1064ccc83470 # v1.1.0 + - uses: software-mansion/setup-scarb@2a96b748888e3329ee44ac9ac073d930e692b3cd # v1.5.1 + with: + scarb-version: nightly + - uses: foundry-rs/setup-snfoundry@16e23ddd0e2845f38727c92f4b913a7b728cda9e # v6.0.0 + - run: cargo test --release --features allows-excluding-macros + + test_latest_release_nightly: + name: Tests (latest release, Scarb nightly) + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v6 + with: + fetch-depth: 0 + - name: Checkout latest release tag + run: git checkout $(git describe --tags --abbrev=0) + - uses: dtolnay/rust-toolchain@stable + - uses: Swatinem/rust-cache@c19371144df3bb44fab255c43d04cbc2ab54d1c4 # v2.9.1 + - uses: hrishikesh-kadam/setup-lcov@6c1aa0cc9e1c02f9f58f01ac599f1064ccc83470 # v1.1.0 + - uses: software-mansion/setup-scarb@2a96b748888e3329ee44ac9ac073d930e692b3cd # v1.5.1 + with: + scarb-version: nightly + - uses: foundry-rs/setup-snfoundry@16e23ddd0e2845f38727c92f4b913a7b728cda9e # v6.0.0 + - run: cargo test --release --features allows-excluding-macros + notify_failed: runs-on: ubuntu-latest - if: always() && (needs.test_main.result == 'failure' || needs.test_latest_release.result == 'failure') - needs: [test_main, test_latest_release] + if: always() && (needs.test_main.result == 'failure' || needs.test_latest_release.result == 'failure' || needs.test_main_nightly.result == 'failure' || needs.test_latest_release_nightly.result == 'failure') + needs: [test_main, test_latest_release, test_main_nightly, test_latest_release_nightly] steps: - name: Notifying about check fail! uses: slackapi/slack-github-action@v3.0.3 From c7d8b89617065665371f221b50a357852121edcb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20Tr=C4=85tnowiecki?= Date: Tue, 9 Jun 2026 10:54:40 +0200 Subject: [PATCH 5/5] Refactor workflow --- .github/workflows/scheduled_tests.yml | 75 +++++++++------------------ 1 file changed, 24 insertions(+), 51 deletions(-) diff --git a/.github/workflows/scheduled_tests.yml b/.github/workflows/scheduled_tests.yml index a1c10e2..c0c51d6 100644 --- a/.github/workflows/scheduled_tests.yml +++ b/.github/workflows/scheduled_tests.yml @@ -6,74 +6,47 @@ on: workflow_dispatch: jobs: - test_main: - name: Tests (main) + get-latest-release: + name: Get latest release tag runs-on: ubuntu-latest + outputs: + latest-tag: ${{ steps.get-tag.outputs.tag }} steps: - - uses: actions/checkout@v6 - - uses: dtolnay/rust-toolchain@stable - - uses: Swatinem/rust-cache@c19371144df3bb44fab255c43d04cbc2ab54d1c4 # v2.9.1 - - uses: hrishikesh-kadam/setup-lcov@6c1aa0cc9e1c02f9f58f01ac599f1064ccc83470 # v1.1.0 - - uses: software-mansion/setup-scarb@2a96b748888e3329ee44ac9ac073d930e692b3cd # v1.5.1 - with: - scarb-version: latest - - uses: foundry-rs/setup-snfoundry@16e23ddd0e2845f38727c92f4b913a7b728cda9e # v6.0.0 - - run: cargo test --release --features allows-excluding-macros - - test_latest_release: - name: Tests (latest release) - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v6 - with: - fetch-depth: 0 - - name: Checkout latest release tag - run: git checkout $(git describe --tags --abbrev=0) - - uses: dtolnay/rust-toolchain@stable - - uses: Swatinem/rust-cache@c19371144df3bb44fab255c43d04cbc2ab54d1c4 # v2.9.1 - - uses: hrishikesh-kadam/setup-lcov@6c1aa0cc9e1c02f9f58f01ac599f1064ccc83470 # v1.1.0 - - uses: software-mansion/setup-scarb@2a96b748888e3329ee44ac9ac073d930e692b3cd # v1.5.1 - with: - scarb-version: latest - - uses: foundry-rs/setup-snfoundry@16e23ddd0e2845f38727c92f4b913a7b728cda9e # v6.0.0 - - run: cargo test --release --features allows-excluding-macros - - test_main_nightly: - name: Tests (main, Scarb nightly) - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v6 - - uses: dtolnay/rust-toolchain@stable - - uses: Swatinem/rust-cache@c19371144df3bb44fab255c43d04cbc2ab54d1c4 # v2.9.1 - - uses: hrishikesh-kadam/setup-lcov@6c1aa0cc9e1c02f9f58f01ac599f1064ccc83470 # v1.1.0 - - uses: software-mansion/setup-scarb@2a96b748888e3329ee44ac9ac073d930e692b3cd # v1.5.1 - with: - scarb-version: nightly - - uses: foundry-rs/setup-snfoundry@16e23ddd0e2845f38727c92f4b913a7b728cda9e # v6.0.0 - - run: cargo test --release --features allows-excluding-macros + - name: Get latest release tag + id: get-tag + run: | + TAG=$(gh release list --repo ${{ github.repository }} --limit 1 --json tagName -q '.[0].tagName') + echo "tag=$TAG" >> "$GITHUB_OUTPUT" + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - test_latest_release_nightly: - name: Tests (latest release, Scarb nightly) + test: + name: Tests (${{ matrix.ref }}, Scarb ${{ matrix.scarb-version }}) + needs: get-latest-release runs-on: ubuntu-latest + strategy: + matrix: + ref: + - main + - ${{ needs.get-latest-release.outputs.latest-tag }} + scarb-version: [latest, nightly] steps: - uses: actions/checkout@v6 with: - fetch-depth: 0 - - name: Checkout latest release tag - run: git checkout $(git describe --tags --abbrev=0) + ref: ${{ matrix.ref }} - uses: dtolnay/rust-toolchain@stable - uses: Swatinem/rust-cache@c19371144df3bb44fab255c43d04cbc2ab54d1c4 # v2.9.1 - uses: hrishikesh-kadam/setup-lcov@6c1aa0cc9e1c02f9f58f01ac599f1064ccc83470 # v1.1.0 - uses: software-mansion/setup-scarb@2a96b748888e3329ee44ac9ac073d930e692b3cd # v1.5.1 with: - scarb-version: nightly + scarb-version: ${{ matrix.scarb-version }} - uses: foundry-rs/setup-snfoundry@16e23ddd0e2845f38727c92f4b913a7b728cda9e # v6.0.0 - run: cargo test --release --features allows-excluding-macros notify_failed: runs-on: ubuntu-latest - if: always() && (needs.test_main.result == 'failure' || needs.test_latest_release.result == 'failure' || needs.test_main_nightly.result == 'failure' || needs.test_latest_release_nightly.result == 'failure') - needs: [test_main, test_latest_release, test_main_nightly, test_latest_release_nightly] + if: always() && failure() + needs: [test] steps: - name: Notifying about check fail! uses: slackapi/slack-github-action@v3.0.3