Skip to content

Commit

Permalink
Clarify release process about setting version and using secrets
Browse files Browse the repository at this point in the history
  • Loading branch information
cbliard committed Aug 26, 2020
1 parent 44aa722 commit 461261a
Showing 1 changed file with 35 additions and 49 deletions.
84 changes: 35 additions & 49 deletions RELEASING.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,18 +18,49 @@ Also check if you can upgrade any dependencies:
make update-dependency-versions
```

## Decide what the next version should be ##

This depends on what's changed (see `CHANGELOG.md`):

* Bump `MAJOR` if:
* There are `Changed` or `Removed` entries
* A cucumber library dependency upgrade was major
* Bump `MINOR` if:
* There are `Added` entries
* Bump `PATCH` if:
* There are `Fixed` or `Deprecated` entries

Display future version by running:

```
make version
```

Check if branch name and version are as expected. To change version run:

```
mvn versions:set -DnewVersion=X.Y.Z-SNAPSHOT
```

## Secrets ##

Secrets are required to make releases. Members of the core team can install
keybase and join the `cucumberbdd` team to access these secrets.

During the release process, secrets are fetched from keybase and used to sign
and upload the maven artifacts.

## Make the release ##

In order to make releases secrets are required. Members of the core team can
install keybase and join the `cucumberbdd` team to access these secrets.
Remove the empty sections in the changelog. Don't commit anything yet.

Remove the empty sections in the changelog. Don't commit these but run:
Check if branch name and version are as expected:

```
make version
```

Check if branch name and version are as expected.
Do the release:

```
make release
Expand All @@ -44,48 +75,3 @@ Update the cucumber-jvm version in the documentation project:
The cucumber-jvm version for the docs is specified in the docs [versions.yaml](https://github.com/cucumber/docs.cucumber.io/blob/master/data/versions.yaml)

All done! Hurray!

# GPG Keys #

To make a release you must have the `devs@cucumber.io` GPG private key imported in gpg2.

```
gpg --import devs-cucumber.io.key
```

Additionally upload privileges to the Sonatype repositories are required. See the
[OSSRH Guide](http://central.sonatype.org/pages/ossrh-guide.html) for instructions. Then an
administrator will have to grant you access to the cucumber repository.

Finally both your OSSRH credentials and private key must be setup in your `~/.m2/settings.xml` -
for example:

```
<settings>
<servers>
<server>
<id>ossrh</id>
<username>sonatype-user-name</username>
<password>sonatype-password</password>
</server>
</servers>
<profiles>
<profile>
<id>ossrh</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<gpg.executable>gpg2</gpg.executable>
<gpg.useagent>true</gpg.useagent>
</properties>
</profile>
<profile>
<id>sign-with-cucumber-key</id>
<properties>
<gpg.keyname>dev-cucumber.io-key-id</gpg.keyname>
</properties>
</profile>
</profiles>
</settings>
```

0 comments on commit 461261a

Please sign in to comment.