ci: release and publish each framework module on its own version - #131
Merged
Merged
Conversation
Every module is a release-please package with its own version, tag and changelog, seeded from the versions on the Wippy hub. A release publishes each released module to the hub with wippy publish at the released version. The single repository version and publish.yml, which used a removed action and published every module at the repository tag, are replaced.
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.
Cause
Framework modules are versioned independently on the hub (facade 0.6.40, llm 0.5.0, relay 0.3.15, ...), but the release setup had one repository version:
publish.ymlpublished every module at the repository tag throughwippyai/action-module-release, a repository that no longer exists. The v0.5.0 publish failed for all 14 modules, and would have regressed facade and views had the action existed.Change
release-please-config.json: 14 packages (src/<module>), component tags (llm-v0.5.1), per-moduleCHANGELOG.md, one combined release PR,last-release-shaat the v0.5.0 release commit so earlier history is never released again..release-please-manifest.json: seeded with the versions published to the hub today from v0.5.0.release.yml: CI checks, then release-please with the wippy-releases app token (release PRs keep running CI), then a matrix over released paths: check out the component tag, install wippy via the verifiedsetup-wippyaction (copied from dataflow), dry-run, thenwippy publish --version <released version>with release notes from the module changelog.publish.ymlremoved;Makefile publish-allremoved (manual publishing documented for recovery).wippy.yamlfiles stay version-less: the version comes from the release manifest. Declaringversion:in a module that test apps replace locally makes the runtime resolver reject the pinned lock version ("manifest version mismatch"), so every bump would break dependent test apps.check-manifestsalso verifies every module is registered in both release-please files.ci.yml: callable fromrelease.yml; master pushes run it through the release workflow.Required before the next release
The repository has no
WIPPY_TOKENsecret (dataflow has its own). Publishing fails with an explicit error until it is set:Verification
make check-manifests,make run-tests,make run-lintpass;wippy publish --version <manifest version> --dry-runpacks all 14 modules.