Skip to content

Continuous Deploy

Continuous Deploy #9

name: "Nix Deploy"
on:
push:
tags:
- "v*"
workflow_dispatch:
inputs:
target:
description: "The target to deploy to"
required: true
default: "bastion"
type: choice
options:
- bastion
- voyager
- quasar
env:
CACHIX_AUTH_TOKEN: "${{ secrets.CACHIX_AUTH_TOKEN }}"
CACHIX_ACTIVATE_TOKEN: "${{ secrets.CACHIX_ACTIVATE_TOKEN }}"
jobs:
deploy:
strategy:
matrix:
target:
- bastion
- voyager
- quasar
# - deck
runs-on: ubuntu-latest
steps:
- name: Free Disk Space (Ubuntu)
uses: jlumbroso/free-disk-space@main
with:
tool-cache: true
- uses: actions/checkout@v4
- name: Check nix flake inputs
uses: DeterminateSystems/flake-checker-action@main
- name: Install nix
uses: DeterminateSystems/nix-installer-action@main
with:
extra-conf: experimental-features = nix-command flakes repl-flake
- name: Run the magic nix cache
uses: DeterminateSystems/magic-nix-cache-action@main
- uses: cachix/cachix-action@v14
with:
name: gabedunn
signingKey: "${{ secrets.CACHIX_SIGNING_KEY }}"
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
- run: nix run '.#deploy' ${{ matrix.target }}
deploy-all:
runs-on: self-hosted
steps:
- uses: actions/checkout@v4
- uses: cachix/cachix-action@v14
with:
name: gabedunn
signingKey: "${{ secrets.CACHIX_SIGNING_KEY }}"
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
- run: nix run '.#deploy'