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

ci: implement semantic release for release workflow #17332

Open
wants to merge 82 commits into
base: main
Choose a base branch
from

Conversation

andrewb1269hg
Copy link
Contributor

@andrewb1269hg andrewb1269hg commented Jan 11, 2025

Description:

This PR accomplishes 3 things:

  1. Implement semantic release for versioning off the mainline.
  2. Implement a workflow zxf-trigger-semantic-release.yaml which will call the semantic release utility to tag a branch at a specific build_xxxxx. This will apply a version tag to the build_xxxxx commit, then kick off the release process.
  3. Implement a workflow zxf-version-roll.yaml to roll the version.txt file forward one minor version.

This PR is how we plan on releasing v0.59.0.

Related issue(s):

Fixes #14967

Notes for reviewer:

There are a couple of changes that need to happen before this PR is merged:

zxf-trigger-semantic-release.yaml

  • Change default input value from "43" to ""
  • Inside Run Semantic Release step, add in npx semantic-release

zxf-version-roll.yaml

  • Inside Checkout Code step, change ref from 14967-semantic-release-workflow-update to main
  • Inside Publish to Maven Central step, remove the PpublishTestRelease=true flag

General:

  • Merge the PR, apply a v0.58.99 tag on the mainline, then trigger semantic release at some point in the future when it is time to cut a release. This will have release numbers start at v0.59.0 rather than v0.1.0.

Checklist

  • Documented (Code comments, README, etc.)

  • The primary documentation for the CITR release process is captured here: docs: Updated documentation to incorporate CITR & Semantic Release #17327

  • Tested (unit, integration, etc.)

  • This has been tested on a private branch several times to confirm it works. The npx semantic-release has not yet been tested on a private branch as I did not want to accidentally cut a release.

san-est and others added 30 commits November 15, 2024 16:39
Signed-off-by: Andrew Brandt <[email protected]>
Signed-off-by: Andrew Brandt <[email protected]>
Signed-off-by: Andrew Brandt <[email protected]>
Signed-off-by: Andrew Brandt <[email protected]>
Signed-off-by: Andrew Brandt <[email protected]>
…ph/hedera-services into semantic-release-workflow-update
Signed-off-by: Andrew Brandt <[email protected]>
Signed-off-by: Andrew Brandt <[email protected]>
Signed-off-by: Andrew Brandt <[email protected]>
Signed-off-by: Andrew Brandt <[email protected]>
Signed-off-by: Andrew Brandt <[email protected]>
Signed-off-by: Andrew Brandt <[email protected]>
Signed-off-by: Andrew Brandt <[email protected]>
Signed-off-by: Andrew Brandt <[email protected]>
Signed-off-by: Andrew Brandt <[email protected]>
Signed-off-by: Andrew Brandt <[email protected]>
@andrewb1269hg andrewb1269hg requested a review from a team as a code owner January 13, 2025 19:24
Signed-off-by: Andrew Brandt <[email protected]>
Signed-off-by: Andrew Brandt <[email protected]>
Comment on lines 109 to 116
- name: Add & Commit
uses: EndBug/add-and-commit@a94899bca583c204427a224a7af87c02f9b325d5 # v9.1.4
with:
cwd: '.'
author_name: ${{ secrets.SVCS_GIT_USER_NAME }}
author_email: ${{ secrets.SVCS_GIT_USER_EMAIL }}
commit: --signoff
message: "chore: Minor Version Roll"
Copy link
Member

Choose a reason for hiding this comment

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

I am not a 100% sure this would work when the checked out ref is main without adding a PAT and/or branch protection exclusion rules for this service user

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I believe this will work. We have a bypass for the automation team, which contains the swirlds automation user. This means they should be able to push to main without needing a PR.

Signed-off-by: Andrew Brandt <[email protected]>
Signed-off-by: Andrew Brandt <[email protected]>
Signed-off-by: Andrew Brandt <[email protected]>
Signed-off-by: Andrew Brandt <[email protected]>
Signed-off-by: Andrew Brandt <[email protected]>
Signed-off-by: Andrew Brandt <[email protected]>
Signed-off-by: Andrew Brandt <[email protected]>
Signed-off-by: Andrew Brandt <[email protected]>
Signed-off-by: Andrew Brandt <[email protected]>
Signed-off-by: Andrew Brandt <[email protected]>
Signed-off-by: Andrew Brandt <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

ci: enable semantic release in gh release workflows
3 participants