blog/.forgejo/workflows/ci.yml
Matthew Binning 35d31bea2a
Some checks failed
CI / build (push) Successful in 13s
CI / deploy (push) Failing after 6s
feat!: Separate www into www/blog and www/private
Now the private content is stored as a git submodule.
This means I can keep that repo's source private, but still use it in
the build product.
The build product (website) relies on HTTP basic authentication, so
access control is maintained throughout the SDLC.
2026-04-04 13:32:09 -07:00

35 lines
No EOL
1,007 B
YAML

name: CI
on:
push:
jobs:
build:
runs-on: self-hosted
steps:
- uses: actions/checkout@v4
with:
submodules: false
- name: Build
run: |
git config --global url."https://oauth2:${{ secrets.WWW_PRIVATE_TOKEN }}@forgejo.binning.net/".insteadOf "https://forgejo.binning.net/"
git submodule update --init --depth=1
nix shell nixpkgs#mdbook --command mdbook build
printf "✓ Build complete!\n"
- name: Upload artifact
uses: actions/upload-artifact@v3
with:
name: blog-${{ github.sha }}
path: book/
deploy:
runs-on: self-hosted
steps:
- name: Download artifact
uses: actions/download-artifact@v3
with:
name: blog-${{ github.sha }}
path: book/
- name: Deploy
run: |
nix shell nixpkgs#rsync --command rsync -av --delete book/ /srv/www/binning.net/
printf "✓ Local deployment complete!\n"