A GitHub Action to build and publish Ansible Galaxy collections with version control and deployment automation.
ansible_galaxy_collection is a GitHub Action designed to automate the deployment of Ansible Galaxy collections. It builds collections into archive files and publishes them to Ansible Galaxy, handling version injection and error reporting. The tool solves the problem of manual, error-prone collection releases by integrating directly into CI/CD pipelines.
Ansible collection maintainers and DevOps engineers who manage Ansible content and want to automate publishing to Ansible Galaxy via GitHub Actions.
Developers choose this Action because it provides a standardized, reliable way to deploy collections with features like dynamic versioning and flexible build/publish controls, reducing deployment complexity and integration effort.
Deploy a Collection to Ansible Galaxy.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Allows injecting semver-compatible versions into galaxy.yml at deployment time, enabling version control from CI/CD triggers like tags or environment variables.
Separate build and publish inputs let users create archives for testing without publishing or publish pre-built archives, adding deployment flexibility.
The collection_dir input supports collections stored outside the project root, accommodating varied repository structures without restructuring.
Provides specific exit codes (e.g., DeployFailed, ValidationFailed) with detailed logs, making it easier to debug failures in automated workflows.
The README notes galaxy_version_increment is 'TBA', so automatic version bumps aren't supported, requiring external tools or manual updates.
As a GitHub Action, it locks users into GitHub's ecosystem, making it unsuitable for teams using other CI/CD platforms or self-hosted solutions.
When build is false, it expects archives in the default Ansible Galaxy naming format, which may not align with custom build pipelines or legacy setups.