Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions .github/codecov.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
coverage:
status:
project:
default:
target: auto
threshold: 5%

patch:
default:
enabled: false
82 changes: 82 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
name: CI

on:
push:
branches:
- main

pull_request:

workflow_dispatch:

permissions: {}

jobs:
pre-commit:
name: pre-commit
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
with:
persist-credentials: false

- uses: j178/prek-action@91fd7d7cf70ae1dee9f4f44e7dfa5d1073fe6623 # v1.0.11

cargo-test:
name: cargo test (${{ matrix.os }})
runs-on: ${{ matrix.os }}

strategy:
max-parallel: 4
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]

steps:
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
with:
persist-credentials: false

- uses: Swatinem/rust-cache@779680da715d629ac1d338a641029a2f4372abb5 # v2.8.2

- name: Install Rust toolchain
run: rustup show

- name: Install cargo-nextest
uses: taiki-e/install-action@90558ad1e179036f31467972b00dec6cb80701fa # v2.66.3
with:
tool: cargo-nextest

- name: Run tests
run: cargo nextest run --no-fail-fast --all-features

coverage:
name: coverage
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
with:
persist-credentials: false

- uses: Swatinem/rust-cache@779680da715d629ac1d338a641029a2f4372abb5 # v2.8.2

- name: Install Rust toolchain
run: rustup show

- name: Install coverage tools
uses: taiki-e/install-action@90558ad1e179036f31467972b00dec6cb80701fa # v2.66.3
with:
tool: cargo-llvm-cov,cargo-nextest

- name: Generate coverage
run: cargo llvm-cov nextest --all-features --lcov --output-path lcov.info

- name: Upload coverage
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: lcov.info
slug: MatthewMckee4/action-format
fail_ci_if_error: true
Loading