Seven repositories that ship a package do not call require-changelog #18
Labels
No labels
accessibility
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Keel-Linux/tracker#18
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Eight repositories in this organization ship something installable and do not
call the organization's
require-changelogworkflow.fabwas one of them,and that omission is the direct cause of Keel-Linux/fab#7: pull requests #4
and #5 there both changed
share/product.mk, a path the package ships, withno changelog entry, and the version was bumped at packaging time instead.
fabis wired up in Keel-Linux/fab#9. The other seven are not.This is in
trackerrather than in each repository because the question"which repositories are gated" is org-wide; the fixes are per repository and
each needs its own issue there.
Audited 2026-09-28, against the default branch of all 39 non-archived repositories
The gate is
.github/workflows/require-changelog.ymlinKeel-Linux/.github,with its logic in
bin/require-changelog. It isworkflow_callonly, so itdoes nothing unless a repository calls it. 15 repositories do.
Ships something installable, gate missing
keel-core./changelog,keel-core-19.0 (1) keeltest-shell,test-appliancekeel-nodejs-nginx./changelogappliancejob behindif: vars.KEEL_LXC_RUNNER == 'true'tkldev./changelogtest-shellkeel-odoo./changelog.github/at allkeel-moodle./changelog.github/at allkeel-ejabberd./changelog.github/at allkeel-nginx-php-fastcgi./changelog.github/at allkeel-coreis the serious one: it is the parent of every appliance layer,and its root
changelogis whatbt-layerrecords in the manifest and whatmake-release-deb.pyturns into the release package. The fix for all sevenis the recipe form of the caller, as in
keel-redis, withexemptadjustedper repository.
Adding the gate would be a silent no-op
These five have
debian/controlanddebian/rulesbut no committeddebian/changelog, the version being produced at build time.bin/require-changelogreturns 0 when the changelog file is absent, sodropping the standard caller in gives a permanently green
package / changelogcheck that asserts nothing:webmin,turnkey-chroot,tklbam,turnkey-pylib,tklbam-python-boto.Each needs a decision about where its version lives before a gate can mean
anything. The last three have no
.github/workflows/at all.Two properties of the gate worth deciding on
exempthas drifted.keel-redisandkeel-wordpressexempt\.art/;keel-mariadb,keel-nodebb,keel-postgresqlandkeel-apache-phpdo not; the threeunit-*repositories exempt neitherkeel/nor\.art/. The omissions are the stricter direction, so nothingis unsafe, but an
.art/change forces a changelog bump in four recipesand not in four others.
organization. All 15 callers pin
@main, and the job also checks outkeel-linux/.github@mainforbin/require-changelogat run time, so aregression in that script silently disables the gate in all 15 consumers
at once.
Keel-Linux/.github's owntests.ymlruns onlytest-shell.Deliberate for a tooling repository, but worth stating.
What closes this
gate.
and gate it, or record that they are not gated and why.
bin/require-changelogshould fail rather than passwhen the changelog it was pointed at does not exist. A gate that cannot
find its subject and reports success is the failure mode that let #7
happen, one level up.