From e1537a7a9ddc38a016d1e2d9ec31cdeef8fe721d Mon Sep 17 00:00:00 2001 From: Jack Champagne Date: Tue, 11 Jun 2024 22:28:42 -0400 Subject: [PATCH 1/4] add hugo build+deploy --- .github/workflows/hugo.yaml | 80 +++++++++++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 .github/workflows/hugo.yaml diff --git a/.github/workflows/hugo.yaml b/.github/workflows/hugo.yaml new file mode 100644 index 0000000..25b1b66 --- /dev/null +++ b/.github/workflows/hugo.yaml @@ -0,0 +1,80 @@ +# Sample workflow for building and deploying a Hugo site to GitHub Pages +name: Deploy Hugo site to Pages + +on: + # Runs on pushes targeting the default branch + push: + branches: + - main + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages +permissions: + contents: read + pages: write + id-token: write + +# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. +# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. +concurrency: + group: "pages" + cancel-in-progress: false + +# Default to bash +defaults: + run: + shell: bash + +jobs: + # Build job + build: + runs-on: ubuntu-latest + env: + HUGO_VERSION: 0.126.0 + steps: + - name: Install Hugo CLI + run: | + wget -O ${{ runner.temp }}/hugo.deb https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_linux-amd64.deb \ + && sudo dpkg -i ${{ runner.temp }}/hugo.deb + - name: Install Dart Sass + run: sudo snap install dart-sass + - name: Checkout + uses: actions/checkout@v4 + with: + submodules: recursive + fetch-depth: 0 + - name: Setup Pages + id: pages + uses: actions/configure-pages@v4 + - name: Install Node.js dependencies + run: "[[ -f package-lock.json || -f npm-shrinkwrap.json ]] && npm ci || true" + - name: Build with Hugo + env: + # For maximum backward compatibility with Hugo modules + HUGO_ENVIRONMENT: production + HUGO_ENV: production + TZ: America/Los_Angeles + run: | + hugo \ + --gc \ + --minify \ + --baseURL "${{ steps.pages.outputs.base_url }}/" + - name: Upload artifact + uses: actions/upload-pages-artifact@v3 + with: + path: ./public + + # Deployment job + deploy: + 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@v4 + From 5531d91324f3c535a1a0692b5e5bd909140f3fad Mon Sep 17 00:00:00 2001 From: Jack Champagne Date: Tue, 11 Jun 2024 22:35:54 -0400 Subject: [PATCH 2/4] build on pull and deploy on push --- .github/workflows/deploy.yaml | 41 +++++++++++++++++++++++++++++++++++ .github/workflows/hugo.yaml | 28 ++---------------------- 2 files changed, 43 insertions(+), 26 deletions(-) create mode 100644 .github/workflows/deploy.yaml diff --git a/.github/workflows/deploy.yaml b/.github/workflows/deploy.yaml new file mode 100644 index 0000000..68fe314 --- /dev/null +++ b/.github/workflows/deploy.yaml @@ -0,0 +1,41 @@ +# Sample workflow for building and deploying a Hugo site to GitHub Pages +name: Deploy Hugo site to Pages + +on: + # Runs on pushes targeting the default branch + push: + branches: + - main + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages +permissions: + contents: read + pages: write + id-token: write + +# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. +# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. +concurrency: + group: "pages" + cancel-in-progress: false + +# Default to bash +defaults: + run: + shell: bash + + # Deployment job + deploy: + 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@v4 + diff --git a/.github/workflows/hugo.yaml b/.github/workflows/hugo.yaml index 25b1b66..82c1ea6 100644 --- a/.github/workflows/hugo.yaml +++ b/.github/workflows/hugo.yaml @@ -1,8 +1,9 @@ # Sample workflow for building and deploying a Hugo site to GitHub Pages -name: Deploy Hugo site to Pages +name: Build Hugo site on: # Runs on pushes targeting the default branch + pull_request: push: branches: - main @@ -10,18 +11,6 @@ on: # Allows you to run this workflow manually from the Actions tab workflow_dispatch: -# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages -permissions: - contents: read - pages: write - id-token: write - -# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. -# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. -concurrency: - group: "pages" - cancel-in-progress: false - # Default to bash defaults: run: @@ -65,16 +54,3 @@ jobs: uses: actions/upload-pages-artifact@v3 with: path: ./public - - # Deployment job - deploy: - 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@v4 - From 6bb03ccdfa7aff4418513a85d60bc0a4c63149f9 Mon Sep 17 00:00:00 2001 From: Jack Champagne Date: Tue, 11 Jun 2024 22:45:48 -0400 Subject: [PATCH 3/4] change gitmodule remote --- .gitmodules | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitmodules b/.gitmodules index 179cb0c..b0b06bd 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,3 @@ [submodule "themes/hello-friend-ng"] path = themes/hello-friend-ng - url = https://github.com/rhazdon/hugo-theme-hello-friend-ng.git + url = https://github.com/jack-champagne/hugo-theme-hello-friend-ng.git From 4041946c2e86b8d3dade496230a85b671c72d951 Mon Sep 17 00:00:00 2001 From: Jack Champagne Date: Tue, 11 Jun 2024 22:58:39 -0400 Subject: [PATCH 4/4] self-hosted --- .github/workflows/deploy.yaml | 2 +- .github/workflows/hugo.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/deploy.yaml b/.github/workflows/deploy.yaml index 68fe314..fd408a7 100644 --- a/.github/workflows/deploy.yaml +++ b/.github/workflows/deploy.yaml @@ -32,7 +32,7 @@ defaults: environment: name: github-pages url: ${{ steps.deployment.outputs.page_url }} - runs-on: ubuntu-latest + runs-on: self-hosted needs: build steps: - name: Deploy to GitHub Pages diff --git a/.github/workflows/hugo.yaml b/.github/workflows/hugo.yaml index 82c1ea6..63ff567 100644 --- a/.github/workflows/hugo.yaml +++ b/.github/workflows/hugo.yaml @@ -19,7 +19,7 @@ defaults: jobs: # Build job build: - runs-on: ubuntu-latest + runs-on: self-hosted env: HUGO_VERSION: 0.126.0 steps: