Skip to content

[tests] Create compatibility test shell functions and global argument… #1602

[tests] Create compatibility test shell functions and global argument…

[tests] Create compatibility test shell functions and global argument… #1602

Workflow file for this run

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