From d3480d80a4bc40093a0218c87722caa0f1dad230 Mon Sep 17 00:00:00 2001 From: Shailesh Appukuttan Date: Wed, 21 Feb 2024 19:43:51 +0100 Subject: [PATCH] Update main.yml --- .github/workflows/main.yml | 86 ++++++++++++++++++++++++-------------- 1 file changed, 54 insertions(+), 32 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 93e3cbe..323e900 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,48 +1,70 @@ -# This is a basic workflow to help you get started with Actions -# based on https://github.com/Chrede88/cjsolsen.com/blob/master/.github/workflows/main.yml -# https://github.com/wowchemy/wowchemy-hugo-themes/blob/main/.github/workflows/build-test-site.yaml -# https://www.jameswright.xyz/post/20200409/deploy_wowchemy_to_githubio/ +name: Deploy website to GitHub Pages -name: Build site and deploy to GitHub +env: + WC_HUGO_VERSION: '0.119.0' on: + # Trigger the workflow every time you push to the `main` branch push: - branches: - - main + branches: ["main"] + # Allows you to run this workflow manually from the Actions tab on GitHub. + workflow_dispatch: -permissions: write-all +# Provide permission to clone the repo and deploy it to GitHub Pages +permissions: + contents: read + pages: write + id-token: write + +concurrency: + group: "pages" + cancel-in-progress: false jobs: - hugo: + # Build website + build: + if: github.repository_owner != 'HugoBlox' runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - name: Checkout + uses: actions/checkout@v4 with: - submodules: 'recursive' - # <> - # <> - token: ${{ secrets.GITHUB_TOKEN }} # <> + # Fetch history for Hugo's .GitInfo and .Lastmod fetch-depth: 0 - # <> - - # https://github.com/marketplace/actions/hugo-setup - name: Setup Hugo uses: peaceiris/actions-hugo@v2 with: - hugo-version: 'latest' + hugo-version: ${{ env.WC_HUGO_VERSION }} extended: true - - - name: Build - run: hugo --minify - - # https://github.com/marketplace/actions/hugo-build-and-deploy - - name: Build site and push to release branch in the submodule - uses: aormsby/hugo-deploy-to-pages@v2.1 - id: build_step # <> + - uses: actions/cache@v3 with: - source_branch: 'main' - release_branch: 'main' - submodule_release_branch: 'main' - full_rebuild: false - hugo_publish_directory: 'public' - test_mode: true + 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: Upload artifact + uses: actions/upload-pages-artifact@v2 + 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 + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v2