mirror of
https://github.com/ryanccn/flake.git
synced 2026-01-26 19:56:29 +01:00
59 lines
1.5 KiB
YAML
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 }}'
|