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@v3 - name: Install nix uses: cachix/install-nix-action@v22 with: nix_path: nixpkgs=channel:nixos-unstable - name: Configure cachix uses: cachix/cachix-action@v13 with: name: nix-community authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}' - run: nix build .#docs --show-trace - name: Upload artifact uses: actions/upload-pages-artifact@v2 with: path: "result/share/doc" - name: Deploy to GitHub Pages id: deployment uses: actions/deploy-pages@v2