You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+6-31Lines changed: 6 additions & 31 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -70,36 +70,11 @@ Run `./format.sh` to format all source files in the way enforced by the "Check f
70
70
71
71
## Releasing (CI employees only)
72
72
73
-
Requires an account on [Sonatype](https://issues.sonatype.org) with access to the `com.code-intelligence` group as well as a YubiKey with the signing key.
3. Execute `cat deploy/maven.pub | gpg --import` to import the public key used for Maven signatures
80
-
4. Plug in the YubiKey and execute `gpg --card-status` to generate a key stub.
81
-
If you see a `No such device` error, retry after executing `killall gpg-agent; killall pcscd` to remove existing locks on the YubiKey.
82
-
83
-
### Per release
84
-
85
73
1. Update `JAZZER_VERSION` in [`maven.bzl`](maven.bzl).
86
-
2. Create a release, using the auto-generated changelog as a base for the release notes.
87
-
3. Trigger the "Release" GitHub Actions workflow for the tag.
88
-
This builds release archives for GitHub as well as the multi-architecture jar for the `com.code-intelligence:jazzer` Maven artifact.
89
-
4. Create a GitHub release and upload the contents of the `jazzer_releases` artifact from the workflow run.
90
-
5. Check out the tag locally and, with the YubiKey plugged in, run `bazel run //deploy` with the following environment variables to upload the Maven artifacts:
91
-
*`JAZZER_JAR_PATH`: local path of the multi-architecture `jazzer.jar` contained in the `jazzer` artifact of the "Release" workflow
92
-
*`MAVEN_USER`: username on https://oss.sonatype.org
93
-
*`MAVEN_PASSWORD`: password on https://oss.sonatype.org
94
-
95
-
The YubiKey blinks repeatedly and needs a touch to confirm each individual signature.
96
-
6. Log into https://oss.sonatype.org, select both staging repositories and "Close" them.
74
+
2. Trigger the "Prerelease" GitHub Actions workflow for the branch where you want to do the release:
75
+
*`main` for major and minor releases
76
+
* An appropriate release branch for patch releases
77
+
3. Wait for the workflow to finish (about 10 minutes)
78
+
4. When successful and happy with the results, log into https://oss.sonatype.org, select both staging repositories and "Close" them.
97
79
Wait and refresh, then select them again and "Release" them.
98
-
7. Locally, with Docker credentials available, run `docker/push_all.sh` to build and push the `cifuzz/jazzer` and `cifuzz/jazzer-autofuzz` Docker images.
99
-
100
-
### Updating the hosted javadocs
101
-
102
-
Javadocs are hosted at https://codeintelligencetesting.github.io/jazzer-docs, which is populated from https://github.com/CodeIntelligenceTesting/jazzer-docs.
103
-
104
-
To update the docs after a release with API changes, replace the contents of the `jazzer`, `jazzer-api`, and `jazzer-junit` subdirectories of `jazzer-docs` with the extracted contents of the `//deploy:jazzer-docs`, `//deploy:jazzer-api-docs`, and `//deploy:jazzer-junit-docs` targets, respectively.
105
-
Then commit and push to have the docs published automatically (can take about a few minutes to appear).
80
+
5. Release the draft Github release. This will automatically create a tag, push the docker images and deploy the docs (can take about a few minutes to appear at [jazzer-docs](https://codeintelligencetesting.github.io/jazzer-docs)).
0 commit comments