chore: rip out changesets, auto-publish docker on main merges#1535
chore: rip out changesets, auto-publish docker on main merges#1535brunobuddy wants to merge 1 commit intomainfrom
Conversation
Two cleanups now that the repo has no publishable npm packages. 1. Remove the changesets toolchain entirely. There are no more npm packages to version or publish (backend/frontend/ shared are all private). Keeping changesets around for private-package changelog bookkeeping was dead weight and actively harmful — it fast- failed the release workflow when a pre-existing changeset targeted a deleted package. Delete: - .github/workflows/release.yml (ran changesets/action on main) - .changeset/ (config.json, README, any remaining .md files) - @changesets/cli from devDependencies - changeset-check job from ci.yml - changeset / version-packages / release scripts from package.json 2. Auto-publish the docker image on main merges. Before PR #1528 the release workflow triggered docker.yml via workflow_dispatch when the manifest plugin version bumped. That hook is gone. Without it, the docker image only rebuilds on manual runs, which is a bad default now that docker is the only self-hosting path. Update docker.yml to: - Add `push: branches: [main]` with the same paths filter the PR trigger already uses. - Let the publish job run on both workflow_dispatch and push events. - Use different metadata-action tag strategies per event: * push/auto: latest + sha-<short> * workflow_dispatch with blank version: same as push * workflow_dispatch with semver input: {version}, {major}.{minor}, {major} (explicit release cuts, rarely needed) Also rewrite the "Releases" section of CLAUDE.md so it matches the new reality.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #1535 +/- ##
=======================================
Coverage 98.43% 98.43%
=======================================
Files 118 118
Lines 8653 8653
Branches 3278 3278
=======================================
Hits 8518 8518
Misses 134 134
Partials 1 1
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
|
Closing unmerged — reverting direction. After the user pointed out that changesets is worth keeping for CHANGELOG bookkeeping and that Docker releases should stay explicit, I realized the current
The original orphan-changeset failure was a one-off caused by pre-existing changesets targeting the now-deleted So this PR is unnecessary and would actually undo the changesets flow the user wants to keep. Not merging. |
Summary
Two cleanups now that the repo has no publishable npm packages.
1. Remove the changesets toolchain entirely
Nothing in this repo publishes to npm anymore —
packages/backend,packages/frontend, andpackages/sharedare allprivate: true. Keeping changesets around for private-package changelog bookkeeping was dead weight, and it actively bit us: the release workflow fast-failed on #1528's merge because a pre-existing changeset targeted a package that had just been deleted.Deleted:
.github/workflows/release.yml— the workflow that ran `changesets/action` on every main merge.changeset/— config, README stub, and the empty `readme-providers-table.md`Docs: rewrote the `Releases` section of `CLAUDE.md` to state plainly that changesets are gone and not to add `.changeset/*.md` files.
2. Auto-publish the Docker image on main merges
Before #1528, the old `release.yml` triggered `docker.yml` via `workflow_dispatch` whenever the `manifest` plugin version bumped. That hook died with the plugin removal. Since Docker is now the only self-hosting path, it's bad UX for the image to only rebuild on manual workflow runs.
`.github/workflows/docker.yml` changes:
So every merged PR that touches runtime files now automatically produces a fresh `manifestdotbuild/manifest:latest` image plus a `sha-` tag for rollback. Maintainers can still do explicit versioned cuts by running `docker.yml` manually with a version input.
Test plan
Summary by cubic
Removed the Changesets tooling and set Docker to auto-publish on merges to
main, reducing CI noise and ensuring every runtime change ships a fresh image.Refactors
.github/workflows/release.yml, the entire.changeset/folder,changeset-*scripts inpackage.json, and thechangeset-checkjob inci.yml; dropped@changesets/cli.CLAUDE.mdto reflect Docker-only releases and that.changeset/*.mdfiles are not used.New Features
docker.ymlnow runs onpushtomain(paths-filtered) and onworkflow_dispatch.latest+sha-<short>; with semver input →{version},{major}.{minor},{major}. PR validation remains build-only (no push).Written for commit f503b1d. Summary will update on new commits.