Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adjust a release process: remove additional sembump dependency; updat… #395

Merged
merged 3 commits into from
Dec 18, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 19 additions & 11 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -94,20 +94,28 @@ number vor the tag.

*Before pushing a tag*, the pyproject version needs to be bumped.

1. Run `make changes` to review the merged PRs since last release.
1. Run `make changes` to review the merged PRs since last release and decide what kind of release you are doing (bugfix, feature or breaking).
* Review the tags on each PR and make sure they are categorized
appropriately.
2. Determine the bump type (major, minor, patch).
3. Run `BUMP=(bugfix|feature|breaking) make bump_version` to update the `pydo`

1. Run `BUMP=(bugfix|feature|breaking) make bump_version` to update the `pydo`
version.
* `BUMP` also accepts `(patch|minor|major)`
4. Run `make generate` to update the version in the codebase.
5. Make a pull request with this change. It should be separate from PRs
containing changes to the library (including regenerated code).
6. *Once the version bump PR has been pushed and merged*, tag the commit to trigger the
release workflow.
Run `make tag` to tag the latest commit and push the tag to ORIGIN.

Command example:

```code
make BUMP=minor bump_version
```

1. Run `make generate` to update the version in the codebase. Make a pull request with this change.
It should be separate from PRs containing changes to the library (including regenerated code).
1. Once the version bump PR has been pushed and merged, tag the commit to trigger the
release workflow: run `make tag` to tag the latest commit and push the tag to ORIGIN.

Notes:
* To tag an earlier commit, run `COMMIT=${commit} make tag`.
* To push the tag to a different remote, run `ORIGIN=${REMOTE} make tag`.
7. Once the release process completes, review the draft release for correctness
and publish the release. Also, ensure the release has been marked `Latest`.
1. Once the release process completes, review the draft release for correctness and publish the release.

Ensure the release has been marked `Latest`.
10 changes: 2 additions & 8 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -114,14 +114,8 @@ changes: _install_github_release_notes
version:
@poetry version

.PHONY: _install_sembump
_install_sembump:
@echo "=> installing/updating sembump tool"
@echo ""
@GO111MODULE=off go get -u github.com/jessfraz/junk/sembump

.PHONY: bump_version
bump_version: _install_sembump ## Bumps the version
bump_version: ## Bumps the version
@echo "==> BUMP=${BUMP} bump_version"
@echo ""
@ORIGIN=${ORIGIN} scripts/bumpversion.sh
Expand All @@ -130,4 +124,4 @@ bump_version: _install_sembump ## Bumps the version
tag: ## Tags a release
@echo "==> ORIGIN=${ORIGIN} COMMIT=${COMMIT} tag"
@echo ""
@ORIGIN=${ORIGIN} scripts/tag.sh
@ORIGIN=${ORIGIN} scripts/tag.sh
21 changes: 13 additions & 8 deletions scripts/bumpversion.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,23 @@ ORIGIN=${ORIGIN:-origin}
# Bump defaults to patch. We provide friendly aliases
# for patch, minor and major
BUMP=${BUMP:-patch}

poetry_version=$(poetry version)
version="${poetry_version:5}"
IFS='.' read -r major minor patch <<< "$version"

case "$BUMP" in
feature | minor)
BUMP="minor"
minor=$((minor + 1))
patch=0
;;
breaking | major)
BUMP="major"
major=$((major + 1))
minor=0
patch=0
;;
*)
BUMP="patch"
patch=$((patch + 1))
;;
esac

Expand All @@ -27,10 +35,7 @@ elif [[ $(git status --porcelain -b | grep -e "ahead" -e "behind") != "" ]]; the
exit 1
fi

poetry_version=$(poetry version)
version="${poetry_version:5}"
new_version="$(sembump --kind "$BUMP" "$version")"

new_version="$major.$minor.$patch"
poetry version "${new_version#v}"

echo ""
echo ""
Loading