Add ansible-lint CI gate and antsibull-changelog release pipeline #1

Merged
jsanchezd merged 2 commits from feature/ci-lint-and-release-gate into main 2026-10-01 10:33:16 +00:00
Owner

Rolls out the pattern proven on silvarion.repos/base/containers/databases/network/provision. Created changelogs/config.yaml (didn't exist at all).

Fixed real issues: a redundant top-level requires_ansible key in galaxy.yml, 5 molecule files missing a trailing newline, and two stale changelog fragments (1.0.0.yml, 1.1.0.yml) left behind from past releases done by hand-editing changelog.yaml directly, bypassing antsibull-changelog -- both versions' content already exists correctly in changelog.yaml/CHANGELOG.rst, so these were pure duplicates blocking any future release with "Found prelude section 'release_summary' more than once!". Deleted both.

Verified antsibull-changelog release+generate end-to-end in a fresh container: fails with that exact error before deleting the stale fragments, succeeds after.

🤖 Generated with Claude Code

https://claude.ai/code/session_012icUrjv3vgHtovVpHUFjdp

Rolls out the pattern proven on silvarion.repos/base/containers/databases/network/provision. Created changelogs/config.yaml (didn't exist at all). Fixed real issues: a redundant top-level requires_ansible key in galaxy.yml, 5 molecule files missing a trailing newline, and two stale changelog fragments (1.0.0.yml, 1.1.0.yml) left behind from past releases done by hand-editing changelog.yaml directly, bypassing antsibull-changelog -- both versions' content already exists correctly in changelog.yaml/CHANGELOG.rst, so these were pure duplicates blocking any future release with "Found prelude section 'release_summary' more than once!". Deleted both. Verified antsibull-changelog release+generate end-to-end in a fresh container: fails with that exact error before deleting the stale fragments, succeeds after. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_012icUrjv3vgHtovVpHUFjdp
Add ansible-lint CI gate and antsibull-changelog release pipeline
Some checks failed
Ansible Lint / ansible-lint (pull_request) Failing after 31s
9145f73d30
Rolls out the pattern proven on silvarion.repos/base/containers/
databases/network/provision. This collection had no changelogs/
config.yaml at all -- created one matching the fleet's standard shape.

Fixed real issues:
- galaxy.yml had a redundant top-level `requires_ansible` key (not
  part of the official schema, fatal under the basic profile);
  removed it.
- 5 molecule/*/*.yml files were missing a trailing newline.
- changelogs/fragments/1.0.0.yml and 1.1.0.yml were stale, already-
  consumed fragments left behind from past releases that were done by
  hand-editing changelogs/changelog.yaml directly, bypassing
  antsibull-changelog entirely (confirmed: both versions' full
  release_summary/major_changes/minor_changes content already exists
  correctly in changelog.yaml and CHANGELOG.rst, dated 2026-04-16 and
  2026-05-11). Because the fragments were never actually consumed by
  the tool, keep_fragments: false never got a chance to clean them up
  -- antsibull-changelog release blocked entirely on both still
  declaring their own release_summary ("Found prelude section
  'release_summary' more than once!"). Deleted both; their content is
  not lost, it's already baked into changelog.yaml/CHANGELOG.rst.

Verified antsibull-changelog release+generate end-to-end in a fresh
container matching the CI job image -- fails with the exact
duplicate-prelude error above before deleting the stale fragments,
succeeds after.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012icUrjv3vgHtovVpHUFjdp
Fix galaxy.yml's missing silvarion.base dependency
All checks were successful
Ansible Lint / ansible-lint (pull_request) Successful in 32s
9474907b6b
CI run #54 failed syntax-check: role 'silvarion.base.tools' was not
found. roles/python3/meta/main.yml declares a real role dependency on
silvarion.base.tools, but galaxy.yml's dependencies was {} -- only
worked locally because silvarion.base happened to already be
installed globally.

Declared silvarion.base as a real dependency and added an install
step to the CI workflow. Verified in a fresh container with nothing
pre-installed: fails without the install step, 0 failures with it.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012icUrjv3vgHtovVpHUFjdp
jsanchezd deleted branch feature/ci-lint-and-release-gate 2026-10-01 10:33:16 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
ansible-collections/silvarion.devtools!1
No description provided.