Skip to content

Conversation

@snazy
Copy link
Member

@snazy snazy commented Nov 26, 2024

Introduce a couple of shell scripts to automate the release process. Some docs are included under releases/README.md.

Generally, releases at the ASF follow the following workflow:

  1. Draft a release
  2. Start a VOTE on the dev mailing list
  3. If the VOTE fails, the release has failed - "go to step 1"
  4. If the VOTE passes, publish the release

The above process is, without release branches, reflected in the scripts:

  1. releases/bin/draft-release.sh --major <major-version-number> --minor <minor-version-number> --commit <Git-commit-ID>
  2. if the vote passes: releases/bin/publish-release.sh --major <major-version-number> --minor <minor-version-number>
  3. if the vote fails, just run draft-release.sh again

The change includes scripts to handle version branches, however, using those is not required for the two release scripts above.

It's important to know that the scripts handle changes to the version.txt file and that a specific syntax for Git tags is expected, which is required to automatically use/generate RC and final versions, including the artifact publishing via Sonatype.

@jbonofre
Copy link
Member

Thanks for that !

I will double check as I identified several issues during the first RC.

@jbonofre
Copy link
Member

By the way, it would be great to sync: as said on the mailing list (in the release thread), I'm working on similar release script/check. I will sync with your PR.

@snazy
Copy link
Member Author

snazy commented Nov 26, 2024

By the way, it would be great to sync:

We did, I mentioned this in one of the calls, quite some time ago though ;)

@jbonofre
Copy link
Member

By the way, it would be great to sync:

We did, I mentioned this in one of the calls, quite some time ago though ;)

@snazy you know I'm getting old, I didn't remember 😄

@snazy snazy force-pushed the releases-infra branch 13 times, most recently from e38a0e3 to 4d393f8 Compare November 27, 2024 15:50
Introduce a couple of shell scripts to automate the release process.
Some docs are included under `releases/README.md`.

Generally, releases at the ASF follow the following workflow:
1. Draft a release
2. Start a VOTE on the dev mailing list
3. If the VOTE fails, the release has failed - "go to step 1"
4. If the VOTE passes, publish the release

The above process is, without release branches, reflected in the scripts:
1. `releases/bin/draft-release.sh --major <major-version-number> --minor <minor-version-number> --commit <Git-commit-ID>`
2. if the vote passes: `releases/bin/publish-release.sh --major <major-version-number> --minor <minor-version-number>`
3. if the vote fails, just run `draft-release.sh` again

The change includes scripts to handle version branches, however, using those is not required for the two release scripts above.

It's important to know that the scripts handle changes to the `version.txt` file and that a specific syntax for Git tags is expected, which is required to automatically use/generate RC and final versions, including the artifact publishing to Nexus.
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