[tests] Create compatibility test shell functions and global argument… #1602
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
| name: brimstone | |
| on: | |
| pull_request: | |
| push: | |
| branches: | |
| - master | |
| jobs: | |
| lint: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - uses: Swatinem/rust-cache@82a92a6e8fbeee089604da2575dc567ae9ddeaab # v2.7.5 | |
| - name: Install toolchain components | |
| run: rustup component add rustfmt clippy | |
| - name: Install nightly rustfmt | |
| run: rustup toolchain install nightly-2026-06-02 --profile minimal --component rustfmt | |
| - name: Check formatting | |
| run: cargo +nightly-2026-06-02 fmt -- --check --config group_imports=StdExternalCrate | |
| - name: Run clippy | |
| run: cargo clippy -- -D warnings | |
| cargo-tests: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - uses: Swatinem/rust-cache@82a92a6e8fbeee089604da2575dc567ae9ddeaab # v2.7.5 | |
| - name: Run tests | |
| run: cargo test | |
| # Run all integration tests for implemented features with debug build. | |
| integration-tests-debug: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - uses: Swatinem/rust-cache@82a92a6e8fbeee089604da2575dc567ae9ddeaab # v2.7.5 | |
| - name: Checkout test262 repo | |
| run: ./tests/test262/install_test262.sh | |
| - name: Run integration tests | |
| run: cargo brimstone-test -- --reindex --ignore-unimplemented | |
| # Run all integration tests for implemented features with release build. | |
| integration-tests-release: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - uses: Swatinem/rust-cache@82a92a6e8fbeee089604da2575dc567ae9ddeaab # v2.7.5 | |
| - name: Checkout test262 repo | |
| run: ./tests/test262/install_test262.sh | |
| - name: Run integration tests | |
| run: cargo brimstone-test --release -- --reindex --ignore-unimplemented | |
| # Run all integration tests for implemented features with GC stress test mode on. | |
| integration-tests-gc-stress-test: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - uses: Swatinem/rust-cache@82a92a6e8fbeee089604da2575dc567ae9ddeaab # v2.7.5 | |
| - name: Checkout test262 repo | |
| run: ./tests/test262/install_test262.sh | |
| - name: Run integration tests | |
| run: cargo brimstone-test --release --features gc_stress_test -- --reindex --ignore-unimplemented | |
| # Run all integration tests for implemented features with handle tracking mode on. | |
| integration-tests-handle-tracking: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - uses: Swatinem/rust-cache@82a92a6e8fbeee089604da2575dc567ae9ddeaab # v2.7.5 | |
| - name: Checkout test262 repo | |
| run: ./tests/test262/install_test262.sh | |
| - name: Run integration tests | |
| run: cargo brimstone-test --release --features handle_stats -- --reindex --ignore-unimplemented | |
| integration-tests-panic-on-oom-nightly: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Install nightly toolchain | |
| run: rustup install nightly | |
| - name: Set nightly as default | |
| run: rustup override set nightly | |
| - uses: Swatinem/rust-cache@82a92a6e8fbeee089604da2575dc567ae9ddeaab # v2.7.5 | |
| - name: Checkout test262 repo | |
| run: ./tests/test262/install_test262.sh | |
| - name: Run integration tests on nightly without alloc_error feature enabled | |
| run: cargo brimstone-test --release --no-default-features --features nightly -- --reindex --ignore-unimplemented | |
| build-benchmarks: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - uses: Swatinem/rust-cache@82a92a6e8fbeee089604da2575dc567ae9ddeaab # v2.7.5 | |
| - name: Build benchmarks | |
| run: cargo bench --no-run | |
| build-fuzzer: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - uses: Swatinem/rust-cache@82a92a6e8fbeee089604da2575dc567ae9ddeaab # v2.7.5 | |
| - name: Build fuzzer | |
| run: ./tests/fuzz/build.sh |