79 lines
1.9 KiB
YAML
79 lines
1.9 KiB
YAML
name: Cachix
|
|
|
|
# This workflow serves to
|
|
# - keep cachix up to date with the main branch
|
|
# - incrementally update cachix for large dependency
|
|
# updates, e.g. after running postgrest-nixpkgs-upgrade,
|
|
# which can cause the main CI workflow to time out
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
push:
|
|
branches:
|
|
- main
|
|
- rel-*
|
|
tags:
|
|
- v*
|
|
|
|
jobs:
|
|
Seed-Cachix:
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
include:
|
|
- os: Linux
|
|
runs-on: ubuntu-latest
|
|
- os: MacOS
|
|
runs-on: macos-latest
|
|
name: Seed ${{ matrix.os }}
|
|
runs-on: ${{ matrix.runs-on }}
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- name: Setup Nix Environment
|
|
uses: ./.github/actions/setup-nix
|
|
with:
|
|
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
|
|
|
|
- name: Install cachix tooling
|
|
run: |
|
|
nix-env -f default.nix -iA devTools.pushCachix.bin
|
|
postgrest-push-cachix
|
|
|
|
- name: Seed dynamic postgrest build
|
|
run: |
|
|
nix-build -A postgrestPackage
|
|
postgrest-push-cachix
|
|
|
|
- name: Seed style tools
|
|
run: |
|
|
nix-build -A style
|
|
postgrest-push-cachix
|
|
|
|
- name: Seed test tools
|
|
run: |
|
|
nix-build -A tests
|
|
postgrest-push-cachix
|
|
|
|
- name: Seed static toolchain
|
|
if: matrix.os == 'Linux'
|
|
run: |
|
|
nix-build -A packagesStatic.haskellPackages.hello
|
|
postgrest-push-cachix
|
|
|
|
- name: Seed static postgresql build (for libpq)
|
|
if: matrix.os == 'Linux'
|
|
run: |
|
|
nix-build -A packagesStatic.pkgs.postgresql
|
|
postgrest-push-cachix
|
|
|
|
- name: Seed static postgrest build
|
|
if: matrix.os == 'Linux'
|
|
run: |
|
|
nix-build -A postgrestStatic
|
|
postgrest-push-cachix
|
|
|
|
- name: Build and push everything to Cachix
|
|
run: |
|
|
nix-build
|
|
postgrest-push-cachix
|