Release Process
This document outlines the process for releasing new versions of the Palo Alto Networks Strata Cloud Manager Ansible Collection.
Version Numbering
The collection follows Semantic Versioning (SemVer):
- MAJOR version: Incompatible API changes
- MINOR version: Added functionality in a backward compatible manner
- PATCH version: Backward compatible bug fixes
Release Preparation
1. Update Documentation
- Update CHANGELOG.md with all notable changes
- Verify all module documentation is current
- Update version numbers in:
- galaxy.yml
- pyproject.toml
- README.md
2. Quality Assurance
- Run all linting checks:
- Run all tests:
- Build and check documentation:
3. Create a Release Branch
Release Process
1. Build the Collection
This creates a .tar.gz
file in the project root.
2. Test the Built Collection
Install the built collection in a clean environment and verify its functionality:
3. Create a GitHub Release
- Create a pull request from the release branch to main
- After approval and merge, tag the release:
- On GitHub, create a new release:
- Use the tag you created
- Title: "v0.1.0"
- Description: Copy the relevant section from CHANGELOG.md
- Attach the built collection .tar.gz file
4. Publish to Ansible Galaxy
Post-Release
1. Update Version for Development
Update version numbers to the next development version:
- galaxy.yml: increase version and add ".dev0" suffix
- pyproject.toml: increase version
2. Announce the Release
- Announce on appropriate channels
- Update documentation site
Hotfix Process
For critical bugs that need immediate fixing:
- Create a hotfix branch from the release tag:
-
Fix the bug, test, and update documentation
-
Update version numbers to the hotfix version (e.g., 0.1.1)
-
Follow the normal release process from step 2 onwards
Release Checklist
- [ ] Update documentation
- [ ] Update version numbers
- [ ] Run all quality checks
- [ ] Create release branch
- [ ] Build and test collection
- [ ] Create GitHub release and tag
- [ ] Publish to Ansible Galaxy
- [ ] Update development version
- [ ] Make release announcement
Troubleshooting
Common Issues
- Version conflict: Ensure all version numbers are consistent
- Galaxy upload failure: Verify your API key and collection namespace
- Documentation issues: Rebuild docs and verify they're accurate
For help with the release process, contact the project maintainers.