Repository navigation
Release workflow with test releases (beta/RC) - #259
Merged
Merged
Conversation
Pushing a version tag (com_bfstop tagged with the same name first) runs release.yml: all of ci.yml (now also a reusable workflow) on the tag - the package built from the two tags, installed by every Joomla site of the matrix, a site of the previous release updated with it - and then a draft GitHub release with the three zips, the SHA-256 sums and notes from the CHANGELOG (package/release-notes.php), to be checked and published by hand. Test releases: X.Y.Z-alphaN, -betaN and -rcN tags are marked as pre-releases on GitHub and say in their notes that the update server doesn't offer them. They carry that version in the manifests; their CHANGELOG entry is that of the release they lead to. - check-versions.php: accepts test release versions; the first CHANGELOG entry has to be the (base) release; --release=<tag> only needs the date for a release; --is-prerelease. package/update.xml is no longer checked: it is what the update server offers - the latest release, never a test release - not the version under development. - ci.yml: on a tag, the com_bfstop tag of the same name is used (and has to exist), and the versions are checked against the tag. - The "configuration has moved" hint is not shown when updating from a test release of 2.0.0 (compared with 2.0.0-dev instead of 2.0.0). - package/README.md: versions, test releases and how to release. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AFJFMMUpch4LGexEiXN8Nc
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.
Step 4 of the package automation (#250), stacked on #257: review only the top commit, merge #257 (with com_bfstop#27) first.
How a release works now
2.0.0-rc1,2.0.0, …).release.ymlruns on the tag:ci.yml, which is now also a reusable workflow, against the tags. The component is checked out at the tag of the same name; if com_bfstop has no such tag, the run fails. The versions are checked against the tag. The package is built from the two tags, every Joomla site in the matrix installs it, and a site of the previous release is updated with it.pkg_bfstop,bfstopandcom_bfstopzips,SHA256SUMS-<version>, and notes generated bypackage/release-notes.php: requirements, the CHANGELOG entry, and the checksums.Test releases
X.Y.Z-alphaN,-betaNor-rcN.2.0.0-rc1), so testers can see what they installed.2.0.0 (unreleased), and doesn't need a date.update.xml:package/update.xmlis no longer part of the version check. It describes what the update server offers, which is always the latest release. Step 5 generates it only from published releases, never prereleases.2.0.0-dev, so updating 2.0.0-rc1 → 2.0.0 doesn't show it again.Tested locally
check-versions.phpin every mode: stable vs. prerelease tags, invalid tags (2.0.0-rc0), and a CHANGELOG entry without a date.2.0.0-rc1package; that needs com_bfstop#27'sdeploy.sh.JLIB_INSTALLER_INCORRECT_SEQUENCE), and the versions stay unchanged.InstallerScriptTesthas a new case: no hint when updating from 2.0.0-rc1. The integration and unit suites pass, and the workflow lint passes.Not run yet:
release.ymlitself, because it only runs on a pushed tag. Its first real run would naturally be a2.0.0-rc1test release.Generated by Claude Code