Skip to content

[Chore:]: Document release process, and update as needed #532

@kabir

Description

@kabir

Our release process is a little bit clunky, and needs documenting. I think @ehsavoie mentioned a RELEASE.md at one stage.

The steps I do to do a release is:

  • Run a script I have to change all the versions from e.g. 0.3.0.Beta1-SNAPSHOT to 0.3.0.Beta1
    • This only updates the POMs
    • We also have some JBang classes in the example directories which need their versions updated, which I do manually.
    • Maybe it would be better to have a script in the project, that updates everything

Then:

  • Open a PR with the version update - the idea here was that the -Prelease GH Actions job will check that the PR is in order
    • But this only tests what is in the main branch already
    • And since it needs GPG signing, which needs secrets, it is set up to not run in forks
    • So the PR needs to be merged to the main branch, and the -Prelease and other jobs need to be checked that they pass (this might actually be good practice....)
  • Once the above is fine, tag the release and push the tag
    • The release-to-maven-central job will pick up the tag and do all the work to push to Maven Central
    • Once the job completes it typically takes about 30 minutes for it to appear. However this varies wildly, and can take a lot longer. I think it might depend on the time of the day

Once the release-to-maven-central.yml job is completed:

  • Open a PR to increment to the next SNAPSHOT version, and merge it

Also, it would be good to have the release-to-maven-central job actually publish the release to https://github.com/a2aproject/a2a-java/releases (Here is an example from another repo)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions