Skip to content

Commit

Permalink
Merge pull request #614 from nre-ableton/nre/master/update-release-docs
Browse files Browse the repository at this point in the history
Update release documentation
  • Loading branch information
nre-ableton authored Aug 7, 2023
2 parents c8eef88 + b5ba0f1 commit 594a202
Showing 1 changed file with 14 additions and 13 deletions.
27 changes: 14 additions & 13 deletions RELEASE.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,41 +3,41 @@
## Pre-Requirements

In order to release a new version you need a `jenkins.io` account, push rights to this
repository and access to Jenkins' JFrog artifactory server. See [jenkins plugin adoption
procedure][jenkins-adopt-a-plugin].
repository and access to Jenkins' JFrog artifactory server. See the [Jenkins plugin
adoption procedure][jenkins-adopt-a-plugin].

## Overview

In short, the release procedure could described with the following steps:

1. Update the version in `gradle.properties` and create a new commit
2. Make a new tag
3. Build and publish artifacts to repo.jenkins.io/releases maven repository (jar, src,
docs)
3. Build and publish artifacts to the [Jenkins plugin repository][jenkins-plugin-repo].
4. Update the version in `gradle.properties` for the next development cycle
5. Add release notes to GitHub

**NOTE:** repo.jenkins.io/releases has a delay (1-2d) in publishing artifacts to public,
so mark new releases as `pre-release`. Once artifacts are avalible, the `pre-release`
**NOTE:** repo.jenkins-ci.org might have a delay (1-2d) in publishing artifacts to public,
so mark new releases as `pre-release`. Once artifacts are available, the `pre-release`
label can be removed.

## Tools

To automate the above steps, JPU uses a vary of gradle plugins and GitHub actions scripts.
To automate the above steps, JenkinsPipelineUnit uses a variety of Gradle plugins and
GitHub actions.

### Gradle plugins

#### net.researchgate.release

JPU uses this to prepare new releases. This Gradle plugin automativally creates a new
commit with the updated release version, makes a new release tag, and then prepares the
repository for the next development cycle.
This plugin is used to prepare new releases. This Gradle plugin automatically creates a
new commit with the updated release version, makes a new release tag, and then prepares
the repository for the next development cycle.

#### com.jfrog.artifactory

Needed to publish artifacts to the repo.jenkins.io/releases maven repository.
Needed to publish artifacts to the repo.jenkins-ci.org/releases maven repository.

### Github Actions
### GitHub Actions

There is a [release-drafter][release-drafter] GitHub actions script to prepare release
notes based on issues and PRs which were made to the main branch since the last release.
Expand All @@ -62,7 +62,7 @@ git checkout -B master origin/master
# (just press enter to use default values)
```
* Checkout new tag
* Checkout release tag

```bash
git checkout v1.7
Expand All @@ -82,4 +82,5 @@ git checkout v1.7


[jenkins-adopt-a-plugin]: https://www.jenkins.io/doc/developer/plugin-governance/adopt-a-plugin/
[jenkins-plugin-repo]: https://repo.jenkins-ci.org/artifactory/releases/com/lesfurets/jenkins-pipeline-unit/
[release-drafter]: https://github.com/jenkinsci/.github/blob/master/.github/release-drafter.adoc

0 comments on commit 594a202

Please sign in to comment.