-
-
Notifications
You must be signed in to change notification settings - Fork 24
Introduce release process through GHA #497
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
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR introduces a comprehensive GitHub Actions workflow for automated Maven Central releases of the static-code-analysis project. The workflow handles the complete release lifecycle including version updates, deployment, and preparation for the next development iteration.
Key changes:
- Automated release process with manual version input parameters
- Integration with Maven Central via OSSRH and Central Publisher Portal
- Post-release verification to confirm Maven Central availability
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
.github/workflows/release.yml
Outdated
| git push origin | ||
|
|
||
| - name: Create GitHub Release | ||
| uses: actions/create-release@v1 |
Copilot
AI
Oct 12, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The actions/create-release@v1 action is deprecated. Use softprops/action-gh-release@v1 or the newer gh CLI commands instead for better security and maintenance.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@copilot open a new pull request to apply changes based on this feedback
wborn
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks like a nice way for being able to do SAT releases using GHA! The only improvement I saw is what Copilot also found, i.e. more generically handling POM files. But maybe there are some pom.xml files also used in tests making it less straight forward?
Did you also consider using the maven-release-plugin? It also checks if there are any snapshot dependencies before doing a release. We can always still use that in a follow up PR of course. 😉
|
@kaikreuzer I've opened a new pull request, #526, to work on those changes. Once the pull request is ready, I'll request review from you. |
|
@kaikreuzer I've opened a new pull request, #527, to work on those changes. Once the pull request is ready, I'll request review from you. |
No, I didn't.
Yeah, feel free! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Copilot reviewed 1 out of 1 changed files in this pull request and generated 12 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
@kaikreuzer do you want to start the publishing without further measures (no dry-run or approval of the created binary?) I know this is not that easy as the version plugin changes the git. You could also consider using |
|
@kaikreuzer I've opened a new pull request, #528, to work on those changes. Once the pull request is ready, I'll request review from you. |
@holgerfriedrich What would be your suggestion? I'm open to any good approach. |
|
@kaikreuzer I asked the AI to create what I described. With some more infos, the output seems reasonable: It introduces the parameter, uses it as a condition for all publish and git push sections. Additionally, it should upload the artifacts to GH. This may need a different pattern for the respective file names. Overall, this is the built-in and easy solution. |
|
@kaikreuzer could you pls. rebase? If I run the action, it fails during build because of changed xsd. This was fixed on main in the meantime. |
Signed-off-by: Kai Kreuzer <kai@openhab.org>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: Kai Kreuzer <kai@openhab.org>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: Kai Kreuzer <kai@openhab.org>
…-release@v2 (#526) * Initial plan * Replace deprecated actions/create-release@v1 with softprops/action-gh-release@v2 Co-authored-by: kaikreuzer <3244965+kaikreuzer@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: kaikreuzer <3244965+kaikreuzer@users.noreply.github.com>
* Initial plan * Fix duplicated POM file lists: use find command and glob patterns Co-authored-by: kaikreuzer <3244965+kaikreuzer@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: kaikreuzer <3244965+kaikreuzer@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: Kai Kreuzer <kai@openhab.org>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: Kai Kreuzer <kai@openhab.org>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: Kai Kreuzer <kai@openhab.org>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: Kai Kreuzer <kai@openhab.org>
Co-authored-by: Holger Friedrich <mail@holger-friedrich.de> Signed-off-by: Kai Kreuzer <kai@openhab.org>
…se workflow (#528) * Initial plan * Add explicit fail-fast behavior for Maven Central deployment Co-authored-by: kaikreuzer <3244965+kaikreuzer@users.noreply.github.com> * Remove unused output from maven-deploy step Co-authored-by: kaikreuzer <3244965+kaikreuzer@users.noreply.github.com> --------- Signed-off-by: Kai Kreuzer <kai@openhab.org> Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: kaikreuzer <3244965+kaikreuzer@users.noreply.github.com> Co-authored-by: Kai Kreuzer <kai@openhab.org>
|
@holgerfriedrich I just rebased it. |
|
@kaikreuzer almost got the first part running, see https://github.com/holgerfriedrich/static-code-analysis/commits/pr-dryrun |
|
How shall we proceed? If I look at https://github.com/holgerfriedrich/static-code-analysis/actions/runs/19986744870, I see that collecting artefacts worked, but the content of the zip seems not of much use to me. |
Co-authored-by: Holger Friedrich <mail@holger-friedrich.de> Signed-off-by: Kai Kreuzer <kai@openhab.org>
Co-authored-by: Holger Friedrich <mail@holger-friedrich.de> Signed-off-by: Kai Kreuzer <kai@openhab.org>
Co-authored-by: Holger Friedrich <mail@holger-friedrich.de> Signed-off-by: Kai Kreuzer <kai@openhab.org>
Not much use or not much sense? If I look at the content, it at least seems that it correctly built the jars, right? |
|
Yes, it did. But not sure if this is useful. You could give it a try without this changes. |
|
That wasn't too successful for a start... |
|
Did you check the GPG key stored in secrets? |
|
Thanks @holgerfriedrich, it seems I indeed had a wrong format of the key. I'd like to grant the github action an exception on the branch protection rule, but I couldn't yet figure out, how to do that... |
|
@kaikreuzer I don't know how the branch protection is set up for this repo. If you could switch from classic to ruleset based protection, there is a bypass option already given:
|
|
@kaikreuzer Surely there was no time during the last days. I would appreciate if you could proceed with that in the next weeks. |
|
Sure @holgerfriedrich, I'll continue on this. I actually did already last week and temporarily removed the branch protection, but then stumbled over the next issue that I wasn't sure how to resolve, see https://github.com/openhab/static-code-analysis/actions/runs/20298054017/job/58296420614. |
|
@kaikreuzer Maybe it is the pom from the test folder again.... remember we had to add an exception in another place of the script: To get a better picture what could be wrong, maybe echo the name of the pom in this loop: |

No description provided.