fix(ci): share Ansible Galaxy collections #6

Merged
panxiao81 merged 1 commits from fix/ansible-lint-collections into main 2026-09-09 18:21:34 +00:00
Owner

Summary

  • remove the ansible meta-package from the isolated ansible-core uv tool
  • install declared Galaxy collections into the shared path visible to ansible-lint
  • preserve intentional shell and tab behavior with narrow line-level noqa markers
  • convert two read-only lsblk calls from shell to command with no behavioral change

Root cause

All required collections were already declared, including vyos.vyos. The ansible meta-package bundled them inside the ansible-core uv venv, so ansible-galaxy reported already installed and skipped the shared directory. The separate ansible-lint venv then could not resolve community.crypto, ansible.windows, ansible.posix, or vyos.vyos.

An exact one-shot runner-image reproduction verified that removing the meta-package installs community.crypto under the shared path and makes it visible to ansible-lint's own ansible-doc.

Validation

  • workflow and edited playbooks pass yamllint (existing advisory line-length warnings remain)
  • Samba provision playbook syntax-check passes
  • git diff --check
  • no Terraform state or plan files in the diff

The PR workflow is the authoritative full three-project acceptance test because it installs every declared collection in the same isolated runner environment.

## Summary - remove the ansible meta-package from the isolated ansible-core uv tool - install declared Galaxy collections into the shared path visible to ansible-lint - preserve intentional shell and tab behavior with narrow line-level noqa markers - convert two read-only lsblk calls from shell to command with no behavioral change ## Root cause All required collections were already declared, including vyos.vyos. The ansible meta-package bundled them inside the ansible-core uv venv, so ansible-galaxy reported already installed and skipped the shared directory. The separate ansible-lint venv then could not resolve community.crypto, ansible.windows, ansible.posix, or vyos.vyos. An exact one-shot runner-image reproduction verified that removing the meta-package installs community.crypto under the shared path and makes it visible to ansible-lint's own ansible-doc. ## Validation - workflow and edited playbooks pass yamllint (existing advisory line-length warnings remain) - Samba provision playbook syntax-check passes - git diff --check - no Terraform state or plan files in the diff The PR workflow is the authoritative full three-project acceptance test because it installs every declared collection in the same isolated runner environment.
panxiao81 added 1 commit 2026-09-09 18:15:37 +00:00
fix(ci): share Ansible Galaxy collections
lint / yaml (pull_request) Successful in 15s
lint / terraform (pull_request) Successful in 38s
lint / terraform (push) Successful in 34s
lint / yaml (push) Successful in 14s
lint / ansible (pull_request) Successful in 5m5s
lint / ansible (push) Successful in 5m10s
eeea0dc092
panxiao81 merged commit 10a21df890 into main 2026-09-09 18:21:34 +00:00
panxiao81 deleted branch fix/ansible-lint-collections 2026-09-09 18:21:34 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: panxiao81/homelab-infra#6