Pin to the older msrv version. #20
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
# ******************************************************************************** | |
# Copyright (c) 2024 Contributors to the Eclipse Foundation | |
# | |
# See the NOTICE file(s) distributed with this work for additional | |
# information regarding copyright ownership. | |
# | |
# This program and the accompanying materials are made available under the | |
# terms of the Apache License Version 2.0 which is available at | |
# https://www.apache.org/licenses/LICENSE-2.0 | |
# | |
# SPDX-License-Identifier: Apache-2.0 | |
# *******************************************************************************/ | |
name: Check | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
paths: | |
- "src/**" | |
- "tests/**" | |
- "examples/**" | |
- "Cargo.*" | |
- ".github/**" | |
workflow_call: | |
outputs: | |
test_results_url: | |
description: "URL of the test results artifact" | |
value: ${{ jobs.nextest.outputs.test_results_url }} | |
doctest_results_url: | |
description: "URL of the doctest results artifact" | |
value: ${{ jobs.doctest.outputs.test_results_url }} | |
workflow_dispatch: | |
concurrency: | |
group: ${{ github.ref }}-${{ github.workflow }} | |
cancel-in-progress: true | |
env: | |
RUST_TOOLCHAIN: ${{ vars.RUST_TOOLCHAIN || 'stable' }} | |
RUSTFLAGS: -Dwarnings | |
CARGO_TERM_COLOR: always | |
jobs: | |
check: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: ${{ env.RUST_TOOLCHAIN }} | |
- name: Run cargo check | |
run: | | |
cargo check --all --tests | |
fmt: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: ${{ env.RUST_TOOLCHAIN }} | |
components: rustfmt | |
- name: Run cargo fmt | |
run: | | |
cargo fmt --all -- --check | |
clippy: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: ${{ env.RUST_TOOLCHAIN }} | |
components: clippy | |
- name: cargo clippy | |
run: | | |
cargo clippy --version | |
cargo clippy --all-targets -- -W warnings -D warnings | |
build-docs: | |
runs-on: ubuntu-latest | |
env: | |
RUSTDOCFLAGS: -Dwarnings | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: ${{ env.RUST_TOOLCHAIN }} | |
- name: Create Documentation | |
run: | | |
cargo doc --no-deps --all-features | |
nextest: | |
outputs: | |
test_results_url: ${{ steps.test_results.outputs.artifact-url }} | |
runs-on: ubuntu-latest | |
env: | |
NEXTEST_EXPERIMENTAL_LIBTEST_JSON: 1 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: ${{ env.RUST_TOOLCHAIN }} | |
- uses: Swatinem/rust-cache@v2 | |
# Using nextest because it's faster than built-in test | |
- uses: taiki-e/install-action@nextest | |
- name: Run cargo nextest | |
run: | | |
cargo nextest run --message-format libtest-json-plus > testresults.json | |
- name: Upload all-features test results artifact | |
id: test_results | |
uses: actions/upload-artifact@v4 | |
with: | |
name: test-results | |
path: testresults.json | |
doctest: | |
# Run doctests separately, as nextest doesn't yet (https://github.com/nextest-rs/nextest/issues/16) | |
outputs: | |
test_results_url: ${{ steps.doctest_results.outputs.artifact-url }} | |
runs-on: ubuntu-latest | |
env: | |
RUSTDOCFLAGS: -Dwarnings | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: ${{ env.RUST_TOOLCHAIN }} | |
- name: Run doc tests | |
run: | | |
RUSTC_BOOTSTRAP=1 cargo test --doc -- -Z unstable-options --format json --report-time > doctestresults.json | |
- name: Upload doctest results artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: doctest-results | |
path: doctestresults.json |