1# Simple workflow for deploying static content to GitHub Pages 2name: Deploy static content to Pages 3 4on: 5 # Runs on pushes targeting the default branch 6 push: 7 branches: ["main"] 8 9 # Allows you to run this workflow manually from the Actions tab 10 workflow_dispatch: 11 12# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages 13permissions: 14 contents: read 15 pages: write 16 id-token: write 17 18# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. 19# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. 20concurrency: 21 group: "pages" 22 cancel-in-progress: false 23 24jobs: 25 # Single deploy job since we're just deploying 26 deploy: 27 environment: 28 name: github-pages 29 url: ${{ steps.deployment.outputs.page_url }} 30 31 runs-on: ubuntu-latest 32 steps: 33 - name: Checkout 34 uses: actions/checkout@v4 35 - name: Checkout submodules 36 run: git submodule update --init --recursive 37 - name: Setup Pages 38 uses: actions/configure-pages@v5 39 - name: Upload artifact 40 uses: actions/upload-pages-artifact@v3 41 with: 42 # Upload entire repository 43 path: "./docs" 44 - name: Deploy to GitHub Pages 45 id: deployment 46 uses: actions/deploy-pages@v4