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

DATAGO-70348: Publish quarkus to Maven Central #57

Merged
merged 10 commits into from
Feb 12, 2024
Merged

DATAGO-70348: Publish quarkus to Maven Central #57

merged 10 commits into from
Feb 12, 2024

Conversation

clarkbains
Copy link
Collaborator

@clarkbains clarkbains commented Feb 7, 2024

Pre merge action items

  • Add github secrets to SolaceLabs Repositoy
  • Update POMs to point at correct repository

Post merge action items

  • Update pom.xml to automatically release on ossrh (Currently it will be held back for manual approval, just to make sure all is well with the automation)

Questions

  • Should we be running tests in the release pipeline?
  • Are docs being updated correctly?

<configuration>
<serverId>ossrh</serverId>
<nexusUrl>https://s01.oss.sonatype.org/</nexusUrl>
<autoReleaseAfterClose>false</autoReleaseAfterClose>
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

This is what will need to be updated to allow the release action to distribute the package publicly without extra approval

@SravanThotakura05
Copy link
Collaborator

@clarkbains. Below are my answers to your questions

  1. Yes, we need to run the tests in release pipeline. Though all the pull requests merged to main will run the tests, just want to make sure nothing is breaking during release.

  2. We are updating the documentation to make sure it is aligned to features available in main branch.

@SravanThotakura05
Copy link
Collaborator

@clarkbains I am checking if we can enable githubpages for this repo to host documentation. I will confirm on this so that we can exclude docs from release pipeline

@@ -9,23 +11,14 @@
</parent>
<groupId>com.solace.quarkus</groupId>
<artifactId>quarkus-solace-parent</artifactId>
<version>999-SNAPSHOT</version>
<version>0.0.1-SNAPSHOT</version>
Copy link
Collaborator

Choose a reason for hiding this comment

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

is 0.0.1 our general standard for development snapshots or can we leave it to 999?

Copy link
Collaborator

Choose a reason for hiding this comment

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

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Check out the releasing.md doc to see what the commits on main will be like. The intention is that main would always be one patch number higher than the last released version. I didn't have to pick this version but I figured it would be overwritten soon whenever this is released.

But we can also use release branches if you'd prefer. It currently has some support for this but we can automate the branch creation too if this is the only way you intend to develop. That way main and all features branches can stay as 999.0.0-SNAPSHOT, then only the release branches will have proper versions.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

When you go to release from main, the action will first make a commit where the version is set to the release version. Then it will build / deploy / tag it. Then it will increment the patch number and add snapshot again, so after a 1.0.0 release from main, main would be 1.0.1-SNAPSHOT.

Then if you select auto version for the next release from main, you wouldn't need to enter 1.0.1. the default auto version will select that for you, or if it was a breaking change / new feature you could specify the new release version manually, like 1.1.0 instead

Copy link
Collaborator

Choose a reason for hiding this comment

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

Okay, so that means a commit is always triggered to update all the pom's during the release process?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Yes, two commits are pushed on whatever branch it is released from
One to set to the desired version, which is what we deploy (eg 1.0.0)
and then one more that increments the patch version and adds -SNAPSHOT (eg 1.0.1-SNAPSHOT).

Copy link
Collaborator

@SravanThotakura05 SravanThotakura05 Feb 12, 2024

Choose a reason for hiding this comment

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

Okay. This will update all the modules irrespective of whether they are included in release pipeline, correct? My only concern is that pom is updated for every release we trigger. How much time do you think it will take if we switch to release branch process. If you think it takes more time to switch to second option(release branches) we will use the current process considering our release commitment to maven.

I am approving the current changes.

@clarkbains
Copy link
Collaborator Author

@SravanThotakura05 I've updated to run and report test results prior to committing any of the version bump commits. This will allow retrying the release if the project is not passing tests.

@SravanThotakura05
Copy link
Collaborator

@clarkbains I am checking if we can enable githubpages for this repo to host documentation. I will confirm on this so that we can exclude docs from release pipeline

We can exclude docs from release pipeline. We will host in Github pages

@clarkbains clarkbains merged commit c3dc2da into SolaceLabs:main Feb 12, 2024
3 checks passed
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.

2 participants