name: Build and deploy documentation on: push: # Runs on pushes targeting the default branch branches: [main] # Allows you to run this workflow manually from the Actions tab workflow_dispatch: # Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages permissions: contents: read pages: write id-token: write # Allow one concurrent deployment concurrency: group: "pages" cancel-in-progress: true jobs: deploy: environment: name: github-pages url: ${{ steps.deployment.outputs.page_url }} runs-on: ubuntu-latest timeout-minutes: 40 steps: - name: Checkout uses: actions/checkout@v4 - name: Setup pages uses: actions/configure-pages@v5 - name: Install nix uses: cachix/install-nix-action@v26 with: nix_path: nixpkgs=channel:nixos-unstable - name: Configure cachix uses: cachix/cachix-action@v15 with: name: nix-community authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}' - run: ./build-docs.sh - name: Upload artifact uses: actions/upload-pages-artifact@v3 with: path: "docs-build" - name: Deploy to GitHub Pages id: deployment uses: actions/deploy-pages@v4