Implement Promise Race #3146
Workflow file for this run
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: CI | |
| on: | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| branches: | |
| - main | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }} | |
| cancel-in-progress: ${{ github.ref_name != 'main' }} | |
| env: | |
| CARGO_TERM_COLOR: always | |
| jobs: | |
| typos: | |
| name: Spellcheck | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Spell check | |
| uses: crate-ci/typos@master | |
| lint: | |
| name: Lint | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - name: Install Rust stable toolchain | |
| uses: dtolnay/rust-toolchain@nightly | |
| with: | |
| toolchain: stable | |
| components: rustfmt, clippy, llvm-tools-preview, rustc-dev | |
| - name: Install Rust toolchain | |
| uses: dtolnay/rust-toolchain@nightly | |
| with: | |
| toolchain: nightly-2025-05-14 | |
| components: rustfmt, clippy, llvm-tools-preview, rustc-dev | |
| - name: Cache on ${{ github.ref_name }} | |
| uses: Swatinem/rust-cache@v2 | |
| with: | |
| shared-key: warm | |
| - name: Install Dylint | |
| uses: taiki-e/install-action@v2 | |
| with: | |
| tool: cargo-dylint,dylint-link | |
| - name: Check formatting | |
| run: cargo fmt --check | |
| - name: Clippy | |
| run: | | |
| cargo +stable clippy --all-targets -- -D warnings | |
| cargo +nightly-2025-05-14 clippy --all-targets --all-features -- -D warnings | |
| - name: Dylint tests | |
| working-directory: nova_lint | |
| run: cargo test | |
| - name: Dylint | |
| run: cargo dylint --all | |
| build: | |
| name: Build & Test | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| matrix: | |
| os: | |
| [ | |
| "macos-13", | |
| "macos-latest", | |
| "ubuntu-24.04-arm", | |
| "ubuntu-latest", | |
| "windows-latest", | |
| ] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: oxc-project/setup-rust@cd82e1efec7fef815e2c23d296756f31c7cdc03d # v1.0.0 | |
| with: | |
| cache-key: warm | |
| save-cache: ${{ github.ref_name == 'main' }} | |
| - name: Check | |
| run: cargo check --all-targets | |
| - name: Build | |
| run: cargo build --tests --bins --examples | |
| - name: Test | |
| run: cargo test | |
| env: | |
| RUST_BACKTRACE: 1 | |
| test262: | |
| name: Test262 | |
| # TODO: Run CI on all three platforms. | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 50 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install Rust toolchain | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: Cache on ${{ github.ref_name }} | |
| uses: Swatinem/rust-cache@v2 | |
| with: | |
| shared-key: test262 | |
| save-if: ${{ github.ref == 'main' }} | |
| - name: Checkout test262 submodule | |
| run: git submodule update --init | |
| - name: Build nova cli | |
| run: cargo build -p nova_cli --profile dev-fast | |
| - name: Run Test262 | |
| run: cargo run --bin test262 --profile dev-fast -- --noprogress | |
| timeout-minutes: 15 | |
| env: | |
| RUST_BACKTRACE: 1 |