version ?= $(shell python versionhelper/version_helper.py --raw) .PHONY: all all: @echo "USAGE:" @echo @echo "make release version={version} # current version is '${version}'" @echo "make publish" @echo @echo "NOTE: Make sure to source hacking/env-setup before running these targets." .PHONY: release release: version summary changelog commit-release git show -p git status @echo @echo 'Run `git push` if you are satisfied with the changes.' .PHONY: version version: sed -i.bak "s/^__version__ = .*$$/__version__ = '${version}'/" ../../lib/ansible/release.py rm ../../lib/ansible/release.py.bak .PHONY: summary summary: @printf '%s\n%s\n%s\n' \ 'release_summary: |' \ ' | Release Date: $(shell date '+%Y-%m-%d')' \ ' | `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__' > \ ../../changelogs/fragments/v${version}_summary.yaml .PHONY: changelog changelog: antsibull-changelog release -vv --use-ansible-doc && antsibull-changelog generate -vv --use-ansible-doc ansible-test sanity changelogs/ .PHONY: commit-release commit-release: git add ../../changelogs/ ../../lib/ansible/release.py git commit -m "New release v${version}" .PHONY: publish publish: tag postversion commit-postversion git show -p git status @echo @echo 'Run `git push --follow-tags` if you are satisfied with the changes.' .PHONY: tag tag: git tag -a v${version} -m "New release v${version}" .PHONY: postversion postversion: sed -i.bak "s/^__version__ = .*$$/__version__ = '${version}.post0'/" ../../lib/ansible/release.py rm ../../lib/ansible/release.py.bak .PHONY: commit-postversion commit-postversion: git add ../../lib/ansible/release.py git commit -m "Update Ansible release version to v${version}."