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

Automate rolling of SNAPSHOT version in pom #1438

Merged
merged 3 commits into from
Nov 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
29 changes: 29 additions & 0 deletions .github/workflows/pom_update.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
on:
workflow_call:

permissions:
contents: write
pull-requests: write

jobs:
create_pr:
name: Create Pull Request
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Git
run: |
git config --global user.email "github-actions[bot]@users.noreply.github.com"
git config --global user.name "github-actions[bot]"
echo "BRANCH=pom-snapshot-updt" >> $GITHUB_ENV
- name: Build PR
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
git checkout -b $BRANCH
./mvnw build-helper:parse-version versions:set -DnewVersion=\${parsedVersion.majorVersion}.\${parsedVersion.minorVersion}.\${parsedVersion.nextIncrementalVersion}-SNAPSHOT
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Assuming x.y.z it'll always be z that's incremented.

We can always edit the PR or change it manually at any time.

If we want minor (y) incremented on most releases I can likely revise it for that as well.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Any chance we can make this an input? I think we don't often make a Z change (I hope not, since they are bugfixes), but sometimes it's an Y, sometimes Z, so it would be nicer if I can just type in : next version is 2.5.0 (or 2.4.2), bit more explicit.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If you want to kick it off manually then yes you could have an input.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh right, this is created as part of the releases? In that case, can't we use the release version here?

Copy link
Collaborator Author

@kingthorin kingthorin Nov 12, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I could probably rewrite this to do that but it wouldn't really make the situation any better. Having the existing version doesn't give any hint what element to increment.

I think the best plan is to just switch to incrementing the minor version (y) which as you described above should be correct in the majority of circumstances.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, we're talking about the next/snapshot version, my bad. In that case, I think it doesn't matter if we increment y or z right? (I mean, if 2.5.2-SNAPSHOT results in a 2.6.0 release, I don't think anyone would mind a huge deal)

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed, and we can always adjust it manually at any time between releases if necessary/wanted.

git add .
git commit -m "Update pom SNAPSHOT version" -m "A release just completed, this PR increments the SNAPSHOT version in pom.xml" --signoff
git push --set-upstream origin $BRANCH --force
gh pr create --fill
4 changes: 3 additions & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -69,4 +69,6 @@ jobs:
${{ steps.changelog.outputs.changelog }}
draft: false
prerelease: false

call_pom_update:
needs: publish
uses: ./.github/workflows/pom_update.yml