flake/.github/workflows/ci.yml
2024-04-01 23:32:30 +02:00

68 lines
1.6 KiB
YAML

name: nix ci
on:
push:
jobs:
eval:
name: eval flake
runs-on: ubuntu-latest
outputs:
matrix: ${{ steps.eval.outputs.matrix }}
steps:
- uses: actions/checkout@v4
- uses: DeterminateSystems/nix-installer-action@v9
- name: evaluate packages
id: eval
run: echo "matrix=$(nix eval --json .#ghaMatrix)" >> "$GITHUB_OUTPUT"
build:
needs: eval
strategy:
matrix: ${{ fromJson(needs.eval.outputs.matrix) }}
name: build ${{ matrix.pkg }}
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: DeterminateSystems/nix-installer-action@v9
- name: setup attic
uses: ryanccn/attic-action@v0
with:
endpoint: https://attic.uku3lig.net
cache: uku
token: ${{ secrets.ATTIC_TOKEN }}
- name: build
run: nix build -L --accept-flake-config .#${{ matrix.pkg }}
deploy:
needs: build
runs-on: ubuntu-latest
if: github.ref == 'refs/heads/somebranchnamethatwillneverexistcolonthree'
steps:
- uses: actions/checkout@v4
- uses: DeterminateSystems/nix-installer-action@v9
- name: connect to tailscale
uses: tailscale/github-action@v2
with:
oauth-client-id: ${{ secrets.TS_CLIENT_ID }}
oauth-secret: ${{ secrets.TS_OAUTH_SECRET }}
tags: tag:gha
- name: copy known_hosts
run: |
set -eux
[ ! -d ~/.ssh ] && mkdir -p ~/.ssh
cp .known_hosts ~/.ssh/known_hosts
- name: deploy
run: nix run --inputs-from . 'nixpkgs#deploy-rs' -- -s