Skip to content

Commit

Permalink
prepare release 1.6.1
Browse files Browse the repository at this point in the history
  • Loading branch information
mmerdes committed Oct 11, 2024
1 parent e1f5765 commit adc87eb
Show file tree
Hide file tree
Showing 2 changed files with 98 additions and 1 deletion.
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[tool.poetry]
name = "ohsome_quality_api"
version = "1.5.0"
version = "1.6.1"
description = "Data quality estimations for OpenStreetMap."
authors = ["ohsome team <[email protected]>"]
homepage = "https://api.quality.ohsome.org"
Expand Down
97 changes: 97 additions & 0 deletions scripts/release.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
# based on docs here: https://heigit.atlassian.net/wiki/spaces/OQT/pages/3474149/Releases
# requires local installation of `gh`, the github CLI: https://cli.github.com


# please adjust these version names first
export OLD_VERSION=1.5.0
export NEW_VERSION=1.6.0


# change to main directory
cd ..

# activate python environment for commit checks needed later
poetry shell

# get latest version of main and create new branch
read -p "πŸ‘‰ create release branch?"
git checkout main
git pull
git checkout -b release-$NEW_VERSION
echo "βœ… created release branch of the latest main"


# update to latest version of swagger libs
read -p "πŸ‘‰ update swagger?"
./scripts/update_swagger_scripts.sh
echo "βœ… updated to latest version of swagger libs"


# Update version in pyproject.toml
read -p "πŸ‘‰ update project version?"
poetry version $NEW_VERSION
echo "βœ… updated project version in pyproject.toml to $NEW_VERSION"


# update version in __init__.py
read -p "πŸ‘‰ update __init__.py?"
export OLD="__version__ = \"$OLD_VERSION\""
export NEW="__version__ = \"$NEW_VERSION\""

# might not work like this on linux
sed -i .bak "s/$OLD/$NEW/g" ohsome_quality_api/__init__.py
rm -rf ohsome_quality_api/__init__.py.bak
echo "βœ… updated __init__.py to $NEW_VERSION"


# insert new sub-headline for new release
read -p "πŸ‘‰ update CHANGELOG.md?"
sed -i .bak "s/## Current Main/## Current Main \n\n## Release $NEW_VERSION/g" CHANGELOG.md
rm -rf CHANGELOG.md.bak
echo "βœ… updated CHANGELOG.md"


read -p "πŸ‘‰ commit and push all changed files?"
git add pyproject.toml
git add ohsome_quality_api/__init__.py
git add tests/integrationtests/fixtures/vcr_cassettes/*
git add CHANGELOG.md
git add scripts/release.sh
git add ohsome_quality_api/api/static/*
git commit -m "prepare release $NEW_VERSION"
git push --set-upstream origin release-$NEW_VERSION
echo "βœ… committed and pushed all changed files"


# create PR
read -p "πŸ‘‰ create PR?"
gh pr create --title "release new version $NEW_VERSION" --body "This PR is used for the Oqapi release process."
echo "βœ… created new PR for the release"


# get PR approved
read -p "⚠️ Please check swagger docs and have PR approved - hit <enter> when ready!"


read -p "πŸ‘‰ merge approved PR?"
gh pr merge --rebase
echo "βœ… rebased the release PR into main"


git checkout main
git pull


# create github release and corresponding tag
read -p "πŸ‘‰ create github release and tag?"
export ANCHOR="release-${NEW_VERSION//\./}"
gh release create "$NEW_VERSION" -t "$NEW_VERSION" \
-n "See the [changelog](https://github.com/GIScience/ohsome-quality-api/blob/main/CHANGELOG.md#$ANCHOR) for release details."
echo "βœ… created new github release and tag for version: $NEW_VERSION"



echo "⚠️ Please start the Jenkins tag build here: https://jenkins.heigit.org/job/OQAPI/view/tags/job/$NEW_VERSION/"

# may not work like this under linux:
open "https://jenkins.heigit.org/job/OQAPI/view/tags/job/$NEW_VERSION/"

0 comments on commit adc87eb

Please sign in to comment.