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-09-29 14:23:02 +00:00
Owner

Rolls out the pattern proven on silvarion.repos/silvarion.base/silvarion.containers.

Fixed real issues: changelogs/config.yaml duplicated release_summary (same bug class as silvarion.repos), galaxy.yml had a top-level requires_ansible key that isn't part of the schema (moved to a new meta/runtime.yml), four roles' redhat.yml defaults used YAML 1.1 yes instead of true, and redis's ACL SETUSER task had a literal on argument (Redis's own syntax, not a YAML boolean) -- quoted rather than converted, to avoid sending the wrong value to redis-cli.

Verified antsibull-changelog release+generate end-to-end in a fresh container matching the CI job image.

🤖 Generated with Claude Code

https://claude.ai/code/session_012icUrjv3vgHtovVpHUFjdp

Rolls out the pattern proven on silvarion.repos/silvarion.base/silvarion.containers. Fixed real issues: changelogs/config.yaml duplicated release_summary (same bug class as silvarion.repos), galaxy.yml had a top-level requires_ansible key that isn't part of the schema (moved to a new meta/runtime.yml), four roles' redhat.yml defaults used YAML 1.1 `yes` instead of `true`, and redis's ACL SETUSER task had a literal `on` argument (Redis's own syntax, not a YAML boolean) -- quoted rather than converted, to avoid sending the wrong value to redis-cli. Verified antsibull-changelog release+generate end-to-end in a fresh container matching the CI job image. 🤖 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 34s
3f3b0ad706
Rolls out the pattern proven on silvarion.repos/silvarion.base/
silvarion.containers.

Fixed real issues ansible-lint found:
- changelogs/config.yaml's sections map duplicated release_summary,
  which also names prelude_name -- same bug class as silvarion.repos
  (antsibull-changelog rejects a section sharing the prelude's name).
- galaxy.yml had a top-level `requires_ansible` key (not part of the
  official schema, fatal under the basic profile) and meta/runtime.yml
  didn't exist -- created it with the same value.
- roles/{mariadb,mysql,pgsql,redis}/defaults/redhat.yml used YAML 1.1
  `yes` for gpgcheck/enabled instead of `true` (yaml[truthy]) --
  genuine typos, fixed.
- roles/redis/tasks/database/users.yml's ACL SETUSER command has a
  literal `on` argument (Redis's own ACL syntax for enabling an
  account, not a YAML boolean) -- quoted it ("on") instead of
  converting to `true`, which would have sent the wrong value to
  redis-cli.

Verified antsibull-changelog release+generate end-to-end in a fresh
container matching the CI job image.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012icUrjv3vgHtovVpHUFjdp
Fix galaxy.yml's empty dependencies -- roles use undeclared public collections
All checks were successful
Ansible Lint / ansible-lint (pull_request) Successful in 5m59s
b991d5cc9c
CI's first run (task 34) failed syntax-check: couldn't resolve
community.mysql.mysql_user, community.postgresql.postgresql_user, etc.
galaxy.yml declared dependencies: {} despite every role here actually
calling modules from community.general, community.mysql,
community.postgresql, community.proxysql, and ansible.posix -- this
only worked locally because these collections happened to already be
installed globally, masking a real, previously-undocumented gap in
the collection's own metadata.

Declared all five as real dependencies (lower-bounded at the versions
currently in local use) 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-09-29 14:23:02 +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.databases!1
No description provided.