parent
22fdbc27b6
commit
14c15a7a51
1 changed files with 12 additions and 47 deletions
59
.github/workflows/ci.yml
vendored
59
.github/workflows/ci.yml
vendored
|
@ -4,62 +4,27 @@ on:
|
|||
push:
|
||||
pull_request:
|
||||
|
||||
# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
|
||||
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
|
||||
concurrency:
|
||||
group: "pages"
|
||||
cancel-in-progress: false
|
||||
defaults:
|
||||
run:
|
||||
shell: "nix shell nixpkgs#git-lfs --command {0}"
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-22.04
|
||||
container: nixpkgs/nix-flakes:nixos-24.05
|
||||
steps:
|
||||
- name: Setup NIX CI Environment
|
||||
run: |
|
||||
nix profile install nixpkgs#git-lfs nixpkgs#gnused
|
||||
echo "substituters = https://nixpkgs-cache.qo.is?priority=39" >> /etc/nix/nix.conf
|
||||
echo "trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" >> /etc/nix/nix.conf
|
||||
mkdir -p ~/.config/nix && cp /etc/nix/nix.conf ~/.config/nix/
|
||||
- name: Checkout Repository
|
||||
shell: "nix shell nixpkgs#git-lfs nixpkgs#gnused --command {0}"
|
||||
run: |
|
||||
git config --global credential.helper store
|
||||
git config --global advice.detachedHead false
|
||||
git lfs install
|
||||
AUTH_URL=`echo -n "$GITHUB_SERVER_URL" | sed "s%https://%https://oauth2:$GITHUB_TOKEN@%"`
|
||||
# Disable clone protection to pull LFS as well
|
||||
GIT_CLONE_PROTECTION_ACTIVE=false git clone --branch $GITHUB_REF_NAME --recurse-submodules $AUTH_URL/$GITHUB_REPOSITORY .
|
||||
- name: Run Nix Build
|
||||
shell: "nix shell nixpkgs#git-lfs --command {0}"
|
||||
run: nix build .
|
||||
- name: Run Nix Checks
|
||||
shell: "nix shell nixpkgs#git-lfs --command {0}"
|
||||
- name: Initialize CI
|
||||
uses: https://git.qo.is/qo.is/actions-nix-init@main
|
||||
|
||||
- name: Build
|
||||
run: nix build
|
||||
|
||||
- name: Run Checks
|
||||
run: nix flake check
|
||||
- name: Deploy page
|
||||
|
||||
- name: Deploy
|
||||
if: success() && github.ref == 'refs/heads/main'
|
||||
shell: "nix shell nixpkgs#git-lfs --command {0}"
|
||||
run: |
|
||||
mkdir ~/.ssh/
|
||||
(umask 0077 && printf "%s" "${{ secrets.SSH_DEPLOY_KEY }}" > ~/.ssh/id_ed25519 && echo >> ~/.ssh/id_ed25519)
|
||||
echo -e "Host lindberg-webapps.backplane.net.qo.is\n StrictHostKeyChecking no" >> ~/.ssh/config
|
||||
nix run .#deploy
|
||||
# - uses: actions/upload-pages-artifact@v3
|
||||
# with:
|
||||
# path: result/
|
||||
|
||||
# deploy:
|
||||
# environment:
|
||||
# name: github-pages
|
||||
# url: ${{ steps.deployment.outputs.page_url }}
|
||||
# runs-on: ubuntu-latest
|
||||
# needs: build
|
||||
# permissions:
|
||||
# pages: write # to deploy to Pages
|
||||
# id-token: write # to verify the deployment originates from an appropriate source
|
||||
# steps:
|
||||
# - name: Deploy to GitHub Pages
|
||||
# id: deployment
|
||||
# uses: actions/deploy-pages@v4
|
||||
# with:
|
||||
# preview: true
|
||||
|
|
Loading…
Reference in a new issue