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
39 changes: 32 additions & 7 deletions .github/workflows/hugo.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Version-locked deployment workflow for Hugo site with Congo theme
# Hugo 0.148.1 + Congo v2.12.2 + Go 1.20.14 for reproducible builds
# Hugo 0.149.0 + Congo v2.12.2 + Go 1.25.0 for reproducible builds
name: Deploy Hugo site

on:
Expand All @@ -13,19 +13,29 @@ jobs:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
steps:
- uses: actions/checkout@v4.1.7
- uses: actions/checkout@v5.0.0
with:
fetch-depth: 0 # Fetch all history for .GitInfo and .Lastmod

- name: Extract versions from go.mod
id: versions
run: |
GO_VERSION=$(grep "^go " go.mod | awk '{print $2}')
HUGO_VERSION=$(grep "github.com/gohugoio/hugo v" go.mod | awk '{print $2}' | sed 's/v//')
echo "go_version=${GO_VERSION}.0" >> $GITHUB_OUTPUT
echo "hugo_version=${HUGO_VERSION}" >> $GITHUB_OUTPUT
echo "Using Go version: ${GO_VERSION}.0"
echo "Using Hugo version: ${HUGO_VERSION}"

- name: Setup Go
uses: actions/setup-go@v5.2.0
uses: actions/setup-go@v5.5.0
with:
go-version: '1.25.0' # Pin to specific Go version for reproducible builds
go-version: ${{ steps.versions.outputs.go_version }}

- name: Setup Hugo
uses: peaceiris/actions-hugo@v2.6.0
uses: peaceiris/actions-hugo@v3.0.0
with:
hugo-version: '0.148.1' # Pin to 0.148.1 for Congo v2.12.2 compatibility
hugo-version: ${{ steps.versions.outputs.hugo_version }}
extended: true

- name: Debug Environment
Expand All @@ -41,8 +51,23 @@ jobs:

- name: Setup Hugo Modules
run: |
# Clean start - remove any existing module files that might be corrupted
rm -f go.sum

# Only initialize if go.mod doesn't exist
if [ ! -f go.mod ]; then
echo "Initializing Hugo modules..."
hugo mod init github.com/cloudartisan/cloudartisan.github.io
else
echo "go.mod already exists, using existing module configuration"
fi

# Ensure modules are up to date
hugo mod tidy
hugo mod get github.com/jpanther/congo/v2@v2.12.2

# Verify module setup
echo "Module status:"
hugo mod graph

- name: Build
run: hugo --minify --buildFuture
Expand Down
45 changes: 35 additions & 10 deletions .github/workflows/pr-validation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,25 +18,50 @@ jobs:
validate-build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4.1.7
- uses: actions/checkout@v5.0.0
with:
fetch-depth: 0

- name: Extract versions from go.mod
id: versions
run: |
GO_VERSION=$(grep "^go " go.mod | awk '{print $2}')
HUGO_VERSION=$(grep "github.com/gohugoio/hugo v" go.mod | awk '{print $2}' | sed 's/v//')
echo "go_version=${GO_VERSION}.0" >> $GITHUB_OUTPUT
echo "hugo_version=${HUGO_VERSION}" >> $GITHUB_OUTPUT
echo "Using Go version: ${GO_VERSION}.0"
echo "Using Hugo version: ${HUGO_VERSION}"

- name: Setup Go
uses: actions/setup-go@v5.2.0
uses: actions/setup-go@v5.5.0
with:
go-version: '1.25.0'
go-version: ${{ steps.versions.outputs.go_version }}

- name: Setup Hugo
uses: peaceiris/actions-hugo@v2.6.0
uses: peaceiris/actions-hugo@v3.0.0
with:
hugo-version: '0.148.1'
hugo-version: ${{ steps.versions.outputs.hugo_version }}
extended: true

- name: Setup Hugo Modules
run: |
# Clean start - remove any existing module files that might be corrupted
rm -f go.sum

# Only initialize if go.mod doesn't exist
if [ ! -f go.mod ]; then
echo "Initializing Hugo modules..."
hugo mod init github.com/cloudartisan/cloudartisan.github.io
else
echo "go.mod already exists, using existing module configuration"
fi

# Ensure modules are up to date
hugo mod tidy
hugo mod get github.com/jpanther/congo/v2@v2.12.2

# Verify module setup
echo "Module status:"
hugo mod graph

