Skip to content

test-isolate

test-isolate #93

Workflow file for this run

# Daily CI job to run tests with isolation mode enabled by default
name: test-isolate
permissions: {}
on:
schedule:
- cron: "0 0 * * *" # Run daily at midnight UTC
workflow_dispatch: # Needed so we can run it manually
env:
CARGO_TERM_COLOR: always
RUST_BACKTRACE: full
RUSTC_WRAPPER: "sccache"
jobs:
nextest:
uses: ./.github/workflows/test.yml
permissions:
contents: read
with:
profile: isolate
# Run flaky tests with isolation enabled
flaky:
name: flaky tests (isolate)
runs-on: depot-ubuntu-latest-16
timeout-minutes: 60
permissions:
contents: read
steps:
- uses: actions/checkout@v6
with:
persist-credentials: false
- uses: dtolnay/rust-toolchain@e97e2d8cc328f1b50210efc529dca0028893a2d9 # master
with:
toolchain: stable
- uses: rui314/setup-mold@725a8794d15fc7563f59595bd9556495c0564878 # v1
- uses: taiki-e/install-action@1e67dedb5e3c590e1c9d9272ace46ef689da250d # v2
with:
tool: nextest
- uses: mozilla-actions/sccache-action@7d986dd989559c6ecdb630a3fd2557667be217ad # v0.0.9
- uses: Swatinem/rust-cache@779680da715d629ac1d338a641029a2f4372abb5 # v2
- name: Test flaky tests with isolation
env:
SVM_TARGET_PLATFORM: linux-amd64
HTTP_ARCHIVE_URLS: ${{ secrets.HTTP_ARCHIVE_URLS }}
ETHERSCAN_KEY: ${{ secrets.ETHERSCAN_API_KEY }}
run: cargo nextest run --profile flaky --features=isolate-by-default --no-fail-fast
# If nextest fails, create a high-priority issue for isolation failures.
issue-isolate:
name: Open isolation issue
runs-on: ubuntu-latest
needs: [nextest]
if: failure()
permissions:
contents: read
issues: write
steps:
- uses: actions/checkout@v6
with:
persist-credentials: false
- uses: JasonEtco/create-an-issue@1b14a70e4d8dc185e5cc76d3bec9eab20257b2c5 # v2
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
WORKFLOW_URL: |
${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
with:
update_existing: true
filename: .github/TEST_ISOLATE_FAILURE_TEMPLATE.md
# If flaky tests fail, create a normal-priority issue for flaky failures.
issue-flaky:
name: Open flaky issue
runs-on: ubuntu-latest
needs: [flaky]
if: failure()
permissions:
contents: read
issues: write
steps:
- uses: actions/checkout@v6
with:
persist-credentials: false
- uses: JasonEtco/create-an-issue@1b14a70e4d8dc185e5cc76d3bec9eab20257b2c5 # v2
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
WORKFLOW_URL: |
${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
with:
update_existing: true
filename: .github/FLAKY_TEST_ISOLATE_FAILURE_TEMPLATE.md