Skip to content

Keep Releases in Cachix #500

Keep Releases in Cachix

Keep Releases in Cachix #500

name: Keep Releases in Cachix
on:
push:
branches: master
schedule:
- cron: '0 17 * * *'
jobs:
build:
strategy:
matrix:
version: ["v1.3.0", "v1.2.0", "v1.1.0", "v1.0.1", "v1.0.0"]
os: [ubuntu-latest, macos-latest, ARM64]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: cachix/install-nix-action@v26
with:
nix_path: nixpkgs=https://github.com/NixOS/nixpkgs/archive/d899609c2a22bbd345d2ed200c6ebc08a772ccc9.tar.gz
if: matrix.os != 'ARM64'
- uses: cachix/cachix-action@v14
with:
name: digitallyinduced
signingKey: '${{ secrets.CACHIX_SIGNING_KEY }}'
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
if: matrix.os != 'ARM64'
- run: git clone https://github.com/digitallyinduced/ihp-boilerplate.git
- run: |
cd ihp-boilerplate
git checkout ${{ matrix.version }}
if test -f flake.nix; then \
nix develop --impure --command bash -c "new-application Web && make build/bin/RunUnoptimizedProdServer"; \
else \
nix-shell --run "new-application Web && make build/bin/RunUnoptimizedProdServer"; \
fi;
- name: Build IHP app
run: |
cd ihp-boilerplate
if test -f flake.nix; then \
nix develop --impure --profile ihp-boilerplate-profile --command "true"; \
else \
nix-shell --run "true"; \
fi;
- name: Install jq
run: nix profile install nixpkgs#jq
if: matrix.os != 'ARM64'
- name: Push IHP app to cachix
run: |
cd ihp-boilerplate
if test -f flake.nix; then \
cachix push digitallyinduced ihp-boilerplate-profile; \
nix develop --impure --command bash -c 'make -s all; new-application Web'; \
git add .; \
nix build --json --impure | jq -r '.[].outputs | to_entries[].value' | cachix push digitallyinduced; \
fi;