- name: Validate Hugo Configuration
run: |
Expand Down Expand Up @@ -70,13 +95,13 @@ jobs:
- name: Test Build (Development)
run: |
echo "Testing development build..."
hugo --buildDrafts --buildFuture --verbose
hugo --buildDrafts --buildFuture
echo "✅ Development build successful"

- name: Test Build (Production)
run: |
echo "Testing production build..."
hugo --minify --buildFuture --verbose
hugo --minify --buildFuture
echo "✅ Production build successful"

- name: Check Build Output
Expand All @@ -102,7 +127,7 @@ jobs:
validate-content:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4.1.7
- uses: actions/checkout@v5.0.0
with:
fetch-depth: 0

Expand Down Expand Up @@ -162,7 +187,7 @@ jobs:
validate-images:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4.1.7
- uses: actions/checkout@v5.0.0

- name: Check Image References
run: |
Expand Down
2 changes: 1 addition & 1 deletion AI.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
- Repository is cloudartisan.github.io

## Build Commands
- Install Hugo: `go install -tags extended github.com/gohugoio/hugo@v0.145.0`
- Install Hugo: `go install -tags extended github.com/gohugoio/hugo@v0.149.0`
- Update theme modules: `hugo mod get -u`
- Local development: `hugo server -D` (includes draft content)
- Production build: `hugo` (generates static site in /public)
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ This site is built with:

2. Install Hugo (specific version to ensure compatibility):
```
go install -tags extended github.com/gohugoio/hugo@v0.145.0
go install -tags extended github.com/gohugoio/hugo@v0.149.0
```

