1
0
Fork 0
mirror of https://github.com/ryanccn/flake.git synced 2026-01-26 19:56:29 +01:00
flake/.github/workflows/check.yml
2025-12-27 18:10:33 +08:00

59 lines
1.5 KiB
YAML

# SPDX-FileCopyrightText: 2025 Ryan Cao <hello@ryanccn.dev>
#
# SPDX-License-Identifier: Apache-2.0
name: Check
on:
push:
branches: ["main"]
pull_request:
branches: ["main"]
permissions:
contents: read
jobs:
collect:
runs-on: ubuntu-latest
outputs:
checks: ${{ steps.checks.outputs.checks }}
steps:
- name: Checkout repository
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # ratchet:actions/checkout@v6
with:
persist-credentials: false
- name: Install Nix
run: .github/workflows/install-nix.sh
env:
GITHUB_TOKEN: ${{ github.token }}
- name: Collect checks
id: checks
run: |
echo "checks=$(nix eval --impure --json --expr 'builtins.attrNames (builtins.getFlake (toString ./.)).checks.${builtins.currentSystem}')" | tee "$GITHUB_OUTPUT"
check:
needs: collect
strategy:
matrix:
check: ${{ fromJson(needs.collect.outputs.checks) }}
fail-fast: false
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # ratchet:actions/checkout@v6
with:
persist-credentials: false
- name: Install Nix
run: .github/workflows/install-nix.sh
env:
GITHUB_TOKEN: ${{ github.token }}
- name: Check
run: nix build --fallback --print-build-logs '.#checks.x86_64-linux.${{ matrix.check }}'