name: Deploy to GitHub Pages on: push: branches: [main] paths: - 'docs/**' - '.github/workflows/**' permissions: contents: read pages: write id-token: write jobs: build: runs-on: ubuntu-latest steps: - name: Checkout your repository using git uses: actions/checkout@v4 - name: Install, build, and upload your site output uses: withastro/action@v4 with: path: ./docs # The root location of your Astro project inside the repository. (optional) node-version: 20 # The specific version of Node that should be used to build your site. Defaults to 22. (optional) package-manager: yarn@1.22.22 # The Node package manager that should be used to install dependencies and build your site. Automatically detected based on your lockfile. (optional) deploy: needs: build runs-on: ubuntu-latest environment: name: github-pages url: ${{ steps.deployment.outputs.page_url }} steps: - name: Deploy to GitHub Pages id: deployment uses: actions/deploy-pages@v4