From f8003bf7a673f07920ee5f571ac6311462bb026a Mon Sep 17 00:00:00 2001 From: Volker Mische Date: Thu, 26 Sep 2024 22:09:40 +0200 Subject: [PATCH] chore: move CI to GitHub Actions Move the CI from CircleCI to GitHub actions. --- .github/workflows/ci.yml | 69 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 .github/workflows/ci.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..1cd6ce7 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,69 @@ +name: CI + +on: [pull_request, push] + +# Cancel a job if there's a new on on the same branch started. +# Based on https://stackoverflow.com/questions/58895283/stop-already-running-workflow-job-in-github-actions/67223051#67223051 +concurrency: + group: ${{ github.ref }} + cancel-in-progress: true + +env: + CARGO_INCREMENTAL: 0 + RUST_BACKTRACE: 1 + # Faster crates.io index checkout. + # Enable once the MSRV is >= 1.68 + #CARGO_REGISTRIES_CRATES_IO_PROTOCOL: sparse + RUST_LOG: debug + +jobs: + check_clippy: + runs-on: ubuntu-24.04 + name: Clippy + steps: + - uses: actions/checkout@v4 + - name: Run cargo clippy + run: cargo clippy --all-targets --workspace --all-features -- -D warnings + + check_fmt: + runs-on: ubuntu-24.04 + name: Checking fmt + steps: + - uses: actions/checkout@v4 + - name: Run cargo fmt + run: cargo fmt --all -- --check + + rustdoc: + runs-on: ubuntu-24.04 + name: Rustdoc + steps: + - uses: actions/checkout@v4 + - name: Run rustdoc + run: cargo rustdoc --all-features -- -D warnings + + build: + runs-on: ubuntu-24.04 + name: Release build + steps: + - uses: actions/checkout@v4 + - name: Run cargo release build + run: cargo build --release + + benches: + runs-on: ubuntu-24.04 + name: Run benchmarks + steps: + - uses: actions/checkout@v4 + - name: Run benchmarks + run: cargo bench --all-targets + + test: + runs-on: ubuntu-24.04 + name: Run cargo test + strategy: + matrix: + cargo-args: ['--all-features', '--release -- --ignored'] + steps: + - uses: actions/checkout@v4 + - name: Test + run: cargo test ${{ matrix.cargo-args }}