ci: move to cloudflare worker
@@ -0,0 +1,68 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
# @file
|
||||||
|
# Builds a Hugo site hosted on a Cloudflare Worker.
|
||||||
|
#
|
||||||
|
# The Cloudflare Worker automatically installs Node.js dependencies.
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
main() {
|
||||||
|
DART_SASS_VERSION=1.97.1
|
||||||
|
GO_VERSION=1.25.5
|
||||||
|
HUGO_VERSION=0.154.5
|
||||||
|
NODE_VERSION=24.12.0
|
||||||
|
|
||||||
|
export TZ=Europe/Oslo
|
||||||
|
|
||||||
|
# Install Dart Sass
|
||||||
|
echo "Installing Dart Sass ${DART_SASS_VERSION}..."
|
||||||
|
curl -sLJO "https://github.com/sass/dart-sass/releases/download/${DART_SASS_VERSION}/dart-sass-${DART_SASS_VERSION}-linux-x64.tar.gz"
|
||||||
|
tar -C "${HOME}/.local" -xf "dart-sass-${DART_SASS_VERSION}-linux-x64.tar.gz"
|
||||||
|
rm "dart-sass-${DART_SASS_VERSION}-linux-x64.tar.gz"
|
||||||
|
export PATH="${HOME}/.local/dart-sass:${PATH}"
|
||||||
|
|
||||||
|
# Install Go
|
||||||
|
echo "Installing Go ${GO_VERSION}..."
|
||||||
|
curl -sLJO "https://go.dev/dl/go${GO_VERSION}.linux-amd64.tar.gz"
|
||||||
|
tar -C "${HOME}/.local" -xf "go${GO_VERSION}.linux-amd64.tar.gz"
|
||||||
|
rm "go${GO_VERSION}.linux-amd64.tar.gz"
|
||||||
|
export PATH="${HOME}/.local/go/bin:${PATH}"
|
||||||
|
|
||||||
|
# Install Hugo
|
||||||
|
echo "Installing Hugo ${HUGO_VERSION}..."
|
||||||
|
curl -sLJO "https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_linux-amd64.tar.gz"
|
||||||
|
mkdir "${HOME}/.local/hugo"
|
||||||
|
tar -C "${HOME}/.local/hugo" -xf "hugo_extended_${HUGO_VERSION}_linux-amd64.tar.gz"
|
||||||
|
rm "hugo_extended_${HUGO_VERSION}_linux-amd64.tar.gz"
|
||||||
|
export PATH="${HOME}/.local/hugo:${PATH}"
|
||||||
|
|
||||||
|
# Install Node.js
|
||||||
|
echo "Installing Node.js ${NODE_VERSION}..."
|
||||||
|
curl -sLJO "https://nodejs.org/dist/v${NODE_VERSION}/node-v${NODE_VERSION}-linux-x64.tar.xz"
|
||||||
|
tar -C "${HOME}/.local" -xf "node-v${NODE_VERSION}-linux-x64.tar.xz"
|
||||||
|
rm "node-v${NODE_VERSION}-linux-x64.tar.xz"
|
||||||
|
export PATH="${HOME}/.local/node-v${NODE_VERSION}-linux-x64/bin:${PATH}"
|
||||||
|
|
||||||
|
# Verify installations
|
||||||
|
echo "Verifying installations..."
|
||||||
|
echo Dart Sass: "$(sass --version)"
|
||||||
|
echo Go: "$(go version)"
|
||||||
|
echo Hugo: "$(hugo version)"
|
||||||
|
echo Node.js: "$(node --version)"
|
||||||
|
|
||||||
|
# Configure Git
|
||||||
|
echo "Configuring Git..."
|
||||||
|
git config core.quotepath false
|
||||||
|
if [ "$(git rev-parse --is-shallow-repository)" = "true" ]; then
|
||||||
|
git fetch --unshallow
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Build the site
|
||||||
|
echo "Building the site..."
|
||||||
|
cd demo
|
||||||
|
hugo --gc --minify --themesDir=/opt/buildhome --theme=repo
|
||||||
|
}
|
||||||
|
|
||||||
|
set -euo pipefail
|
||||||
|
main "$@"
|
||||||
|
Before Width: | Height: | Size: 52 KiB After Width: | Height: | Size: 52 KiB |
|
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 2.0 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 55 KiB After Width: | Height: | Size: 55 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
@@ -0,0 +1 @@
|
|||||||
|
hugo server --gc --themesDir=../..
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
[build]
|
|
||||||
publish = "exampleSite/public"
|
|
||||||
|
|
||||||
[build.environment]
|
|
||||||
HUGO_VERSION = "0.152.2"
|
|
||||||
HUGO_THEME = "repo"
|
|
||||||
|
|
||||||
[context.production]
|
|
||||||
command = "cd exampleSite && hugo --gc --themesDir ../.. -b ${URL}"
|
|
||||||
[context.production.environment]
|
|
||||||
HUGO_ENV = "production"
|
|
||||||
|
|
||||||
[context.branch-deploy]
|
|
||||||
command = "cd exampleSite && hugo --gc --themesDir ../.. -b ${DEPLOY_PRIME_URL}"
|
|
||||||
|
|
||||||
[context.deploy-preview]
|
|
||||||
command = "cd exampleSite && hugo --gc --themesDir ../.. -b ${DEPLOY_PRIME_URL}"
|
|
||||||
|
|
||||||
[[plugins]]
|
|
||||||
package = "netlify-plugin-hugo-cache-resources"
|
|
||||||
|
|
||||||
[plugins.inputs]
|
|
||||||
# If it should show more verbose logs (optional, default = true)
|
|
||||||
debug = true
|
|
||||||
# Relative path to source directory in case you use Hugo's "--s" option
|
|
||||||
srcdir = "exampleSite"
|
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
name = "hugo-theme-stack"
|
||||||
|
compatibility_date = "2026-01-25"
|
||||||
|
|
||||||
|
[build]
|
||||||
|
command = "chmod a+x ./.ci/build.sh && ./.ci/build.sh"
|
||||||
|
|
||||||
|
[assets]
|
||||||
|
directory = "demo/public"
|
||||||
|
not_found_handling = "404-page"
|
||||||