Skip to content

Bump polars to 0.53 #365

Bump polars to 0.53

Bump polars to 0.53 #365

Workflow file for this run

name: CI
on:
push:
branches: [main]
workflow_dispatch:
pull_request:
paths-ignore:
- 'docs/**'
types:
- opened
- ready_for_review
- reopened
- synchronize
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
CARGO_INCREMENTAL: 0
CARGO_TERM_COLOR: always
RUST_BACKTRACE: 1
RUSTDOCFLAGS: "-Dwarnings"
RUSTFLAGS: -C debuginfo=0
RUSTUP_MAX_RETRIES: 10
permissions:
contents: read
defaults:
run:
shell: bash
jobs:
test:
strategy:
matrix:
target:
- { os: ubuntu-latest, toolchain: stable, triple: x86_64-unknown-linux-gnu }
- { os: ubuntu-latest, toolchain: beta, triple: x86_64-unknown-linux-gnu }
- { os: ubuntu-latest, toolchain: nightly, triple: x86_64-unknown-linux-gnu }
runs-on: ${{ matrix.target.os }}
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.target.toolchain }}
targets: ${{ matrix.target.triple }}
- uses: taiki-e/install-action@nextest
- uses: Swatinem/rust-cache@v2
- name: Compile tests
if: ${{ matrix.target.toolchain != 'nightly' }}
run: cargo nextest run --profile ci --workspace --no-run
- name: Run tests
if: ${{ matrix.target.toolchain != 'nightly' }}
run: cargo nextest run --profile ci --workspace
- name: Compile tests (nightly)
if: ${{ matrix.target.toolchain == 'nightly' }}
run: cargo nextest run --profile ci --workspace -F nightly --no-run
- name: Run tests (nightly)
if: ${{ matrix.target.toolchain == 'nightly' }}
run: cargo nextest run --profile ci --workspace -F nightly
features:
runs-on: ubuntu-latest
needs: test
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@nightly
- uses: taiki-e/install-action@cargo-hack
- run: cargo hack check --all --feature-powerset
rustfmt:
runs-on: ubuntu-latest
needs: test
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@nightly
with:
components: rustfmt
- uses: Swatinem/rust-cache@v2
- run: cargo fmt --all --check
rustdoc:
runs-on: ubuntu-latest
needs: test
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@nightly
- uses: Swatinem/rust-cache@v2
- run: cargo doc --no-deps
clippy:
runs-on: ubuntu-latest
needs: test
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@nightly
with:
components: clippy
- uses: Swatinem/rust-cache@v2
- run: cargo clippy --workspace --all-features
msrv:
runs-on: ubuntu-latest
needs: test
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@1.89.0
- uses: Swatinem/rust-cache@v2
- run: cargo check --workspace
outdated:
if: ${{ github.ref == 'refs/heads/main' }}
runs-on: ubuntu-latest
continue-on-error: true
timeout-minutes: 15
needs: test
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- run: cargo install --locked cargo-outdated
- run: cargo update
- run: cargo outdated --workspace --root-deps-only --exit-code 1
udeps:
if: ${{ github.ref == 'refs/heads/main' }}
runs-on: ubuntu-latest
needs: test
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@nightly
- uses: Swatinem/rust-cache@v2
- run: cargo install --locked cargo-udeps
- run: cargo udeps --workspace
deny:
if: ${{ github.event_name == 'push' || !github.event.pull_request.draft }}
runs-on: ubuntu-latest
strategy:
matrix:
checks:
- bans licenses sources
- advisories
continue-on-error: ${{ matrix.checks == 'advisories' }}
steps:
- uses: actions/checkout@v4
- uses: EmbarkStudios/cargo-deny-action@v2
with:
command: check ${{ matrix.checks }}
arguments: --workspace --all-features
command-arguments: -c .deny.toml
rust-version: stable
careful:
if: ${{ github.event_name == 'push' }}
runs-on: ubuntu-latest
needs: test
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@nightly
- uses: Swatinem/rust-cache@v2
- run: cargo install --locked cargo-careful
- run: cargo careful test --workspace --all-features
typos:
runs-on: ubuntu-latest
needs: test
steps:
- uses: actions/checkout@v4
- uses: crate-ci/typos@v1.33.1
ci:
if: ${{ always() }}
runs-on: ubuntu-latest
needs:
- careful
- clippy
- deny
- features
- msrv
- outdated
- rustdoc
- rustfmt
- typos
- udeps
steps:
- name: check for cancelled jobs
if: ${{ contains(needs.*.result, 'cancelled') }}
run: exit 1
- name: check for failed jobs
if: ${{ contains(needs.*.result, 'failure') }}
run: exit 1
- name: finish
run: exit 0