diff --git a/.editorconfig b/.editorconfig index b7c833b..d2f9538 100644 --- a/.editorconfig +++ b/.editorconfig @@ -11,3 +11,6 @@ trim_trailing_whitespace = true [*.md] trim_trailing_whitespace = false + +[Makefile] +indent_style = tab diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..b5bd283 --- /dev/null +++ b/Makefile @@ -0,0 +1,36 @@ +env: + @if [[ "$$RELEASE_NUMBER" == "" ]]; \ + then echo "Missing environment variable: RELEASE_NUMBER."; \ + echo 'Example: export RELEASE_NUMBER="1.0.0" (without the leading "v")'; \ + exit 1; \ + fi + +release: env + @echo -e "\e[1mCreating release with version number \e[36m$$RELEASE_NUMBER\e[0m" + @echo + + sed "s/^VERSION =.*/VERSION = '$$RELEASE_NUMBER'/g" kosmorrolib/version.py > version.py + mv version.py kosmorrolib/version.py + + pipenv run python setup.py extract_messages --output-file=kosmorrolib/locales/messages.pot > /dev/null + + conventional-changelog -p angular -i CHANGELOG.md -s + sed "0,/\\[\\]/s/\\[\\]/[v$$RELEASE_NUMBER]/g" CHANGELOG.md > /tmp/CHANGELOG.md + sed -e "s/...v)/...v$$RELEASE_NUMBER)/" /tmp/CHANGELOG.md > CHANGELOG.md + rm /tmp/CHANGELOG.md + + @echo + @echo -e "\e[1mRelease \e[36m$$RELEASE_NUMBER\e[39m is ready to commit." + @echo -e "Please review the changes, then invoke \e[33mmake finish-release\e[39m." + +finish-release: env + git add CHANGELOG.md kosmorrolib/version.py kosmorrolib/locales/messages.pot + git commit -m "build: bump version $$RELEASE_NUMBER" + git tag "v$$RELEASE_NUMBER" + git checkout features + git merge master + git checkout master + + @echo + @echo -e "\e[1mVersion \e[36m$$RELEASE_NUMBER\e[39m successfully tagged!" + @echo -e "Invoke \e[33mgit push origin master features v$$RELEASE_NUMBER\e[39m to finish."