ci: add release workflow and bump to 26.04.28#3
Merged
Conversation
Adds .github/workflows/release.yml that builds the frontend, bundles it into the wheel, builds wheel + sdist with uv, and creates a GitHub Release with the artifacts attached. Triggers on tag push matching the CalVer pattern, plus manual workflow_dispatch. Bumps the package version to 26.04.28 to reflect the actual cut date, and relabels the corresponding CHANGELOG section. The 26.02.07 entry was prepared but never tagged, so this is the first real release of the SvelteKit-based Studio as its own package. The workflow guards against drift by failing the build if the tag does not match pyproject.toml's version field.
Collapses release.yml to a single job mirroring the agentic repo: top-level contents: write permission, gh release create with --generate-notes, github.ref_name for the tag. Drops the separate build/release split, the workflow_dispatch entrypoint, the artifact upload/download dance, the CHANGELOG notes extraction, and the tag-vs-pyproject drift check. Keeps the studio-specific frontend build steps (npm ci + npm run build + stage into static/) before uv build, since studio bundles the SvelteKit output into the wheel.
Aligns the release trigger with fireflyframework-agentic, which uses tags: ['v*'] on GitHub. Means the tag for the first release will be v26.04.28 (the package version stays 26.04.28 in pyproject).
The previous source pointed at branch refactor/rename-to-agentic on the agentic repo, which has been deleted (the rename was merged). CI on main has been broken since then because uv sync cannot resolve the dependency. Pinning to tag v26.04.28 (the latest release of fireflyframework- agentic, published today) makes the resolution stable and aligns studio's release with the agentic version it depends on.
The two get_framework_docs implementations imported __version__ from
fireflyframework_agentic._version, but that submodule does not exist
in the package. The version is exposed directly at the top level
(__init__.py: __version__ = version("fireflyframework-agentic")).
Pyright flagged this as reportMissingImports once the dependency
started resolving again. Runtime behavior is unchanged because the
broken import was already wrapped in a try/except Exception that fell
through to docs["version"] = "unknown".
… comment Switches the uv source from tag = "v26.04.28" to branch = "main" so studio picks up agentic changes without needing a bump on this side each time. Keeps the tag-pinning syntax as a comment above for when we want a reproducible build.
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.
Summary
.github/workflows/release.ymlfor cutting GitHub Releases (no PyPI). Triggers on tag push matching[0-9]+.[0-9]+.[0-9]+and via manualworkflow_dispatch. Builds the SvelteKit frontend, stages it intosrc/fireflyframework_agentic_studio/static/, builds wheel + sdist withuv build, then creates a GitHub Release with both artifacts attached and release notes extracted fromCHANGELOG.md.pyproject.tomlversion26.02.07→26.04.28to reflect the actual cut date.## [26.02.07] — Initial Releasesection inCHANGELOG.mdto26.04.28. That section was prepared but never tagged, so this becomes the first real release of the SvelteKit-based Studio as its own package.fireflyframework-agentic>=26.02.07dependency floor untouched (it still holds).pyproject.toml'sversion.Release procedure (after merge)
main:git tag 26.04.28 && git push origin 26.04.28.Releaseworkflow will build and publish the GitHub Release automatically.workflow_dispatchonce the tag exists.Test plan
26.04.28tag and confirm the Release workflow completes and a GitHub Release is published with both.whland.tar.gzattached.26.04.28CHANGELOG section.pip installthe released wheel into a clean venv and runfirefly studioto confirm the bundled frontend serves.