Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
93 changes: 93 additions & 0 deletions .github/workflows/deploy-preview.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
# Workflow for building and deploying Hugo PR previews to GitHub Pages
name: preview-deploy

on:
pull_request_target:
branches: [ "master" ]
types: [opened, synchronize, reopened]

workflow_dispatch:

# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages and comments
permissions:
contents: write
pages: write
pull-requests: write

concurrency:
group: "pages-${{ github.event.pull_request.number || github.run_id }}"
cancel-in-progress: true

# Default to bash
defaults:
run:
shell: bash

jobs:
# Build and Deploy job
build-and-deploy:
runs-on: ubuntu-latest
env:
HUGO_VERSION: 0.147.9
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@v6
with:
ref: ${{ github.event.pull_request.head.sha }}
submodules: recursive
fetch-depth: 0

- 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
run: |
# Dynamically set BaseURL for PR preview
# Format: https://<ORG>.github.io/<REPO>/pr-preview/pr-<NUMBER>/
# We use github context to make it generic
REPO_NAME=$(echo "${{ github.repository }}" | cut -d'/' -f2)
ORG_NAME=$(echo "${{ github.repository }}" | cut -d'/' -f1)

PR_BASE_URL="https://${ORG_NAME}.github.io/${REPO_NAME}/pr-preview/pr-${{ github.event.pull_request.number }}/"

echo "Building for BaseURL: ${PR_BASE_URL}"

hugo \
--gc \
--minify \
--buildDrafts \
--buildFuture \
--baseURL "${PR_BASE_URL}"

- name: Deploy PR Preview
id: deploy-preview
uses: rossjrw/pr-preview-action@v1.6.3
with:
source-dir: ./public
preview-branch: gh-pages
umbrella-dir: pr-preview
action: auto
comment: false

- name: Comment PR with Preview URL
uses: marocchino/sticky-pull-request-comment@v2
if: github.event_name == 'pull_request_target'
with:
header: pr-preview
message: |
🚀 **Preview deployment for PR #${{ github.event.pull_request.number }}**

🌐 **Preview URL**: ${{ steps.deploy-preview.outputs.preview-url }}

_This preview will be updated automatically when you push new commits to this PR._
117 changes: 0 additions & 117 deletions .github/workflows/static.yml

This file was deleted.