58 lines
1.1 KiB
YAML
58 lines
1.1 KiB
YAML
|
name: Docs
|
||
|
|
||
|
on:
|
||
|
push:
|
||
|
branches:
|
||
|
- master
|
||
|
|
||
|
jobs:
|
||
|
build:
|
||
|
name: Build
|
||
|
|
||
|
permissions:
|
||
|
contents: read
|
||
|
|
||
|
runs-on: ubuntu-latest
|
||
|
|
||
|
steps:
|
||
|
- name: Install Nix
|
||
|
uses: DeterminateSystems/nix-installer-action@main
|
||
|
with:
|
||
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||
|
extra-conf: |
|
||
|
extra-experimental-features = nix-command flakes
|
||
|
|
||
|
- name: Set up cache
|
||
|
uses: DeterminateSystems/magic-nix-cache-action@main
|
||
|
|
||
|
- name: Build docs
|
||
|
run: nix -L build github:${{ github.repository }}/${{ github.sha }}#docs
|
||
|
|
||
|
- name: Prepare docs for upload
|
||
|
run: cp -r --dereference --no-preserve=mode,ownership result/ public/
|
||
|
|
||
|
- name: Upload artifact
|
||
|
uses: actions/upload-pages-artifact@v3
|
||
|
with:
|
||
|
path: public/
|
||
|
|
||
|
deploy:
|
||
|
name: Deploy
|
||
|
|
||
|
needs: build
|
||
|
|
||
|
permissions:
|
||
|
pages: write
|
||
|
id-token: write
|
||
|
|
||
|
environment:
|
||
|
name: github-pages
|
||
|
url: ${{ steps.deployment.outputs.page_url }}
|
||
|
|
||
|
runs-on: ubuntu-latest
|
||
|
|
||
|
steps:
|
||
|
- name: Deploy docs to GitHub Pages
|
||
|
id: deployment
|
||
|
uses: actions/deploy-pages@v4
|