Skip to content

Commit

Permalink
Adds a RELEASING.md file to the root of the project (#3251)
Browse files Browse the repository at this point in the history
Adds a RELEASING.md file to the root of the project. This has updated instructions for the new release workflow. Resolves #3108.

Signed-off-by: David Venable <[email protected]>
  • Loading branch information
dlvenable authored Aug 25, 2023
1 parent 7914e93 commit 1eec63f
Show file tree
Hide file tree
Showing 2 changed files with 72 additions and 32 deletions.
71 changes: 71 additions & 0 deletions RELEASING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
# Releasing

This document outlines the process for releasing Data Prepper.

## Release prerequisites

Be sure you have:

* Created a release branch.
* Updated the version in the release branch.
* Updated the THIRD-PARTY file.
* Created the release notes file
* Created the changelog file

## Performing a release

This section outlines how to perform a Data Prepper release using GitHub Actions and the OpenSearch build infrastructure.
The audience for this section are Data Prepper maintainers.

### Start the release Data Prepper action

To run the release, go to the [Release Artifacts](https://github.com/opensearch-project/data-prepper/actions/workflows/release.yml)
GitHub Action.

Select the "Run workflow" option from the GitHub Actions UI. GitHub will prompt you with some options.

#### Use workflow for

Select the release branch which you are releasing for.
Typically, this will be a branch such as `2.4`.
However, you may select `main` for testing.

#### Whether to create major tag of docker image or not.

This will create a tag such as `2` which points to this version

All releases have a full version tag. For example, `2.4.0`.
The latest release on a major series can also have a tag applied such as `2`.
Check this option if you are releasing the latest version withing that series of major versions.
This value can be true for old major series as well such as the 1.x series.

#### Whether to create latest tag of docker image or not.

This will update the `latest` tag to point to this version.
You should set this when releasing the latest version, but not patches to old versions.

#### Run

Press the "Run workflow" button.

GitHub Actions will perform the release process.
This includes building the artifacts, testing, drafting a GitHub release, and promoting to production

### Approve issue

The release build will create a new GitHub issue requesting to release the project.
This needs two maintainers to approve.
To approve, load [Data Prepper issues](https://github.com/opensearch-project/data-prepper/issues).
Look for and open a new issue starting with _Manual approval required for workflow_.
Verify that the metadata looks correct and that we want to release.
Add a new comment on the issue with the word _approve_ or _approved_ in it.
(See the issue for all allowed words)
Once approved by two maintainers, the release build will be promoted to production.

You can also deny a release by using _deny_ or _denied_ in the comment.

**NOTE** The smoke tests currently report a build failure, even when they succeed. Thus, you need to manually verify the output.

### Further details

For more details on the release build, or to setup your own GitHub repository, see [release/README.md](release/README.md).
33 changes: 1 addition & 32 deletions release/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,36 +8,5 @@ It is not a project and instead holds release notes and change logs for Data Pre

## Performing a Release

This section outlines how to perform a Data Prepper release using GitHub Actions and the OpenSearch build infrastructure.
The audience for this section are Data Prepper maintainers.
See [RELEASING.md](../RELEASING.md) for instructions to follow for any release.

### Prerequisites

You should have created a RELEASE Issue in the [opensearch-build](https://github.com/opensearch-project/opensearch-build) project.

### Building the Data Prepper Artifacts

To run the release, go to the [Release Artifacts](https://github.com/opensearch-project/data-prepper/actions/workflows/release.yml)
GitHub Action.

Select the "Run workflow" option from the GitHub Actions UI. GitHub will prompt you to select a branch with the "Use workflow from" option. Select
the release branch which you are releasing for. You may select `main` for testing.

Press the "Run workflow" button.

GitHub Actions will perform the release process. Please take note of the workflow run number. You will find this in the text "Release Artifacts #<worflow run number>"
and use it when promoting to production.

Wait for the job to complete successfully. Once the job completes successfully, you
have released the artifacts to the Data Prepper staging repository.

### Promotion to Production

The Data Prepper staging repository organizes artifacts by build number. Thus to promote any given build, the opensearch-build maintainers need to know the build number to promote.
When you are ready to promote any given build to production, update the RELEASE Issue you created in the opensearch-build project. The opensearch-build maintainers will
then run the promotion job for the artifacts you specified.

Provide the following information as a comment in the RELEASE Issue:

* `VERSION` - The version you are releasing (e.g. `1.3.0`)
* `DATA_PREPPER_BUILD_NUMBER` - The workflow run number from the GitHub Action which build the artifacts. Do not include the `#`. e.g. `3`

0 comments on commit 1eec63f

Please sign in to comment.