diff --git a/.github/workflows/release_drafter.yml b/.github/workflows/release_drafter.yml index b23f830c3..649504b71 100644 --- a/.github/workflows/release_drafter.yml +++ b/.github/workflows/release_drafter.yml @@ -126,9 +126,9 @@ jobs: issue-body: "Please approve or deny the release of opensearch-hadoop. **VERSION**: ${{ steps.get_data.outputs.version }} **TAG**: ${{ github.ref_name }} **COMMIT**: ${{ github.sha }}" - name: Draft a release - uses: softprops/action-gh-release@de2c0eb89ae2a093876385947365aca7b0e5f844 # v1 + uses: ncipollo/release-action@339a81892b84b4eeb0f6e744e4574d79d0d9b8dd with: - draft: true - generate_release_notes: true - files: | - artifacts.tar.gz + immutableCreate: true + generateReleaseNotes: true + artifacts: "artifacts.tar.gz" + prerelease: true diff --git a/RELEASING.md b/RELEASING.md index 1fe344a58..f4be04185 100644 --- a/RELEASING.md +++ b/RELEASING.md @@ -34,10 +34,16 @@ Repositories create consistent release labels, such as `v1.0.0`, `v1.1.0` and `v The release process is standard across repositories in this org and is run by a release manager volunteering from amongst [MAINTAINERS](MAINTAINERS.md). -1. Create a tag, e.g. `v2.1.0`, and push it to the GitHub repo. -1. The [release-drafter.yml](.github/workflows/release-drafter.yml) will be automatically kicked off and is responsible for drafting a new release on GitHub containing release artifacts. -1. Before creating a draft release, this workflow creates a GitHub issue asking for approval from the [maintainers](MAINTAINERS.md). See sample [issue](https://github.com/gaiksaya/opensearch-java/issues/1). The maintainers need to approve in order to continue the workflow run. -1. Once a release is drafted [opensearch-hadoop-release](https://build.ci.opensearch.org/job/opensearch-hadoop-release/) jenkins workflow is triggered. The artifacts will be automcatically signed and published to maven. +1. Identify the commit to release and create a tag on it, pushing to the upstream repo: +``` +git fetch origin +git tag +git push origin +``` +1. The [release_drafter.yml](.github/workflows/release_drafter.yml) will be automatically kicked off. Before creating a release, this workflow creates a GitHub issue asking for approval from the [maintainers](MAINTAINERS.md). The maintainers need to approve in order to continue the workflow run. +1. Once approved, a pre-release will be created with the build artifacts attached. +1. This pre-release triggers the [opensearch-hadoop-release](https://build.ci.opensearch.org/job/opensearch-hadoop-release/) jenkins workflow. The artifacts will be automatically signed and published to maven. Please note that the release workflow is triggered only if created release is in pre-release state. +1. Once the above release workflow is successful, it creates a GitHub issue requesting maintainers to manually publish the pre-release to release on GitHub. 1. Increment the version in [opensearch-hadoop-version.properties](./buildSrc/opensearch-hadoop-version.properties) to the next patch release, e.g. `2.1.1`. ## Snapshot Builds diff --git a/jenkins/release.jenkinsFile b/jenkins/release.jenkinsFile index f7a394d3a..6db928e85 100644 --- a/jenkins/release.jenkinsFile +++ b/jenkins/release.jenkinsFile @@ -1,4 +1,4 @@ -lib = library(identifier: 'jenkins@12.0.0', retriever: modernSCM([ +lib = library(identifier: 'jenkins@13.0.1', retriever: modernSCM([ $class: 'GitSCMSource', remote: 'https://github.com/opensearch-project/opensearch-build-libraries.git', ])) @@ -7,8 +7,7 @@ standardReleasePipelineWithGenericTrigger( overrideDockerImage: 'opensearchstaging/ci-runner:release-centos7-clients-v4', tokenIdCredential: 'jenkins-opensearch-hadoop-generic-webhook-token', causeString: 'A tag was cut on opensearch-project/opensearch-hadoop repository causing this workflow to run', - downloadReleaseAsset: true, - publishRelease: true) { + downloadReleaseAsset: true) { publishToMaven( signingArtifactsPath: "$WORKSPACE/maven/", mavenArtifactsPath: "$WORKSPACE/maven/",