Bump codecov/codecov-action from 3 to 4 #302
Workflow file for this run
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: Continuous integration | |
on: | |
pull_request: | |
branches: | |
- main | |
push: | |
branches: | |
- main | |
merge_group: | |
types: [checks_requested] | |
jobs: | |
coverage: | |
name: Coverage | |
runs-on: ubuntu-latest | |
timeout-minutes: 60 | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions-rs/toolchain@v1.0.7 | |
with: | |
toolchain: stable | |
override: true | |
profile: minimal | |
- name: Install cargo-tarpaulin | |
uses: baptiste0928/cargo-install@v2.1.0 | |
with: | |
crate: cargo-tarpaulin | |
- uses: Swatinem/rust-cache@v2 | |
with: | |
key: tarpaulin | |
- name: Run tarpaulin | |
uses: actions-rs/cargo@v1 | |
with: | |
command: tarpaulin | |
args: --workspace --features intl --ignore-tests --engine llvm --out Xml | |
- name: Upload to codecov.io | |
uses: codecov/codecov-action@v4 | |
tests: | |
name: Build and Test | |
runs-on: ${{ matrix.os }} | |
timeout-minutes: 60 | |
strategy: | |
matrix: | |
os: | |
- macos-latest | |
- windows-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions-rs/toolchain@v1.0.7 | |
with: | |
toolchain: stable | |
override: true | |
profile: minimal | |
- uses: Swatinem/rust-cache@v2 | |
- name: Build tests | |
run: cargo test --no-run --profile ci | |
# this order is faster according to rust-analyzer | |
- name: Build | |
run: cargo build --all-targets --quiet --profile ci | |
- name: Install latest nextest | |
uses: taiki-e/install-action@nextest | |
- name: Test with nextest | |
run: cargo nextest run --profile ci --cargo-profile ci --features intl | |
- name: Test docs | |
run: cargo test --doc --profile ci --features intl | |
misc: | |
name: Misc | |
runs-on: ubuntu-latest | |
timeout-minutes: 60 | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions-rs/toolchain@v1.0.7 | |
with: | |
toolchain: stable | |
override: true | |
profile: minimal | |
components: rustfmt, clippy | |
- uses: actions-rs/install@v0.1 | |
with: | |
crate: cargo-fuzz | |
version: latest | |
- uses: Swatinem/rust-cache@v2 | |
with: | |
key: misc | |
- name: Format (rustfmt) | |
run: cargo fmt --all --check | |
- name: Lint (All features) | |
run: cargo clippy --all-features --all-targets | |
- name: Lint (No features) | |
run: cargo clippy -p boa_engine --no-default-features --all-targets | |
- name: Generate documentation | |
run: cargo doc -v --document-private-items --all-features | |
- name: Build | |
run: cargo build --all-targets --quiet --profile ci | |
- name: Build fuzzers | |
run: cargo fuzz build -s none | |
- run: cd boa_examples | |
- name: Build examples | |
run: cargo build --quiet --profile ci | |
- name: Run example classes | |
run: cargo run --bin classes --profile ci |