build: Update JS dependencies #450
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
# This is the main CI workflow that runs the test suite on all pushes to main and all pull requests. | |
# It runs the following jobs: | |
# - required: runs the test suite on ubuntu with stable and beta rust toolchains | |
# - minimal: runs the test suite with the minimal versions of the dependencies that satisfy the | |
# requirements of this crate, and its dependencies | |
# - os-check: runs the test suite on mac and windows | |
# - coverage: runs the test suite and collects coverage information | |
# See check.yml for information about how the concurrency cancellation and workflow triggering works | |
name: test | |
permissions: | |
contents: read | |
on: | |
push: | |
branches: [ main ] | |
pull_request: | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | |
cancel-in-progress: true | |
jobs: | |
required: | |
runs-on: ubuntu-latest | |
name: test / ubuntu / ${{ matrix.toolchain }} | |
strategy: | |
matrix: | |
# run on stable and beta to ensure that tests won't break on the next version of the rust | |
# toolchain | |
toolchain: [ stable, beta ] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install ${{ matrix.toolchain }} | |
uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: ${{ matrix.toolchain }} | |
- uses: taiki-e/install-action@nextest | |
- name: cargo test --all-targets | |
run: cargo nextest run --locked --all-features --all-targets | |
- name: cargo test --doc | |
run: cargo test --locked --all-features --doc | |
os-check: | |
# run cargo test on macOS and windows | |
runs-on: ${{ matrix.os }} | |
name: ${{ matrix.os }} / stable | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ macos-14, windows-latest ] # macos-14 is the beta M1 mac runner | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install stable | |
uses: dtolnay/rust-toolchain@stable | |
- uses: taiki-e/install-action@nextest | |
- name: cargo test | |
run: cargo nextest run --locked --all-features --all-targets | |
coverage: | |
# use llvm-cov to build and collect coverage and outputs in a format that | |
# is compatible with codecov.io | |
# | |
# note that codecov as of v4 requires that CODECOV_TOKEN from | |
# | |
# https://app.codecov.io/gh/<user or org>/<project>/settings | |
# | |
# is set in two places on your repo: | |
# | |
# - https://github.com/jonhoo/guardian/settings/secrets/actions | |
# - https://github.com/jonhoo/guardian/settings/secrets/dependabot | |
# | |
# (the former is needed for codecov uploads to work with Dependabot PRs) | |
# | |
# PRs coming from forks of your repo will not have access to the token, but | |
# for those, codecov allows uploading coverage reports without a token. | |
# it's all a little weird and inconvenient. see | |
# | |
# https://github.com/codecov/feedback/issues/112 | |
# | |
# for lots of more discussion | |
runs-on: ubuntu-latest | |
name: ubuntu / stable / coverage | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install stable | |
uses: dtolnay/rust-toolchain@stable | |
with: | |
components: llvm-tools-preview | |
- name: cargo install cargo-llvm-cov | |
uses: taiki-e/install-action@cargo-llvm-cov | |
- uses: taiki-e/install-action@nextest | |
- name: cargo llvm-cov | |
run: cargo llvm-cov nextest --locked --all-features --lcov --output-path lcov.info | |
- name: Record Rust version | |
run: echo "RUST=$(rustc --version)" >> "$GITHUB_ENV" | |
- name: Upload to codecov.io | |
uses: codecov/codecov-action@v4 | |
with: | |
fail_ci_if_error: true | |
token: ${{ secrets.CODECOV_TOKEN }} | |
env_vars: OS,RUST | |
slug: dasch-swiss/dsp-meta |