clck 0.1.4

A responsive cross-platform countdown alarm for the terminal.
Documentation
name: CI

on:
  pull_request:
    branches: [master]
  push:
    branches: [master]
  workflow_dispatch:

permissions:
  contents: read

jobs:
  validate:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v6
      - uses: actions/setup-node@v4
        with:
          node-version: 22
          cache: npm
          cache-dependency-path: docs-site/package-lock.json
      - run: npm ci --prefix docs-site
      - run: npm test --prefix docs-site
      - run: npm run docs:build --prefix docs-site
      - uses: dtolnay/rust-toolchain@stable
        with:
          components: rustfmt, clippy
      - uses: Swatinem/rust-cache@v2
      - name: Install Linux audio build dependencies
        run: sudo apt-get update && sudo apt-get install --yes libasound2-dev pkg-config
      - name: Validate GitHub Actions workflows
        run: go run github.com/rhysd/actionlint/cmd/actionlint@v1.7.7
      - name: Test release tooling
        run: |
          bash scripts/test-release-version.sh
          bash scripts/test-set-release-version.sh
          bash scripts/test-package-release.sh
          bash -n scripts/*.sh
      - run: cargo fmt --check
      - run: cargo test --locked
      - run: cargo clippy --locked --all-targets -- -D warnings
      - run: cargo build --locked --release