nix/.github/workflows/quality.yaml
2026-03-03 01:34:27 -05:00

94 lines
2.4 KiB
YAML

name: quality
on:
pull_request:
branches: [main]
push:
branches: [main]
jobs:
changes:
runs-on: ubuntu-latest
outputs:
nix: ${{ steps.changes.outputs.nix }}
lua: ${{ steps.changes.outputs.lua }}
prettier: ${{ steps.changes.outputs.prettier }}
steps:
- uses: actions/checkout@v4
- uses: dorny/paths-filter@v3
id: changes
with:
filters: |
nix:
- '**/*.nix'
- 'flake.lock'
- 'flake.nix'
lua:
- '**/*.lua'
prettier:
- '**/*.json'
- '**/*.yaml'
- '**/*.yml'
- '**/*.md'
- '**/*.toml'
- '**/*.css'
nix-format:
name: Nix Format Check
runs-on: ubuntu-latest
needs: changes
if: ${{ needs.changes.outputs.nix == 'true' }}
steps:
- uses: actions/checkout@v4
- uses: cachix/install-nix-action@v31
- run: nix fmt -- --ci
deadnix:
name: Deadnix Check
runs-on: ubuntu-latest
needs: changes
if: ${{ needs.changes.outputs.nix == 'true' }}
steps:
- uses: actions/checkout@v4
- uses: cachix/install-nix-action@v31
- run: nix develop --command deadnix --fail .
statix:
name: Statix Check
runs-on: ubuntu-latest
needs: changes
if: ${{ needs.changes.outputs.nix == 'true' }}
steps:
- uses: actions/checkout@v4
- uses: cachix/install-nix-action@v31
- run: nix develop --command statix check .
lua-format:
name: Lua Format Check
runs-on: ubuntu-latest
needs: changes
if: ${{ needs.changes.outputs.lua == 'true' }}
steps:
- uses: actions/checkout@v4
- uses: cachix/install-nix-action@v31
- run: nix develop --command stylua --check .
lua-lint:
name: Lua Lint Check
runs-on: ubuntu-latest
needs: changes
if: ${{ needs.changes.outputs.lua == 'true' }}
steps:
- uses: actions/checkout@v4
- uses: cachix/install-nix-action@v31
- run: nix develop --command selene --display-style quiet --config config/nvim/selene.toml .
prettier:
name: Prettier Format Check
runs-on: ubuntu-latest
needs: changes
if: ${{ needs.changes.outputs.prettier == 'true' }}
steps:
- uses: actions/checkout@v4
- uses: cachix/install-nix-action@v31
- run: nix develop --command prettier --check .