name: Publish Hugo site on: push: branches: ["main"] paths: - "site/**" - ".github/workflows/publish-hugo.yml" workflow_dispatch: permissions: contents: read pages: write id-token: write concurrency: group: "pages" cancel-in-progress: true jobs: build: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Setup Hugo uses: peaceiris/actions-hugo@v3 with: hugo-version: "0.125.7" extended: true - name: Build run: hugo --source site --minify --destination public - name: Upload Pages artifact uses: actions/upload-pages-artifact@v3 with: path: public deploy: runs-on: ubuntu-latest needs: build environment: name: github-pages url: ${{ steps.deployment.outputs.page_url }} steps: - name: Deploy to GitHub Pages id: deployment uses: actions/deploy-pages@v4