|
1 | 1 | # Releasing
|
2 | 2 |
|
3 |
| -At the moment, this release only the `sigstore-java` library |
| 3 | +Release is done on github. Do not release from your local machine. |
4 | 4 |
|
5 |
| -## Creating a release |
6 |
| -Use the action "Tag and Build Release" with the version (ex `0.5.3`) to create a new release on github. It will |
7 |
| -- tag `main` (or a branch) with `v0.5.3` |
8 |
| -- create a new release with name `v0.5.3` containing |
9 |
| - - all `sigstore-java` artifacts |
10 |
| - - a slsa attesation for the release build |
| 5 | +## Create a tag |
11 | 6 |
|
12 |
| -#### Reverting a failed release (Github only) |
13 |
| -If a release build fails for any reason or the resulting artifacts are not as expected, you must clean-up |
14 |
| -any tags or releases built during the action |
15 |
| -1. Delete the release from [Releases](https://github.com/sigstore/sigstore-java/releases) |
16 |
| -2. Delete the tag from [Tags](https://github.com/sigstore/sigstore-java/tags) |
17 |
| - |
18 |
| -## Building a release bundle for maven central |
| 7 | +Tag the release at the version you wish (ex `v0.5.3`), this *MUST* match the project version (`0.5.3`). See version info in [gradle.properties](gradle.properties). |
19 | 8 |
|
20 |
| -The local release script requires you to have `cosign` and `gpg` installed. It |
21 |
| -- downloads the latest release from github (ex `v0.5.3`) |
22 |
| -- signs all artifacts (except slsa attestation) with cosign |
23 |
| -- signs *everything* with gpg to satisfy maven central |
24 |
| -- bundles all the files into `sigstore-java-0.5.3-bundle.jar` |
| 9 | +## Release `sigstore-java` and `sigstore-maven-plugin` |
25 | 10 |
|
26 |
| -``` |
27 |
| -$ cd ./scripts |
28 |
| -$ ./sign_and_bundle_release.sh |
29 |
| -``` |
| 11 | +- Use the "Release sigstore-java and sigstore-maven-plugin to Maven Central" action against the tagged version `v0.5.3'. This action builds, signs and pushes the artifacts to Maven Central. |
30 | 12 |
|
31 |
| -## Releasing to maven central |
| 13 | +#### Complete the release on maven central |
32 | 14 |
|
33 | 15 | Releasing to maven central is a **permanent** action, it cannot be reverted
|
34 | 16 |
|
35 |
| -Upload the bundle: |
36 |
| -1. Log into [sonatype (s01)](https://s01.oss.sonatype.org) |
37 |
| -2. Click "Staging Upload" on the left navbar |
38 |
| -3. Set "Upload Mode" to "Artifact Bundle" |
39 |
| -4. Then select `sigstore-java-0.5.3-bundle.jar` that was generated by `sign_and_bundle_release.sh` |
40 |
| -5. Click "Upload Bundle" |
41 |
| - |
42 | 17 | Release the bundle:
|
| 18 | +1. Log into [sonatype (s01)](https://s01.oss.sonatype.org) |
43 | 19 | 1. Click "Staging Repositories" on the left navbar
|
44 |
| -2. Select your artifact and ensure all checks have passed |
45 |
| -3. Click "release" |
46 |
| -4. If checks are failing, "drop" the bundle and fix the release process |
| 20 | +1. Select your artifact, "close" it to begin checks |
| 21 | +1. After all checks have passed, "release" it |
| 22 | + 1. If checks are failing, "drop" the bundle and fix the release process |
| 23 | +1. Releases show up on Maven Central roughly 1-2 hours after release |
| 24 | + |
| 25 | +## Release `sigstore-gradle-plugin` to Gradle Plugin Portal |
| 26 | + |
| 27 | +- Use the "Release sigstore gradle plugins to Gradle Plugin Portal" action against the tagged version `v0.5.3'. This action builds, signs and pushes the artifacts to the Gradle Plugin Portal |
| 28 | +- There is no follow up here, plugins are auto released on the plugin portal.## Reverting a failed release (Github only) |
| 29 | + |
| 30 | +If a release build fails for any reason or the resulting artifacts are not as expected, you must clean-up |
| 31 | +any tags or releases built during the action |
| 32 | +1. Delete the release from [Releases](https://github.com/sigstore/sigstore-java/releases) |
| 33 | +2. Delete the tag from [Tags](https://github.com/sigstore/sigstore-java/tags) |
| 34 | + |
| 35 | +### Maven Central |
| 36 | + |
| 37 | +You can try to contact support but typically releases are permanent. |
| 38 | + |
| 39 | +### Gradle Plugin Portal |
| 40 | + |
| 41 | +If you wish to revert a release, you must login to the portal using `sigstore-java-releasers` within 7 days to delete a release. |
0 commit comments