Skip to content

developer guide: generate changelogs right after tags - #1117

Merged
berendt merged 1 commit into
mainfrom
docs/releases-changelogs-early
Oct 20, 2026
Merged

berendt merged 1 commit into
mainfrom
docs/releases-changelogs-early

Conversation

@ideaship

Copy link
Copy Markdown
Contributor

Move the changelog generation of the component repositories out of the release notes step into a step of its own, right after the component images are built. A changelog only documents what a tag contains, so it does not depend on the testing, and the reviews and merges of one changelog pull request per component repository no longer delay the release notes at the end.

When testing leads to new component tags, the generation is run again together with the image build. The release notes step now only references the release notes generation and requires the changelog pull requests to be merged.

🤖 Generated with Claude Code

Move the changelog generation of the component repositories out of the
release notes step into a step of its own, right after the component
images are built. A changelog only documents what a tag contains, so it
does not depend on the testing, and the reviews and merges of one
changelog pull request per component repository no longer delay the
release notes at the end.

When testing leads to new component tags, the generation is run again
together with the image build. The release notes step now only
references the release notes generation and requires the changelog
pull requests to be merged.

Assisted-by: Claude:claude-opus-5-5
Signed-off-by: Roger Luethi <luethi@osism.tech>
@github-actions

Copy link
Copy Markdown

✅⚠️MegaLinter analysis: Success with warnings

Descriptor Linter Files Fixed Errors Max errors Warnings Elapsed time
✅ ACTION actionlint 5 0 0 0.05s
✅ JSON jsonlint 4 0 0 0.07s
✅ JSON prettier 4 0 0 0.22s
✅ JSON v8r 4 0 0 7.43s
✅ MARKDOWN markdownlint 180 0 0 1.44s
✅ MARKDOWN markdown-table-formatter 180 0 0 0.19s
✅ REPOSITORY betterleaks yes no no 0.43s
✅ REPOSITORY checkov yes no no 12.84s
✅ REPOSITORY git_diff yes no no 0.04s
✅ REPOSITORY secretlint yes no no 0.81s
✅ REPOSITORY trufflehog yes no no 2.5s
✅ SPELL codespell 190 0 0 0.26s
⚠️ SPELL lychee 190 3 0 80.93s
✅ YAML prettier 6 0 0 0.2s
✅ YAML v8r 6 0 0 4.81s
✅ YAML yamllint 6 0 0 0.31s

Detailed Issues

⚠️ SPELL / lychee - 3 errors
📝 Summary
---------------------
🔍 Total.........1214
🔗 Unique.........907
✅ Successful....1083
⏳ Timeouts........24
🔀 Redirected.......9
👻 Excluded.......104
❓ Unknown..........0
🚫 Errors...........3
⛔ Unsupported......3

Errors in .claude/skills/security-advisory/SKILL.md
[400] https://cveawg.mitre.org/api/cve/ (at 16:18) | Rejected status code: 400 Bad Request
[404] https://raw.githubusercontent.com/osism/ (at 17:18) | Rejected status code: 404 Not Found
[400] https://registry.osism.tech/service/token (at 18:19) | Rejected status code: 400 Bad Request

Errors in docs/appendix/security/ossa-2026-001.md
[TIMEOUT] https://bugs.launchpad.net/keystonemiddleware/+bug/2129018 (at 142:3) | Request timed out

Errors in docs/appendix/security/ossa-2026-002.md
[TIMEOUT] https://bugs.launchpad.net/nova/+bug/2137507 (at 134:3) | Request timed out

Errors in docs/appendix/security/ossa-2026-005.md
[TIMEOUT] https://bugs.launchpad.net/keystone/+bug/2142138 (at 130:3) | Request timed out

Errors in docs/appendix/security/ossa-2026-015.md
[TIMEOUT] https://bugs.launchpad.net/keystone/+bug/2148398 (at 194:3) | Request timed out
[TIMEOUT] https://bugs.launchpad.net/keystone/+bug/2148477 (at 195:3) | Request timed out
[TIMEOUT] https://bugs.launchpad.net/keystone/+bug/2149775 (at 196:3) | Request timed out
[TIMEOUT] https://bugs.launchpad.net/keystone/+bug/2149789 (at 197:3) | Request timed out
[TIMEOUT] https://bugs.launchpad.net/keystone/+bug/2150089 (at 198:3) | Request timed out
[TIMEOUT] https://bugs.launchpad.net/keystone/+bug/2150379 (at 199:3) | Request timed out

