name: Build and deploy documentation on: push: # Runs on pushes targeting the release branches branches: - main - nixos-24.05 # 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: 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: | set -ex mkdir -p docs-build nix build github:nix-community/nixvim#docs cp -r result/share/doc/nixvim/* docs-build nix build github:nix-community/nixvim/nixos-24.05#docs # TODO: use the new path when 24.11 hits cp -r result/share/doc docs-build/stable - 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