name: Nix
on:
push:
branches: ["main"]
pull_request:
branches: ["main"]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install Nix
uses: DeterminateSystems/nix-installer-action@v12
- name: Nix Cache
uses: DeterminateSystems/magic-nix-cache-action@v7
- name: Format
run: nix build .#fmt
- name: Format non-Rust
run: nix build .#checks.x86_64-linux.treefmt
- name: Deny (audit + licenses + bans)
run: nix build .#deny
- name: Clippy
run: nix build .#clippy
- name: Build docs
run: nix build .#doc
- name: Test
run: nix build .#test
- name: Build cmprss
run: nix build .#cmprss
- name: Build static musl binary
run: nix build .#cmprss-static
- name: Forgotten checks
run: nix flake check
coverage:
runs-on: ubuntu-latest
needs: build
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install Nix
uses: DeterminateSystems/nix-installer-action@v12
- name: Nix Cache
uses: DeterminateSystems/magic-nix-cache-action@v7
- name: Build Coverage
run: nix build -L .#coverage
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
file: ./result/lcov.info