Skip to content

chore(deps): Bump actions/configure-pages from 5 to 6 (#158) #254

chore(deps): Bump actions/configure-pages from 5 to 6 (#158)

chore(deps): Bump actions/configure-pages from 5 to 6 (#158) #254

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
workflow_dispatch:
defaults:
run:
shell: bash
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
CARGO_TERM_COLOR: always
CI: true
GITHUB_ACTIONS: true
jobs:
quality:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6.0.2
- uses: dtolnay/rust-toolchain@3c5f7ea28cd621ae0bf5283f0e981fb97b8a7af9
with:
components: rustfmt, clippy
toolchain: 1.93.0
- uses: jdx/mise-action@v4.0.1
with:
install: true
cache: true
github_token: ${{ secrets.GITHUB_TOKEN }}
- name: Ensure rustfmt and clippy are installed
run: rustup component add rustfmt clippy
- name: Cache Rust dependencies
uses: Swatinem/rust-cache@v2.9.1
- name: Rustfmt Check
run: cargo fmt --all -- --check
- name: Run clippy (all features)
run: cargo clippy --all-targets --all-features -- -D warnings
msrv:
runs-on: ubuntu-latest
strategy:
matrix:
include:
- toolchain: stable
- toolchain: stable minus 1 releases
- toolchain: stable minus 2 releases
- toolchain: stable minus 3 releases
- toolchain: stable minus 4 releases
steps:
- uses: actions/checkout@v6.0.2
- uses: dtolnay/rust-toolchain@3c5f7ea28cd621ae0bf5283f0e981fb97b8a7af9
with:
components: rustfmt, clippy
toolchain: ${{ matrix.toolchain }}
- name: Cache Rust dependencies
uses: Swatinem/rust-cache@v2.9.1
- name: Check MSRV compliance
run: cargo check --all-features
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6.0.2
- uses: jdx/mise-action@v4.0.1
with:
install: true
cache: true
github_token: ${{ secrets.GITHUB_TOKEN }}
- name: Generate test fixtures
run: just gen-fixtures
- name: Run tests (all features)
run: just test-ci
- name: Build release
run: just build-release
test-cross-platform:
strategy:
matrix:
include:
- os: ubuntu-latest
platform: "Linux"
- os: macos-latest
platform: "macOS"
- os: windows-latest
platform: "Windows"
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v6.0.2
- uses: jdx/mise-action@v4.0.1
with:
install: true
cache: true
github_token: ${{ secrets.GITHUB_TOKEN }}
- name: Generate test fixtures
run: just gen-fixtures
- name: Run tests (all features)
run: just test-ci
- name: Build release
run: just build-release
coverage:
runs-on: ubuntu-latest
needs: [test, test-cross-platform]
steps:
- uses: actions/checkout@v6.0.2
- uses: jdx/mise-action@v4.0.1
with:
install: true
cache: true
github_token: ${{ secrets.GITHUB_TOKEN }}
- name: Generate test fixtures
run: just gen-fixtures
- name: Generate coverage
run: just coverage
- name: Upload to Codecov
uses: codecov/codecov-action@v6.0.0
with:
files: lcov.info
fail_ci_if_error: false
token: ${{ secrets.CODECOV_TOKEN }}
slug: EvilBit-Labs/Stringy