Errors in docs/appendix/security/ossa-2026-022.md
[TIMEOUT] https://bugs.launchpad.net/nova/+bug/2151252 (at 159:3) | Request timed out

Errors in docs/appendix/security/ossa-2026-032.md
[TIMEOUT] https://bugs.launchpad.net/neutron/+bug/2152113 (at 271:3) | Request timed out

Errors in docs/appendix/security/ossa-2026-034.md
[TIMEOUT] https://bugs.launchpad.net/designate/+bug/2142581 (at 179:5) | Request timed out
[TIMEOUT] https://bugs.launchpad.net/designate/+bug/2142581 (at 254:3) | Request timed out

Errors in docs/appendix/security/ossa-2026-037.md
[TIMEOUT] https://bugs.launchpad.net/keystone/+bug/2153453 (at 179:5) | Request timed out
[TIMEOUT] https://bugs.launchpad.net/keystone/+bug/2153453 (at 311:3) | Request timed out
[TIMEOUT] https://bugs.launchpad.net/keystone/+bug/2158538 (at 183:5) | Request timed out
[TIMEOUT] https://bugs.launchpad.net/keystone/+bug/2158538 (at 312:3) | Request timed out

Errors in docs/appendix/security/ossa-2026-038.md
[TIMEOUT] https://launchpad.net/bugs/2158998 (at 124:3) | Request timed out | Followed 1 redirect. Redirects: https://launchpad.net/bugs/2158998 --[303]--> https://bugs.launchpad.net/glance/+bug/2158998
[TIMEOUT] https://launchpad.net/bugs/2158999 (at 125:3) | Request timed out | Followed 1 redirect. Redirects: https://launchpad.net/bugs/2158999 --[303]--> https://bugs.launchpad.net/glance/+bug/2158999
[TIMEOUT] https://launchpad.net/bugs/2160020 (at 127:3) | Request timed out | Followed 1 redirect. Redirects: https://launchpad.net/bugs/2160020 --[303]--> https://bugs.launchpad.net/glance/+bug/2160020
[TIMEOUT] https://launchpad.net/bugs/2161330 (at 126:3) | Request timed out | Followed 1 redirect. Redirects: https://launchpad.net/bugs/2161330 --[303]--> https://bugs.launchpad.net/glance/+bug/2161330

Errors in docs/appendix/security/ossa-2026-039.md
[TIMEOUT] https://bugs.launchpad.net/octavia/+bug/2162101 (at 245:5) | Request timed out
[TIMEOUT] https://bugs.launchpad.net/octavia/+bug/2162103 (at 248:5) | Request timed out
[TIMEOUT] https://bugs.launchpad.net/octavia/+bug/2167565 (at 389:3) | Request timed out

Hint: Followed 9 redirects. You might want to consider replacing redirecting URLs with the resolved URLs. Use verbose mode (`-v`/`-vv`) to see redirection details.

See detailed reports in MegaLinter artifacts

Your project could benefit from a custom flavor, which would allow you to run only the linters you need, and thus improve runtime performances. (Skip this info by defining FLAVOR_SUGGESTIONS: false)

  • Documentation: Custom Flavors
  • Command: npx mega-linter-runner@10.1.0 --custom-flavor-setup --custom-flavor-linters ACTION_ACTIONLINT,JSON_JSONLINT,JSON_V8R,JSON_PRETTIER,MARKDOWN_MARKDOWNLINT,MARKDOWN_MARKDOWN_TABLE_FORMATTER,REPOSITORY_CHECKOV,REPOSITORY_GIT_DIFF,REPOSITORY_BETTERLEAKS,REPOSITORY_SECRETLINT,REPOSITORY_TRUFFLEHOG,SPELL_LYCHEE,SPELL_CODESPELL,YAML_PRETTIER,YAML_YAMLLINT,YAML_V8R

MegaLinter is provided by OX Security
Show us your support by starring ⭐ the repository

@ideaship
ideaship requested a review from berendt October 20, 2026 07:49
@ideaship
ideaship marked this pull request as ready for review October 20, 2026 07:49
@berendt
berendt merged commit 8a43f5f into main Oct 20, 2026
6 checks passed
@berendt
berendt deleted the docs/releases-changelogs-early branch October 20, 2026 07:51
@github-project-automation github-project-automation Bot moved this from New to Done in Human Board Oct 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants