test-isolate #93
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # 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 |