diff --git a/.github/workflows/publish_github_pages.yml b/.github/workflows/publish_github_pages.yml new file mode 100644 index 00000000..79d3f817 --- /dev/null +++ b/.github/workflows/publish_github_pages.yml @@ -0,0 +1,44 @@ +# Workflow to publish to GitHub Pages. Based on the normal +# job (e.g. https://github.com/ClementTsang/bottom/actions/runs/19805277892), +# but re-implemented so I can pin hashes. +# +# This action uses actions/upload-pages-artifact, which uses actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 (v4.6.2). + +name: Publish GitHub Pages + +on: + workflow_dispatch: + push: + branches: + - gh-pages + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + with: + ref: gh-pages + submodules: recursive + fetch-depth: 1 + + - name: Upload artifact + id: upload + uses: actions/upload-pages-artifact@7b1f4a764d45c48632c6b24a0339c27f5614fb0b # v4.0.0 + with: + path: "./" + + deploy: + runs-on: ubuntu-latest + needs: build + environment: + name: github-pages + url: ${{ steps.deploy.outputs.page_url }} + permissions: + pages: write + id-token: write + steps: + - name: Deploy to GitHub Pages + id: deploy + uses: actions/deploy-pages@d6db90164ac5ed86f2b6aed7e0febac5b3c0c03e # v4.0.5