Repository navigation
Fixed the e2e jobs broken by ActivityPub and runner drift - #446
Merged
Merged
Conversation
WIP: ActivityPub pins match main; production import prints Ghost-CLI's debug log on failure to find the ubuntu-26.04 cause.
On ubuntu-26.04, sudo-rs ignores `sudo -E`, so Ghost-CLI 1.34.0's migrate-export loses NODE_ENV when it runs knex-migrator-health as the ghost user, reads Ghost's development config and fails on SQLite. The fix belongs in Ghost-CLI; until then the job runs where sudo keeps -E.
Ghost-CLI 1.34.1 keeps NODE_ENV under sudo-rs, which ignores `sudo -E`, so migrate-export works on ubuntu-26.04 again and the job no longer needs the 24.04 pin. Ubuntu 26.04 sites need that release to export, so the install guide asks for it. - .github/workflows/test.yml: ghost-cli@1.34.1, back on ubuntu-latest - docs/install.md: Ghost-CLI 1.34.1 or later for imports
acburdine
marked this pull request as ready for review
November 2, 2026 19:26
Keeps the tests on the Ghost-CLI release docs/install.md now asks for. The import test's local installs never hit the sudo-rs bug, so this is for consistency, not a fix.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Every PR since about 2026-11-02 (#445, #427) fails the same two e2e jobs. Neither failure comes from a PR; both are drift.
next-dockerlast passed on 2026-10-21.Migration from the released main layout on Linux
main'scompose.ymlmoved ActivityPub to 1.2.16 (renovate #434);next-dockerstill pinned 1.2.14.tests/e2e/migrate-main.shinstalls main's HEAD, which migrates the ActivityPub database with 1.2.16, then runs next-docker's 1.2.14activitypub-migrate, which exits 1 on the newer schema.Fixed by pinning
activitypubandactivitypub-migrationsto main's exact 1.2.16 refs and digests.Why renovate missed it:
.github/renovate.json5sets nobaseBranchPatterns, so Renovate only updates the default branch (main).next-dockergets no image updates at all, so main will keep drifting ahead until the branches merge (2026-12-18). Options: addbaseBranchPatterns: ["$default", "next-docker"](it reads config from the default branch, so that change lands onmain), or keep bumping by hand.Follow-up (not fixed here): migrating a main site whose ActivityPub is newer than the release's pin should be refused before anything changes, with a message to update ghost-docker first, rather than failing mid-migration in
activitypub-migrate. Real users on main get renovate's bumps before a release carries them, so this will happen outside CI too.Production import on Linux
ubuntu-latestmoved to ubuntu-26.04, whosesudois sudo-rs. Ghost-CLI 1.34.0'smigrate-exportrunsknex-migrator-healthwithsudo -E -u ghostandNODE_ENV=productionin the environment. The job's Ghost-CLI debug log (now printed on failure, see below) shows:So NODE_ENV is dropped, knex-migrator reads Ghost's development config (SQLite) instead of production's MySQL, and fails. Not a MySQL version or auth change: Ghost itself installed and ran against MySQL fine.
Ghost-CLI 1.34.1 fixes this upstream, so the job moves to
ghost-cli@1.34.1and stays onubuntu-latest. (An earlier commit here pinned it toubuntu-24.04as a stopgap; that pin is gone.)docs/install.mdnow asks for Ghost-CLI 1.34.1 or later, since 1.34.0's export fails on Ubuntu 26.04 and other sudo-rs hosts.Also
tests/e2e/production-import.sh:ghost_clinow appends the tail of Ghost-CLI's debug log on failure, since a failed subprocess's stderr only appears there. That is how the cause above was found.Changes
compose.yml: ActivityPub and its migrations at 1.2.16, matching main..github/workflows/test.yml: production import on Ghost-CLI 1.34.1.docs/install.md: Ghost-CLI 1.34.1 or later for imports.tests/e2e/production-import.sh: print Ghost-CLI's debug log on failure.🤖 Generated with Claude Code