nix-packages/.forgejo/workflows/main.yml
imnyang e11bba0f4c
Some checks failed
CI / list-packages (push) Failing after 5s
CI / check (push) Failing after 20s
Update .forgejo/workflows/main.yml
2026-04-25 03:35:36 +00:00

60 lines
1.4 KiB
YAML

name: CI
on:
push:
branches:
- main
pull_request:
jobs:
list-packages:
runs-on: x86_64
outputs:
packages: ${{ steps.set-matrix.outputs.packages }}
steps:
- uses: actions/checkout@v4
- uses: nixbuild/nix-quick-install-action@v29
- id: set-matrix
run: |
PACKAGES=$(nix flake show --json | jq -c '.packages."x86_64-linux" | keys')
echo "packages=$PACKAGES" >> $GITHUB_OUTPUT
check:
runs-on: x86_64
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Check flake
run: |
source /etc/bashrc
nix flake check
build:
needs: list-packages
runs-on: x86_64
strategy:
fail-fast: false
matrix:
package: ${{ fromJson(needs.list-packages.outputs.packages) }}
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Build package
run: |
source /etc/bashrc
nix build .#${{ matrix.package }}
- name: Cache & Push to Attic
if: success()
env:
ATTIC_SERVER: ${{ secrets.ATTIC_SERVER }}
ATTIC_TOKEN: ${{ secrets.ATTIC_TOKEN }}
run: |
source /etc/bashrc
nix shell nixpkgs#attic-client -c bash -c "
attic login imnyang \"$ATTIC_SERVER\" \"$ATTIC_TOKEN\"
attic push imnyang ./result
"