Ensure your Go bin directory (typically ~/go/bin) is in your PATH.
Expand Down
2 changes: 1 addition & 1 deletion content/posts/2025-04-16-claude-code-tips-memory.md
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ For this Hugo website, I have a project-specific [`CLAUDE.md`](https://github.co
- Follow Congo theme conventions

## Build Commands
- Install Hugo: `go install -tags extended github.com/gohugoio/hugo@v0.145.0`
- Install Hugo: `go install -tags extended github.com/gohugoio/hugo@v0.145.0`
- Local development: `hugo server -D` (includes draft content)
- Production build: `hugo` (generates static site in /public)
- Create new post: `hugo new content/posts/my-post-name.md`
Expand Down
188 changes: 186 additions & 2 deletions go.mod
Original file line number Diff line number Diff line change
@@ -1,5 +1,189 @@
module github.com/cloudartisan/cloudartisan.github.io

go 1.20
go 1.25

require github.com/jpanther/congo/v2 v2.12.2 // indirect
require (
cel.dev/expr v0.24.0 // indirect
cloud.google.com/go v0.121.4 // indirect
cloud.google.com/go/auth v0.16.5 // indirect
cloud.google.com/go/auth/oauth2adapt v0.2.8 // indirect
cloud.google.com/go/compute/metadata v0.8.0 // indirect
cloud.google.com/go/iam v1.5.2 // indirect
cloud.google.com/go/monitoring v1.24.2 // indirect
cloud.google.com/go/storage v1.55.0 // indirect
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.18.1 // indirect
github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.10.1 // indirect
github.com/Azure/azure-sdk-for-go/sdk/internal v1.11.1 // indirect
github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.6.1 // indirect
github.com/Azure/go-autorest v14.2.0+incompatible // indirect
github.com/Azure/go-autorest/autorest/to v0.4.1 // indirect
github.com/AzureAD/microsoft-authentication-library-for-go v1.4.2 // indirect
github.com/BurntSushi/locker v0.0.0-20171006230638-a6e239ea1c69 // indirect
github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.29.0 // indirect
github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.53.0 // indirect
github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.53.0 // indirect
github.com/alecthomas/chroma/v2 v2.20.0 // indirect
github.com/armon/go-radix v1.0.1-0.20221118154546-54df44f2176c // indirect
github.com/aws/aws-sdk-go v1.55.7 // indirect
github.com/aws/aws-sdk-go-v2 v1.38.1 // indirect
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.11 // indirect
github.com/aws/aws-sdk-go-v2/config v1.29.17 // indirect
github.com/aws/aws-sdk-go-v2/credentials v1.17.70 // indirect
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.32 // indirect
github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.84 // indirect
github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.4 // indirect
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.4 // indirect
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.3 // indirect
github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.36 // indirect
github.com/aws/aws-sdk-go-v2/service/cloudfront v1.53.0 // indirect
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.4 // indirect
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.7.4 // indirect
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.17 // indirect
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.18.17 // indirect
github.com/aws/aws-sdk-go-v2/service/s3 v1.84.0 // indirect
github.com/aws/aws-sdk-go-v2/service/sso v1.25.5 // indirect
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.30.3 // indirect
github.com/aws/aws-sdk-go-v2/service/sts v1.34.0 // indirect
github.com/aws/smithy-go v1.22.5 // indirect
github.com/aymerick/douceur v0.2.0 // indirect
github.com/bep/clocks v0.5.0 // indirect
github.com/bep/debounce v1.2.0 // indirect
github.com/bep/gitmap v1.9.0 // indirect
github.com/bep/goat v0.5.0 // indirect
github.com/bep/godartsass/v2 v2.5.0 // indirect
github.com/bep/golibsass v1.2.0 // indirect
github.com/bep/goportabletext v0.1.0 // indirect
github.com/bep/gowebp v0.3.0 // indirect
github.com/bep/helpers v0.6.0 // indirect
github.com/bep/imagemeta v0.12.0 // indirect
github.com/bep/lazycache v0.8.0 // indirect
github.com/bep/logg v0.4.0 // indirect
github.com/bep/mclib v1.20400.20402 // indirect
github.com/bep/overlayfs v0.10.0 // indirect
github.com/bep/simplecobra v0.6.1 // indirect
github.com/bep/tmc v0.5.1 // indirect
github.com/cespare/xxhash/v2 v2.3.0 // indirect
github.com/clbanning/mxj/v2 v2.7.0 // indirect
github.com/cncf/xds/go v0.0.0-20250501225837-2ac532fd4443 // indirect
github.com/cpuguy83/go-md2man/v2 v2.0.6 // indirect
github.com/disintegration/gift v1.2.1 // indirect
github.com/dlclark/regexp2 v1.11.5 // indirect
github.com/dustin/go-humanize v1.0.1 // indirect
github.com/envoyproxy/go-control-plane/envoy v1.32.4 // indirect
github.com/envoyproxy/protoc-gen-validate v1.2.1 // indirect
github.com/evanw/esbuild v0.25.9 // indirect
github.com/fatih/color v1.18.0 // indirect
github.com/felixge/httpsnoop v1.0.4 // indirect
github.com/frankban/quicktest v1.14.6 // indirect
github.com/fsnotify/fsnotify v1.9.0 // indirect
github.com/getkin/kin-openapi v0.133.0 // indirect
github.com/ghodss/yaml v1.0.0 // indirect
github.com/go-jose/go-jose/v4 v4.1.1 // indirect
github.com/go-logr/logr v1.4.3 // indirect
github.com/go-logr/stdr v1.2.2 // indirect
github.com/go-openapi/jsonpointer v0.21.0 // indirect
github.com/go-openapi/swag v0.23.0 // indirect
github.com/gobuffalo/flect v1.0.3 // indirect
github.com/gobwas/glob v0.2.3 // indirect
github.com/gohugoio/go-i18n/v2 v2.1.3-0.20230805085216-e63c13218d0e // indirect
github.com/gohugoio/hashstructure v0.5.0 // indirect
github.com/gohugoio/httpcache v0.7.0 // indirect
github.com/gohugoio/hugo v0.149.0 // indirect
github.com/gohugoio/hugo-goldmark-extensions/extras v0.5.0 // indirect
github.com/gohugoio/hugo-goldmark-extensions/passthrough v0.3.1 // indirect
github.com/gohugoio/locales v0.14.0 // indirect
github.com/gohugoio/localescompressed v1.0.1 // indirect
github.com/golang-jwt/jwt/v5 v5.2.3 // indirect
github.com/google/go-cmp v0.7.0 // indirect
github.com/google/s2a-go v0.1.9 // indirect
github.com/google/uuid v1.6.0 // indirect
github.com/google/wire v0.6.0 // indirect
github.com/googleapis/enterprise-certificate-proxy v0.3.6 // indirect
github.com/googleapis/gax-go/v2 v2.15.0 // indirect
github.com/gorilla/css v1.0.1 // indirect
github.com/gorilla/websocket v1.5.3 // indirect
github.com/hairyhenderson/go-codeowners v0.7.0 // indirect
github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect
github.com/inconshreveable/mousetrap v1.1.0 // indirect
github.com/jdkato/prose v1.2.1 // indirect
github.com/jmespath/go-jmespath v0.4.0 // indirect
github.com/josharian/intern v1.0.0 // indirect
github.com/jpanther/congo/v2 v2.12.2 // indirect
github.com/kr/pretty v0.3.1 // indirect
github.com/kr/text v0.2.0 // indirect
github.com/kylelemons/godebug v1.1.0 // indirect
github.com/kyokomi/emoji/v2 v2.2.13 // indirect
github.com/magefile/mage v1.15.0 // indirect
github.com/mailru/easyjson v0.7.7 // indirect
github.com/makeworld-the-better-one/dither/v2 v2.4.0 // indirect
github.com/marekm4/color-extractor v1.2.1 // indirect
github.com/mattn/go-colorable v0.1.13 // indirect
github.com/mattn/go-isatty v0.0.20 // indirect
github.com/mattn/go-runewidth v0.0.16 // indirect
github.com/microcosm-cc/bluemonday v1.0.27 // indirect
github.com/mitchellh/mapstructure v1.5.1-0.20231216201459-8508981c8b6c // indirect
github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 // indirect
github.com/muesli/smartcrop v0.3.0 // indirect
github.com/niklasfasching/go-org v1.9.1 // indirect
github.com/oasdiff/yaml v0.0.0-20250309154309-f31be36b4037 // indirect
github.com/oasdiff/yaml3 v0.0.0-20250309153720-d2182401db90 // indirect
github.com/olekukonko/errors v1.1.0 // indirect
github.com/olekukonko/ll v0.0.9 // indirect
github.com/olekukonko/tablewriter v1.0.9 // indirect
github.com/pbnjay/memory v0.0.0-20210728143218-7b4eea64cf58 // indirect
github.com/pelletier/go-toml/v2 v2.2.4 // indirect
github.com/perimeterx/marshmallow v1.1.5 // indirect
github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c // indirect
github.com/pkg/errors v0.9.1 // indirect
github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10 // indirect
github.com/rivo/uniseg v0.2.0 // indirect
github.com/rogpeppe/go-internal v1.14.1 // indirect
github.com/russross/blackfriday/v2 v2.1.0 // indirect
github.com/spf13/afero v1.14.0 // indirect
github.com/spf13/cast v1.9.2 // indirect
github.com/spf13/cobra v1.9.1 // indirect
github.com/spf13/fsync v0.10.1 // indirect
github.com/spf13/pflag v1.0.7 // indirect
github.com/spiffe/go-spiffe/v2 v2.5.0 // indirect
github.com/tdewolff/minify/v2 v2.24.0 // indirect
github.com/tdewolff/parse/v2 v2.8.3 // indirect
github.com/tetratelabs/wazero v1.9.0 // indirect
github.com/woodsbury/decimal128 v1.3.0 // indirect
github.com/yuin/goldmark v1.7.13 // indirect
github.com/yuin/goldmark-emoji v1.0.6 // indirect
github.com/zeebo/errs v1.4.0 // indirect
go.opentelemetry.io/auto/sdk v1.1.0 // indirect
go.opentelemetry.io/contrib/detectors/gcp v1.37.0 // indirect
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.62.0 // indirect
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.62.0 // indirect
go.opentelemetry.io/otel v1.37.0 // indirect
go.opentelemetry.io/otel/metric v1.37.0 // indirect
go.opentelemetry.io/otel/sdk v1.37.0 // indirect
go.opentelemetry.io/otel/sdk/metric v1.37.0 // indirect
go.opentelemetry.io/otel/trace v1.37.0 // indirect
go.uber.org/automaxprocs v1.5.3 // indirect
gocloud.dev v0.43.0 // indirect
golang.org/x/crypto v0.41.0 // indirect
golang.org/x/exp v0.0.0-20250819193227-8b4c13bb791b // indirect
golang.org/x/image v0.30.0 // indirect
golang.org/x/mod v0.27.0 // indirect
golang.org/x/net v0.43.0 // indirect
golang.org/x/oauth2 v0.30.0 // indirect
golang.org/x/sync v0.16.0 // indirect
golang.org/x/sys v0.35.0 // indirect
golang.org/x/text v0.28.0 // indirect
golang.org/x/time v0.12.0 // indirect
golang.org/x/tools v0.36.0 // indirect
golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da // indirect
google.golang.org/api v0.248.0 // indirect
google.golang.org/genproto v0.0.0-20250715232539-7130f93afb79 // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20250715232539-7130f93afb79 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20250818200422-3122310a409c // indirect
google.golang.org/grpc v1.74.2 // indirect
google.golang.org/protobuf v1.36.7 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
howett.net/plist v1.0.0 // indirect
rsc.io/qr v0.2.0 // indirect
software.sslmate.com/src/go-pkcs12 v0.2.0 // indirect
)
Loading