# Inspired from https://github.com/nix-community/nix-on-droid/blob/039379abeee67144d4094d80bbdaf183fb2eabe5/.github/workflows/docs.yml name: Deploy docs on: push: branches: ["main"] workflow_dispatch: # Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages permissions: contents: read pages: write id-token: write # Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. # However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. concurrency: group: "pages" cancel-in-progress: false jobs: # Single deploy job since we're just deploying deploy: environment: name: github-pages url: ${{ steps.deployment.outputs.page_url }} runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v3 - name: Install nix uses: cachix/install-nix-action@v20 - name: Setup Caching uses: cachix/cachix-action@v14 with: name: selfhostblocks authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}' - name: Build docs run: | nix \ --print-build-logs \ --option keep-going true \ --show-trace \ build .#manualHtml # see https://github.com/actions/deploy-pages/issues/58 cp \ --recursive \ --dereference \ --no-preserve=mode,ownership \ result/share/doc/selfhostblocks \ public - name: Setup Pages uses: actions/configure-pages@v3 - name: Upload artifact uses: actions/upload-pages-artifact@v1 with: path: ./public - name: Deploy to GitHub Pages id: deployment uses: actions/deploy-pages@v2