build(deps): bump the actions group across 1 directory with 4 updates #445
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: "Test CI" | |
on: | |
push: | |
branches: [main] | |
paths: | |
- cpp-linter/** | |
- Cargo.toml | |
- Cargo.lock | |
- .github/workflows/run-dev-tests.yml | |
pull_request: | |
branches: [main] | |
paths: | |
- cpp-linter/** | |
- Cargo.toml | |
- Cargo.lock | |
- .github/workflows/run-dev-tests.yml | |
env: | |
CARGO_TERM_COLOR: always | |
RUST_BACKTRACE: 1 | |
permissions: {} | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }} | |
jobs: | |
test: | |
strategy: | |
fail-fast: false | |
matrix: | |
os: ['windows-latest', ubuntu-latest] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v5 | |
with: | |
persist-credentials: false | |
- name: Setup Rust | |
run: |- | |
rustup update --no-self-update | |
rustup component add llvm-tools-preview | |
# https://docs.rs/openssl/latest/openssl/#automatic | |
# - name: Install OpenSSL (Linux) | |
# if: runner.os == 'Linux' | |
# run: sudo apt-get install -y pkg-config libssl-dev | |
# - name: Install OpenSSL (MacOS) | |
# if: runner.os == 'macOS' | |
# run: brew install openssl@3 | |
# - name: Install OpenSSL (Windows) | |
# if: runner.os == 'Windows' | |
# run: vcpkg install openssl | |
- uses: cargo-bins/cargo-binstall@a66119fbb1c952daba62640c2609111fe0803621 # v1.15.7 | |
env: | |
GITHUB_TOKEN: ${{ github.token }} | |
- name: Install third-party binaries | |
run: >- | |
cargo binstall -y cargo-nextest cargo-llvm-cov nur | |
env: | |
GITHUB_TOKEN: ${{ github.token }} | |
- uses: actions/setup-python@v6 | |
with: | |
python-version: 3.x | |
- name: Install uv | |
uses: astral-sh/setup-uv@3259c6206f993105e3a61b142c2d97bf4b9ef83d # v7.1.0 | |
with: | |
enable-cache: true | |
cache-dependency-glob: "uv.lock" | |
# # https://github.com/ninja-build/ninja/wiki/Pre-built-Ninja-packages | |
- name: Install ninja (Linux) | |
if: runner.os == 'Linux' | |
run: sudo apt-get install ninja-build | |
- name: Install ninja (Windows) | |
if: runner.os == 'Windows' | |
run: choco install ninja | |
- name: Cache .cargo locked resources | |
uses: actions/cache@v4 | |
with: | |
path: ~/.cargo | |
key: ${{ runner.os }}-tests-cargo-${{ hashFiles('Cargo.lock') }} | |
- name: Fetch .cargo locked resources | |
run: cargo fetch | |
- if: runner.os == 'Linux' | |
run: sudo apt-get update | |
- name: Install clang v9 | |
uses: ./.github/install-clang-action | |
with: | |
version: '9' | |
- name: Collect Coverage for clang v9 | |
env: | |
CLANG_VERSION: '9' | |
run: nur test --profile ci | |
- name: Install clang v10 | |
uses: ./.github/install-clang-action | |
with: | |
version: '10' | |
- name: Collect Coverage for clang v10 | |
env: | |
CLANG_VERSION: '10' | |
run: nur test --profile ci | |
- name: Install clang 11 | |
uses: ./.github/install-clang-action | |
with: | |
version: '11' | |
- name: Collect Coverage for clang v11 | |
env: | |
CLANG_VERSION: '11' | |
run: nur test --profile ci | |
- name: Install clang 12 | |
uses: ./.github/install-clang-action | |
with: | |
version: '12' | |
- name: Collect Coverage for clang v12 | |
env: | |
CLANG_VERSION: '12' | |
run: nur test --profile ci | |
- name: Install clang 13 | |
uses: ./.github/install-clang-action | |
with: | |
version: '13' | |
- name: Collect Coverage for clang v13 | |
env: | |
CLANG_VERSION: '13' | |
run: nur test --profile ci | |
- name: Install clang 14 | |
uses: ./.github/install-clang-action | |
with: | |
version: '14' | |
- name: Collect Coverage for clang v14 | |
env: | |
CLANG_VERSION: '14' | |
run: nur test --profile ci | |
- name: Install clang 15 | |
uses: ./.github/install-clang-action | |
with: | |
version: '15' | |
- name: Collect Coverage for clang v15 | |
env: | |
CLANG_VERSION: '15' | |
run: nur test --profile ci | |
- name: Install clang 16 | |
uses: ./.github/install-clang-action | |
with: | |
version: '16' | |
- name: Collect Coverage for clang v16 | |
env: | |
CLANG_VERSION: '16' | |
run: nur test --profile ci | |
- name: Install clang 17 | |
uses: ./.github/install-clang-action | |
with: | |
version: '17' | |
- name: Collect Coverage for clang v17 | |
env: | |
CLANG_VERSION: '17' | |
run: nur test --profile ci | |
- name: Install clang 18 | |
uses: ./.github/install-clang-action | |
with: | |
version: '18' | |
- name: Collect Coverage for clang v18 | |
env: | |
CLANG_VERSION: '18' | |
run: nur test --profile ci | |
- name: Install clang v19 | |
uses: ./.github/install-clang-action | |
with: | |
version: '19' | |
- name: Collect Coverage for clang v19 | |
env: | |
CLANG_VERSION: '19' | |
run: nur test --profile ci | |
- name: Install clang v20 | |
uses: ./.github/install-clang-action | |
with: | |
version: '20' | |
- name: Collect Coverage for clang v20 | |
env: | |
CLANG_VERSION: '20' | |
run: nur test --profile ci | |
- name: Install clang v21 | |
uses: ./.github/install-clang-action | |
with: | |
version: '21' | |
- name: Collect Coverage for clang v21 | |
env: | |
CLANG_VERSION: '21' | |
run: nur test --profile all | |
- name: Generate Coverage HTML report | |
run: nur test llvm-cov | |
- name: Upload coverage data | |
uses: actions/upload-artifact@v4 | |
with: | |
name: HTML_report-${{ runner.os }} | |
path: target/llvm-cov/html | |
- name: Generate Coverage lcov report | |
run: nur test lcov | |
- uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1 | |
with: | |
token: ${{secrets.CODECOV_TOKEN}} | |
files: lcov.info | |
fail_ci_if_error: true # optional (default = false) |