Skip to content

Rewrite the releases developer guide#1000

Draft
ideaship wants to merge 1 commit into
mainfrom
rewrite-releases-guide
Draft

Rewrite the releases developer guide#1000
ideaship wants to merge 1 commit into
mainfrom
rewrite-releases-guide

Conversation

@ideaship

Copy link
Copy Markdown
Contributor

The releases developer guide still described the release process of the
5.x/6.x era and had drifted far from current practice. This rewrite
brings it in line with how the 9.x and 10.0.0 releases were actually
made.

What changed

  • Removed obsolete content:
    • Pre-release directory mechanics (copying latest/, stripping
      renovate lines, fixing symlinks, prepare-release.py) — replaced
      by src/create-version.py and -rc.N release candidates.
    • Release-name tags on the container image repositories — replaced by
      date-based component tags created with scripts/create-tags.sh.
    • All SBOM steps — the osism/sbom repository is archived.
    • The Reno release notes
      section — Reno is no longer used in the component repositories.
  • Linked to the
    README of the osism/release repository
    for the in-repo mechanics (Renovate updates, tagging, freezing a
    release, changelog generation) instead of duplicating them.
  • Kept what that README does not cover: the release policy (major/minor
    semantics and upgrade guarantees) and the cross-repo release checklist
    (testbed release candidate jobs, release notes in the documentation,
    version examples in the documentation, the cfg-cookiecutter
    manager_version default, switching the testbed stable jobs as the
    final step).

Needs confirmation

Marked inline with warning admonitions, because the new content was
reverse engineered from git history rather than from a documented
process:

  • The release cadence (the old "every 6 months / every 2 weeks" did not
    match observed practice).
  • The completeness and order of the release checklist.
  • Whether GitHub releases on osism/release are permanently retired
    (last one was 8.0.2), and what replaces them as the public
    announcement.
  • That no component repository still relies on Reno.

🤖 Generated with Claude Code

@github-actions

github-actions Bot commented Jun 13, 2026

Copy link
Copy Markdown

⚠️MegaLinter analysis: Success with warnings

Descriptor Linter Files Fixed Errors Warnings Elapsed time
✅ ACTION actionlint 4 0 0 0.04s
✅ JSON jsonlint 4 0 0 0.14s
✅ JSON prettier 4 0 0 0.45s
✅ JSON v8r 4 0 0 8.58s
⚠️ MARKDOWN markdownlint 160 4 0 2.78s
⚠️ MARKDOWN markdown-table-formatter 160 1 0 0.47s
✅ REPOSITORY checkov yes no no 19.08s
✅ REPOSITORY git_diff yes no no 0.07s
✅ REPOSITORY secretlint yes no no 1.77s
✅ REPOSITORY trufflehog yes no no 3.9s
✅ SPELL codespell 169 0 0 0.6s
⚠️ SPELL lychee 169 2 0 11.7s
✅ YAML prettier 5 0 0 0.44s
✅ YAML v8r 5 0 0 6.23s
✅ YAML yamllint 5 0 0 0.57s

Detailed Issues

⚠️ SPELL / lychee - 2 errors
📝 Summary
---------------------
🔍 Total..........926
🔗 Unique.........744
✅ Successful.....863
⏳ Timeouts.........0
🔀 Redirected......47
👻 Excluded........61
❓ Unknown..........0
🚫 Errors...........2
⛔ Unsupported......2

Errors in docs/release-notes/osism-7.md
[ERROR] https://scs.community/de/security/2024/07/23/cve-2024-40767/ (at 134:5) | Network error: Connection reset by peer (os error 104) | Followed 1 redirect. Redirects: https://scs.community/de/security/2024/07/23/cve-2024-40767/ --[301]--> https://sovereigncloudstack.org/community_blog/scs-security-advisory-on-incomplete-qcow2-and-vmdk-image-handling-protections-cve-2024-40767/
[ERROR] https://scs.community/de/security/2024/09/07/cve-2024-44082/ (at 40:5) | Network error: Connection reset by peer (os error 104) | Followed 1 redirect. Redirects: https://scs.community/de/security/2024/09/07/cve-2024-44082/ --[301]--> https://sovereigncloudstack.org/community_blog/sovereign-cloud-stack-security-advisory-image-processing-in-ironic-cve-2024-44082/

Hint: Followed 47 redirects. You might want to consider replacing redirecting URLs with the resolved URLs. Use verbose mode (`-v`/`-vv`) to see redirection details.
⚠️ MARKDOWN / markdown-table-formatter - 1 error
1 files contain markdown tables to format:
- docs/guides/developer-guide/retiring-openstack-releases.md
⚠️ MARKDOWN / markdownlint - 4 errors
docs/guides/developer-guide/retiring-openstack-releases.md:181:450 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
docs/guides/developer-guide/retiring-openstack-releases.md:181:535 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
docs/guides/developer-guide/retiring-openstack-releases.md:183:417 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
docs/guides/developer-guide/retiring-openstack-releases.md:183:502 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]

Notices

📣 MegaLinter 9.5.0 is out! Discover the new features and security recommendations in the release announcement. (Skip this info by defining SECURITY_SUGGESTIONS: false)

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@9.5.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_SECRETLINT,REPOSITORY_TRUFFLEHOG,SPELL_LYCHEE,SPELL_CODESPELL,YAML_PRETTIER,YAML_YAMLLINT,YAML_V8R

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

@ideaship ideaship force-pushed the rewrite-releases-guide branch from 9c98864 to 18de615 Compare June 17, 2026 08:44
The guide still described the release process of the 5.x/6.x era and
had drifted far from current practice:

* The pre-release directory mechanics (copying latest/, stripping
  renovate lines, fixing symlinks, prepare-release.py) were replaced
  by src/create-version.py and -rc.N release candidates.
* Release-name tags on the container image repositories were replaced
  by date-based component tags created with scripts/create-tags.sh.
* The osism/sbom repository is archived, so all SBOM steps are gone.
* Reno is no longer used in the component repositories; release notes
  live in osism/osism.github.io and per-component changelogs are
  generated in the osism/release repository.

All of the in-repo mechanics are documented in the README of the
osism/release repository, so link there instead of duplicating them.
Keep what that README does not cover: the release policy (major/minor
semantics and upgrade guarantees) and the cross-repo release
checklist, reverse engineered from the git history of the 9.x and
10.0.0 releases (testbed release candidate jobs, release notes in the
documentation, version examples in the documentation, the
cfg-cookiecutter manager_version default, and switching the testbed
stable jobs as the final step).

Statements that need confirmation by the team are marked with warning
admonitions: the release cadence, the completeness and order of the
checklist, the retirement of GitHub releases on osism/release, and
the removal of the Reno section.

Assisted-by: Claude:claude-fable-5
Signed-off-by: Roger Luethi <luethi@osism.tech>
@ideaship ideaship force-pushed the rewrite-releases-guide branch from 18de615 to 74290ae Compare June 21, 2026 03:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Ready

Development

Successfully merging this pull request may close these issues.

2 participants