heavy integration #45
This file contains 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
name: heavy integration | |
on: | |
schedule: | |
# Runs at 10PM utc | |
- cron: "0 22 * * *" | |
workflow_dispatch: | |
env: | |
CARGO_TERM_COLOR: always | |
jobs: | |
heavy-integration: | |
name: heavy (long-running) integration tests | |
runs-on: ubuntu-latest | |
timeout-minutes: 120 | |
env: | |
ETH_RPC_URL: https://eth-mainnet.alchemyapi.io/v2/C3JEvfW6VgtqZQa-Qp1E-2srEiIc02sD | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@stable | |
- uses: taiki-e/install-action@nextest | |
- uses: Swatinem/rust-cache@v2 | |
with: | |
cache-on-failure: true | |
- name: Forge RPC cache | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/.foundry/cache | |
~/.config/.foundry/cache | |
key: rpc-cache-${{ hashFiles('crates/forge/tests/rpc-cache-keyfile') }} | |
- name: Setup git config | |
run: | | |
git config --global user.name "GitHub Actions Bot" | |
git config --global user.email "<>" | |
- name: Force use of HTTPS for submodules | |
run: git config --global url."https://github.com/".insteadOf "[email protected]:" | |
- name: test | |
run: | | |
cargo nextest run --profile heavy -p forge \ | |
--test cli --features heavy-integration-tests -E "test(~heavy_integration)" | |
# If any of the jobs fail, this will create a high-priority issue to signal so. | |
issue: | |
name: Open an issue | |
runs-on: ubuntu-latest | |
needs: heavy-integration | |
if: ${{ failure() }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: JasonEtco/create-an-issue@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/INTEGRATION_FAILURE.md |