diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml index 6dbd9f7..aa79430 100644 --- a/.github/workflows/publish.yaml +++ b/.github/workflows/publish.yaml @@ -4,13 +4,11 @@ env: WC_HUGO_VERSION: '0.126.3' on: - # Trigger the workflow every time you push to the `main` branch push: - branches: ["main"] - # Allows you to run this workflow manually from the Actions tab on GitHub. + branches: + - main workflow_dispatch: -# Provide permission to clone the repo and deploy it to GitHub Pages permissions: contents: read pages: write @@ -21,52 +19,48 @@ concurrency: cancel-in-progress: false jobs: - # Build website build: if: github.repository_owner != 'HugoBlox' runs-on: ubuntu-latest steps: - - name: Checkout - uses: actions/checkout@v4 - with: - # Fetch history for Hugo's .GitInfo and .Lastmod - fetch-depth: 0 - - name: Setup Hugo - uses: peaceiris/actions-hugo@v2 - with: - hugo-version: ${{ env.WC_HUGO_VERSION }} - extended: true - - uses: actions/cache@v4 - with: - path: /tmp/hugo_cache_runner/ - key: ${{ runner.os }}-hugomod-${{ hashFiles('**/go.mod') }} - restore-keys: | - ${{ runner.os }}-hugomod- - - name: Setup Pages - id: pages - uses: actions/configure-pages@v3 - - name: Build with Hugo - env: - HUGO_ENVIRONMENT: production - run: | - echo "Hugo Cache Dir: $(hugo config | grep cachedir)" - hugo --minify --baseURL "${{ steps.pages.outputs.base_url }}/" - - name: Generate Pagefind search index - run: npx pagefind --site "public" - - name: Upload artifact - uses: actions/upload-pages-artifact@v2 - with: - path: ./public + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup Hugo + uses: peaceiris/actions-hugo@v2 + with: + hugo-version: ${{ env.WC_HUGO_VERSION }} + extended: true + + - name: Cache Hugo Modules + uses: actions/cache@v4 + with: + path: /tmp/hugo_cache_runner/ + key: ${{ runner.os }}-hugomod-${{ hashFiles('**/go.mod') }} + restore-keys: | + ${{ runner.os }}-hugomod- + + - name: Build site + run: | + hugo --minify --baseURL "${{ github.pages_url }}/" + + - name: Generate Pagefind search index + run: npx pagefind --site "public" + + - name: Upload artifact + uses: actions/upload-pages-artifact@v4 + with: + path: public - # Deploy website to GitHub Pages hosting deploy: - if: github.repository_owner != 'HugoBlox' environment: name: github-pages - url: ${{ steps.deployment.outputs.page_url }} runs-on: ubuntu-latest needs: build + permissions: + pages: write + id-token: write + steps: - - name: Deploy to GitHub Pages - id: deployment - uses: actions/deploy-pages@v2 + - name: Deploy to GitHub Pages + uses: actions/deploy-pages@v4