Skip to content

Upgrade Hugo to 0.163.3 and add Playwright E2E tests#730

Closed
rossigee wants to merge 7 commits into
goharbor:mainfrom
rossigee:docs/dockerfile-display
Closed

Upgrade Hugo to 0.163.3 and add Playwright E2E tests#730
rossigee wants to merge 7 commits into
goharbor:mainfrom
rossigee:docs/dockerfile-display

Conversation

@rossigee

Copy link
Copy Markdown

Summary

  • Upgrade Hugo from 0.74.0 (2020) to 0.163.3 (latest stable)
  • Fix breaking changes: markdownify on template.HTML, disableKinds taxonomy rename, mediaTypes config, toCSS → css.Sass
  • Add Playwright E2E test suite validating breaking changes are fixed
  • Update npm dependencies to latest versions (autoprefixer, bulma, postcss-cli)
  • Fix .gitignore to not track generated cli-docs content

Test plan

✅ All 5 Playwright E2E tests passing
✅ Production build succeeds
✅ _redirects file generated correctly
✅ CSS pipeline works with updated packages
✅ No npm audit vulnerabilities

Files changed

  • Hugo version pins: netlify.toml, Dockerfile
  • Template fixes: layouts/partials/admonition.html, layouts/partials/css.html
  • Configuration: config.toml (disableKinds, mediaTypes)
  • Tests: e2e/breaking-changes.spec.ts, playwright.config.ts
  • Dependencies: package.json (npm packages and Playwright test suite)
  • Documentation: README.md, Makefile
  • Cleanup: Removed unused version.html shortcode, cli-docs from git tracking

@rossigee rossigee requested review from a team as code owners June 30, 2026 11:22
@rossigee rossigee force-pushed the docs/dockerfile-display branch from 7c5a97b to 832c9cb Compare June 30, 2026 11:24
rossigee added 6 commits June 30, 2026 18:27
Breaking changes fixed:
- markdownify on template.HTML: Add string cast in admonition.html
- disableKinds: Rename taxonomyTerm to term in config.toml
- mediaTypes: Replace delimiter with suffixes array
- toCSS: Replace with css.Sass function
- Removed unused version.html shortcode

New features:
- Add Playwright E2E test suite to validate breaking changes are fixed
- Tests cover admonition rendering, custom output formats, CSS pipeline
- Update Dockerfile and netlify.toml to pin Hugo 0.163.3
- Simplify CSS pipeline and remove unreliable .Site.IsServer usage

Signed-off-by: Ross Golder <ross@golder.org>
- autoprefixer: 9.8.5 → 10.5.2
- bulma: 0.8.2 → 1.0.4
- postcss-cli: 7.1.2 → 11.0.1

Verified CSS pipeline still works correctly with new versions.
Fixed npm audit vulnerabilities (picomatch ReDoS).

Signed-off-by: Ross Golder <ross@golder.org>
- Use docs page with admonitions instead of blog post
- Remove toBeVisible() checks on metadata elements (always hidden)
- Separate CSS pipeline live test from fingerprinting validation
- All 5 tests now pass successfully

Signed-off-by: Ross Golder <ross@golder.org>
- Document Playwright E2E tests in README
- Add 'make test' and 'make test-ui' targets
- Tests validate Hugo breaking changes are fixed

Signed-off-by: Ross Golder <ross@golder.org>
Signed-off-by: Ross Golder <ross@golder.org>
The content/cli-docs/ directory is generated at build time by cli-docs.sh,
similar to content/docs/. It should not be tracked in git.

This reverts the accidental tracking added in PR goharbor#645 by untracking the 109
generated files and adding content/cli-docs/ to .gitignore.

Signed-off-by: Ross Golder <ross@golder.org>
@rossigee rossigee force-pushed the docs/dockerfile-display branch from 832c9cb to 121cf05 Compare June 30, 2026 11:28
Runs on all PRs and pushes to main:
- Build validation with Hugo 0.163.3
- Playwright E2E tests with Chromium
- YAML and whitespace linting

Artifacts:
- build-output: public/ directory (5-day retention)
- playwright-report: test results (7-day retention)

Signed-off-by: Ross Golder <ross@golder.org>
@rossigee rossigee force-pushed the docs/dockerfile-display branch from a23ee47 to f530836 Compare June 30, 2026 11:39
@rossigee

Copy link
Copy Markdown
Author

Reopening with fresh base against current main

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.

4 participants