Repository navigation
ci: release workflow with git-cliff changelogs - #12
Merged
Merged
Conversation
Actions → Release bumps a package's version, regenerates its CHANGELOG.md
with git-cliff from conventional commits, commits and tags
<package>-v<version> on main, publishes to Hex (HEX_API_KEY) and creates
the GitHub release. Publish re-runs skip what already went out.
durable_dashboard now always depends on durable from Hex ("~> 1.0");
DURABLE_PATH points it at a local checkout, which CI and the workspace
commands set. Docs link the per-package tags and ship the changelog.
Claude-Session: https://claude.ai/code/session_012aEMFtJKJsMz1vGtbSijGR
The core README links the dashboard's docs on HexDocs instead of a relative path that doesn't resolve there. Claude-Session: https://claude.ai/code/session_012aEMFtJKJsMz1vGtbSijGR
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.
Adds a Release workflow that tags, publishes to Hex and creates the GitHub release for one package per run. Changelogs come from conventional commits via git-cliff.
How to release
Actions → Release → Run workflow, then pick
durableordurable_dashboard. Leave the version blank to take the next one git-cliff derives from the package's commits since its last tag, or enter one.Tag job: bumps
@version, regenerates<package>/CHANGELOG.md(config incliff.toml), commitschore(<package>): release Xtomain, and tags<package>-vX. The commit and the tag go up in one atomic push.Publish job:
mix compile --warnings-as-errorsagainst Hex deps, so a dashboard that needs an unreleased durable fails here;mix hex.publishwith theHEX_API_KEYsecret;gh release create, with that version's changelog as the notes. Versions with a-are marked as prereleases.It skips anything already on Hex or GitHub, so "Re-run failed jobs" is safe.
Other changes
durable_dashboardnow always depends on{:durable, "~> 1.0"}from Hex. SettingDURABLE_PATH=../durablebuilds it against the local checkout instead. The CI dashboard job and the workspacemixcommands set it, so tests still run against the monorepo's durable.source_refpoints at the per-package tags, andCHANGELOG.mdships in each package and its HexDocs.durable-v0.1.0-rc(c0c0140) anddurable_dashboard-v0.1.0-rc(63a36ee), the commits each rc was published from, so the 1.0.0 changelog lists only what changed since then.0.1.0-rchere. The workflow bumps them.After merging
HEX_API_KEYrepository secret. It must be a Hex key with API write access, from thewavezyncHex account that owns both packages.durablewith version1.0.0.durable_dashboardwith version1.0.0.Tested with a dry run of the tag step against a throwaway remote: an explicit version, a refused duplicate, and an automatic minor bump from a
feat:commit.actionlintpasses on both workflows. Dashboard tests pass withDURABLE_PATH(237), andmix hex.buildandmix docspass for durable.https://claude.ai/code/session_012aEMFtJKJsMz1vGtbSijGR