Skip to content

Comments

Upgrade build toolchain: Hugo 0.156.0, Go 1.25, PaperMod Jan 2026#127

Merged
vasylenko merged 9 commits intomainfrom
back-in-black
Feb 19, 2026
Merged

Upgrade build toolchain: Hugo 0.156.0, Go 1.25, PaperMod Jan 2026#127
vasylenko merged 9 commits intomainfrom
back-in-black

Conversation

@vasylenko
Copy link
Owner

@vasylenko vasylenko commented Feb 19, 2026

Summary

Full dependency refresh after ~12 months of dormancy. Eliminates all EOL software from the build chain.

  • Hugo 0.143.1 → 0.156.0 (13 minor releases, template system rewrite in v0.146.0)
  • Go 1.22 (EOL) → 1.25
  • PaperMod Feb 2025 → Jan 2026 (~40 commits)
  • GitHub Actions checkout@v4→v6, upload-artifact@v4→v6, download-artifact@v4→v7 (Node.js 20→24, ahead of Mar 4 EOL)
  • Dockerfile pinned Alpine 3.23, fixed archive naming and typo

Bug fixes included

  • CSS syntax error in minimalistic-blog-items-list.css (stray = character)
  • Font format mismatch: format('woff')format('woff2') for all 8 font-face declarations
  • Deprecated minify config key: keepConditionalCommentskeepSpecialComments
  • Removed deprecated kind front matter from about page
  • Replaced deprecated gist shortcode with inline code block

Template changes

  • Dropped cover.html override — upstream PaperMod now has lazy loading, global resources fallback, semantic <figcaption>
  • Kept single.html override (upstream still lacks hook support), aligned indentation with upstream

Dead code removed

  • Deprecated Mailchimp email subscribe partial
  • Unused heapanalyticsid from production config

Test plan

  • docker compose build succeeds with Hugo 0.156.0 / Go 1.25
  • Development build: zero errors, zero warnings, 53 pages
  • Production build with minification: zero errors, zero warnings, 52 pages
  • Preview deployment loads correctly at Cloudflare Pages URL
  • Spot-check: homepage grid, post with cover image, post with figure shortcodes, about page, CV page

Verification

grep -rn '@v4' .github/                              # 0 matches ✓
grep -rn 'golang:1.22\|go 1.22' hugo-runtime.dockerfile go.mod  # 0 matches ✓
grep -rn "format('woff')" layouts/partials/extend_head.html      # 0 matches ✓
grep -rn '0\.143' .env                                           # 0 matches ✓

Created with Claude Code under the supervision of Serhii Vasylenko

Full dependency refresh after 12 months dormancy:
- Hugo 0.143.1 → 0.156.0, Go 1.22 → 1.25, PaperMod Feb 2025 → Jan 2026
- Dockerfile: pin Alpine 3.23, fix archive naming (linux-amd64), fix tar.gz typo
- GitHub Actions: bump checkout@v6, upload-artifact@v6, download-artifact@v7
- Fix CSS syntax error in minimalistic-blog-items-list.css (stray = char)
- Fix font format declarations: format('woff') → format('woff2') for woff2 files
- Fix deprecated minify config: keepConditionalComments → keepSpecialComments
- Remove deprecated kind front matter from about page
- Inline gist content to replace deprecated gist shortcode
- Drop cover.html override in favor of upstream (adds lazy loading, figcaption)
- Align single.html override with upstream indentation (keep hooks)
- Remove dead code: Mailchimp partial, heapanalyticsid config

Created with Claude Code under the supervision of Serhii Vasylenko
Remove the Beehiiv email subscription form from blog posts:
- Remove 9 inline {{< email-subscription >}} shortcode usages from posts
- Remove post-content-end hook that injected the form after every post
- Delete shortcode, component partial, CSS, and hook files
- Drop single.html override (only existed for the now-empty hooks)
- Remove EmailSubscribeForm config param from dev/prod configs
- Remove EmailSubscribeForm front matter from about and cv pages
- Update CLAUDE.md shortcode reference table

Created with Claude Code under the supervision of Serhii Vasylenko
Use TARGETARCH in Dockerfile to download the correct Hugo binary per
platform. Build for both linux/amd64 (CI) and linux/arm64 (macOS dev).
CI workflow now uses docker/build-push-action with QEMU for cross-arch.

Local builds are 2.6x faster (native ARM vs Rosetta emulation).

Created with Claude Code under the supervision of Serhii Vasylenko
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant