Prepare v0.9.0 release #146
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
| # ******************************************************************************** | |
| # 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.test.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 | |
| with: | |
| submodules: "recursive" | |
| - uses: dtolnay/rust-toolchain@master | |
| with: | |
| toolchain: ${{ env.RUST_TOOLCHAIN }} | |
| - name: Run cargo check | |
| run: | | |
| cargo check --workspace --all-targets --all-features | |
| fmt: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| submodules: "recursive" | |
| - 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 | |
| with: | |
| submodules: "recursive" | |
| - uses: dtolnay/rust-toolchain@master | |
| with: | |
| toolchain: ${{ env.RUST_TOOLCHAIN }} | |
| components: clippy | |
| - name: cargo clippy | |
| run: | | |
| cargo clippy --version | |
| cargo clippy --all-targets --all-features --no-deps -- -W warnings -D warnings | |
| build-docs: | |
| runs-on: ubuntu-latest | |
| env: | |
| RUSTDOCFLAGS: -Dwarnings | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| submodules: "recursive" | |
| - uses: dtolnay/rust-toolchain@master | |
| with: | |
| toolchain: ${{ env.RUST_TOOLCHAIN }} | |
| - name: Create Documentation | |
| run: | | |
| cargo doc --no-deps --all-features | |
| check-links: | |
| # check links contained in markdown and source code files | |
| # sadly, lychee does not (yet) support checking links in Asciidoc files | |
| # https://github.com/lycheeverse/lychee/issues/291 | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| submodules: "recursive" | |
| - name: Restore lychee cache | |
| uses: actions/cache@v4 | |
| with: | |
| path: .lycheecache | |
| key: cache-lychee-${{ github.sha }} | |
| restore-keys: cache-lychee- | |
| - name: Run lychee | |
| uses: lycheeverse/lychee-action@v2 | |
| with: | |
| args: --cache --max-cache-age 1d --verbose --no-progress --exclude-path "^\/target\/.*" --exclude-path "^\/up-spec\/.*" -- "./**/*.md" "./**/*.rs" "./**/*.toml" "./**/*.yaml" | |
| test: | |
| # Subset of feature-combos, on only one OS - more complete testing in test-featurematrix.yaml | |
| outputs: | |
| test_results_url: ${{ steps.test_results.outputs.artifact-url }} | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| feature-flags: ["", "--no-default-features", "--all-features"] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| submodules: "recursive" | |
| - uses: dtolnay/rust-toolchain@master | |
| with: | |
| toolchain: ${{ env.RUST_TOOLCHAIN }} | |
| - name: Run lib tests | |
| run: | | |
| mkdir -p ${GITHUB_WORKSPACE}/target | |
| RUSTC_BOOTSTRAP=1 cargo test --no-fail-fast --all-targets ${{ matrix.feature-flags }} -- -Z unstable-options --format junit --report-time > ${GITHUB_WORKSPACE}/target/lib-test-results.xml | |
| - name: Run doc tests | |
| run: | | |
| RUSTC_BOOTSTRAP=1 cargo test --no-fail-fast --doc ${{ matrix.feature-flags }} -- -Z unstable-options --format junit --report-time > ${GITHUB_WORKSPACE}/target/doc-test-results.xml | |
| - name: Upload all-features test results artifact | |
| id: test_results | |
| if: matrix.feature-flags == '--all-features' | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: test-results | |
| # include all test result files | |
| path: target/*-results.xml |