nix-packages/.forgejo/workflows/main.yml
imnyang 9e198170ff
All checks were successful
CI / list-packages (push) Successful in 3s
CI / build (pjsk-cursors) (push) Successful in 3s
CI / build (waterfox-bin) (push) Successful in 4s
CI / build (xcursor-mizuki) (push) Successful in 3s
feat: filter out specific pjsk-cursor packages from the build matrix
2026-04-25 13:11:27 +09:00

61 lines
1.5 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
- id: set-matrix
run: |
source /etc/bashrc
PACKAGES=$(nix flake show --json | nix run nixpkgs#jq -- -c '.packages."x86_64-linux" | keys | map(select((startswith("pjsk-cursor-") or (startswith("pjsk-cursors") and . != "pjsk-cursors")) | not))')
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 mizuki \"$ATTIC_SERVER\" \"$ATTIC_TOKEN\"
attic cache info public
attic push public ./result
"