mirror of
https://github.com/uutils/findutils.git
synced 2026-06-10 15:48:30 -07:00
65b1c4099a
Bumps [KyleMayes/install-llvm-action](https://github.com/kylemayes/install-llvm-action) from 1 to 2. - [Release notes](https://github.com/kylemayes/install-llvm-action/releases) - [Changelog](https://github.com/KyleMayes/install-llvm-action/blob/master/CHANGELOG.md) - [Commits](https://github.com/kylemayes/install-llvm-action/compare/v1...v2) --- updated-dependencies: - dependency-name: KyleMayes/install-llvm-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
154 lines
4.7 KiB
YAML
154 lines
4.7 KiB
YAML
on: [push, pull_request]
|
|
|
|
name: Basic CI
|
|
|
|
jobs:
|
|
check:
|
|
name: cargo check
|
|
runs-on: ${{ matrix.os }}
|
|
strategy:
|
|
matrix:
|
|
os: [ubuntu-latest, macOS-latest, windows-latest]
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Install `rust` toolchain
|
|
run: |
|
|
## Install `rust` toolchain
|
|
rustup toolchain install stable --no-self-update -c rustfmt --profile minimal
|
|
rustup default stable
|
|
|
|
# For bindgen: https://github.com/rust-lang/rust-bindgen/issues/1797
|
|
- uses: KyleMayes/install-llvm-action@v2
|
|
if: matrix.os == 'windows-latest'
|
|
with:
|
|
version: "11.0"
|
|
directory: ${{ runner.temp }}/llvm
|
|
- run: echo "LIBCLANG_PATH=$((gcm clang).source -replace "clang.exe")" >> $env:GITHUB_ENV
|
|
if: matrix.os == 'windows-latest'
|
|
|
|
- name: Check
|
|
run: |
|
|
cargo check --all --all-features
|
|
|
|
test:
|
|
name: cargo test
|
|
runs-on: ${{ matrix.os }}
|
|
strategy:
|
|
matrix:
|
|
os: [ubuntu-latest, macOS-latest, windows-latest]
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Install `rust` toolchain
|
|
run: |
|
|
## Install `rust` toolchain
|
|
rustup toolchain install stable --no-self-update -c rustfmt --profile minimal
|
|
rustup default stable
|
|
|
|
# For bindgen: https://github.com/rust-lang/rust-bindgen/issues/1797
|
|
- uses: KyleMayes/install-llvm-action@v2
|
|
if: matrix.os == 'windows-latest'
|
|
with:
|
|
version: "11.0"
|
|
directory: ${{ runner.temp }}/llvm
|
|
- run: echo "LIBCLANG_PATH=$((gcm clang).source -replace "clang.exe")" >> $env:GITHUB_ENV
|
|
if: matrix.os == 'windows-latest'
|
|
|
|
- name: Check
|
|
run: |
|
|
cargo check
|
|
|
|
fmt:
|
|
name: cargo fmt --all -- --check
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Install `rust` toolchain
|
|
run: |
|
|
## Install `rust` toolchain
|
|
rustup toolchain install stable --no-self-update -c rustfmt --profile minimal
|
|
rustup default stable
|
|
|
|
- run: rustup component add rustfmt
|
|
- name: cargo fmt
|
|
run: |
|
|
cargo fmt --all -- --check
|
|
|
|
clippy:
|
|
name: cargo clippy -- -D warnings
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Install `rust` toolchain
|
|
run: |
|
|
## Install `rust` toolchain
|
|
rustup toolchain install stable --no-self-update -c rustfmt --profile minimal
|
|
rustup default stable
|
|
- run: rustup component add clippy
|
|
- name: cargo clippy
|
|
run: |
|
|
cargo clippy -- -D warnings
|
|
|
|
grcov:
|
|
name: Code coverage
|
|
runs-on: ${{ matrix.os }}
|
|
strategy:
|
|
matrix:
|
|
os:
|
|
- ubuntu-latest
|
|
toolchain:
|
|
- nightly
|
|
cargo_flags:
|
|
- "--all-features"
|
|
steps:
|
|
- name: Checkout source code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Install `rust` toolchain
|
|
run: |
|
|
## Install `rust` toolchain
|
|
rustup toolchain install nightly --no-self-update -c rustfmt --profile minimal
|
|
rustup default nightly
|
|
|
|
- name: "`grcov` ~ install"
|
|
run: cargo install grcov
|
|
|
|
- name: cargo test
|
|
run: |
|
|
cargo test --all --no-fail-fast ${{ matrix.cargo_flags }}
|
|
env:
|
|
CARGO_INCREMENTAL: "0"
|
|
RUSTFLAGS: '-Zprofile -Ccodegen-units=1 -Copt-level=0 -Clink-dead-code -Coverflow-checks=off -Zpanic_abort_tests -Cpanic=abort -Cdebug-assertions=off'
|
|
RUSTDOCFLAGS: '-Zprofile -Ccodegen-units=1 -Copt-level=0 -Clink-dead-code -Coverflow-checks=off -Zpanic_abort_tests -Cpanic=abort -Cdebug-assertions=off'
|
|
|
|
- name: Generate coverage data
|
|
id: grcov
|
|
run: |
|
|
grcov target/debug/ \
|
|
--branch \
|
|
--llvm \
|
|
--source-dir . \
|
|
--output-path lcov.info \
|
|
--ignore-not-existing \
|
|
--excl-line "#\\[derive\\(" \
|
|
--excl-br-line "#\\[derive\\(" \
|
|
--excl-start "#\\[cfg\\(test\\)\\]" \
|
|
--excl-br-start "#\\[cfg\\(test\\)\\]" \
|
|
--commit-sha ${{ github.sha }} \
|
|
--service-job-id ${{ github.job }} \
|
|
--service-name "GitHub Actions" \
|
|
--service-number ${{ github.run_id }}
|
|
- name: Upload coverage as artifact
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: lcov.info
|
|
# path: ${{ steps.grcov.outputs.report }}
|
|
path: lcov.info
|
|
|
|
- name: Upload coverage to codecov.io
|
|
uses: codecov/codecov-action@v4
|
|
with:
|
|
token: ${{ secrets.CODECOV_TOKEN }}
|
|
# file: ${{ steps.grcov.outputs.report }}
|
|
file: lcov.info
|
|
fail_ci_if_error: true
|