modelsdev 0.11.52

A fast TUI and CLI for browsing AI models, benchmarks, and coding agents
name: Build with Nix
on:
  workflow_dispatch:
  pull_request:
  push:
    branches:
      - main

# Keep only the newest run per PR or ref so force-pushes do not leave stale
# Nix builds queued behind newer commits.
concurrency:
  group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
  cancel-in-progress: true

# Magic Nix Cache authenticates to GitHub's cache service with OIDC, so the
# workflow needs the minimal read + ID token permissions in both jobs.
permissions:
  contents: read
  id-token: write

jobs:
  check:
    strategy:
      fail-fast: false
      matrix:
        os:
          - ubuntu-latest
          - ubuntu-24.04-arm
          - macos-latest
    runs-on: ${{ matrix.os }}
    steps:
      - name: Checkout tree
        uses: actions/checkout@v6
      - name: Install Nix
        uses: DeterminateSystems/determinate-nix-action@v3
      - name: Enable Magic Nix Cache
        uses: DeterminateSystems/magic-nix-cache-action@v13
      - name: Check Flake
        run: nix flake check

  build:
    strategy:
      fail-fast: false
      matrix:
        os:
          - ubuntu-latest
          - ubuntu-24.04-arm
          - macos-latest
    runs-on: ${{ matrix.os }}
    steps:
      - name: Checkout tree
        uses: actions/checkout@v6
      - name: Install Nix
        uses: DeterminateSystems/determinate-nix-action@v3
      - name: Enable Magic Nix Cache
        uses: DeterminateSystems/magic-nix-cache-action@v13
      - name: Build Packages / ${{ matrix.os }}
        run: nix build .