diff --git a/.github/workflows/check_label.yml b/.github/workflows/check_label.yml index 0d9208805ae..df9e5173dd8 100644 --- a/.github/workflows/check_label.yml +++ b/.github/workflows/check_label.yml @@ -14,21 +14,12 @@ jobs: runs-on: ubuntu-22.04 if: github.repository == 'vitessio/vitess' steps: - - uses: mheap/github-action-required-labels@v1 - name: Check release notes label - id: required_label - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - mode: exactly - count: 0 - labels: "release notes (needs details)" - - - name: Print helper - if: failure() && steps.required_label.outcome == 'failure' + - name: Release Notes label run: | - echo The "release notes (needs details)" label is set. The changes made in this Pull Request need to be documented in the release notes summary "('./doc/releasenotes/16_0_0_summary.md')". Once documented, the "release notes (needs details)" label can be removed. - exit 1 + if [[ "${{contains( github.event.pull_request.labels.*.name, 'release notes (needs details)')}}" == "true" ]]; then + echo The "release notes (needs details)" label is set. The changes made in this Pull Request need to be documented in the release notes summary "('./doc/releasenotes/16_0_0_summary.md')". Once documented, the "release notes (needs details)" label can be removed. + exit 1 + fi - name: Check type and component labels env: @@ -70,4 +61,12 @@ jobs: if cat ${LABELS_JSON} | jq -r '.[].name ' | grep -q 'NeedsWebsiteDocsUpdate' ; then echo "Expecting PR to not have the NeedsWebsiteDocsUpdate label, please update the documentation and remove the label." exit 1 + fi + + + - name: Do Not Merge label + run: | + if [[ "${{contains( github.event.pull_request.labels.*.name, 'Do Not Merge')}}" == "true" ]]; then + echo "This PR should not be merged. The 'Do Not Merge' label is set. Please unset it if you wish to merge this PR." + exit 1 fi \ No newline at end of file diff --git a/doc/internal/ReleaseInstructions.md b/doc/internal/ReleaseInstructions.md index 35c6fa9dd91..05286de9092 100644 --- a/doc/internal/ReleaseInstructions.md +++ b/doc/internal/ReleaseInstructions.md @@ -119,9 +119,17 @@ Create the `settings.xml` in the `$HOME/.m2/` directory as described in their [i ## Release Cutover -In this section we describe our current release process. We begin with a short [**overview**](#overview). +In this section we describe our current release process. We begin with a list of [**pre-requisite for the release team**](#pre-requisites) and with a short [**overview**](#overview). The release process is divided into three parts: [**Pre-Release**](#pre-release), [**Release**](#release), [**Post-Release**](#post-release), which are detailed after the overview. +### Pre-Requisites + +This section highlights the different pre-requisites the release team has to meet before releasing. + +- The tool `gh` must be installed locally and ready to be used. +- You must have access to the Java release, more information in the [**Java Packages**](#java-packages) section. +- You must be able to create branches and have admin right on the `vitessio/vitess` and `planetscale/vitess-operator` repositories. + ### Overview #### Schedule diff --git a/tools/create_release.sh b/tools/create_release.sh index ac18dd9f61b..546b60d40c3 100755 --- a/tools/create_release.sh +++ b/tools/create_release.sh @@ -90,6 +90,6 @@ echo " " echo " " echo "Once pushed, please execute the following gh command to create the Pull Requests. Please replace 'USER_ON_WHICH_YOU_PUSHED' with the user/org on which you pushed the two branches." echo " " -echo " gh pr create -w --title 'Release of v$RELEASE_VERSION' --base $BASE_BRANCH --head USER_ON_WHICH_YOU_PUSHED:$current_branch --label 'Type: Release','Component: General' --body 'Includes the release notes and release commit for the v$RELEASE_VERSION release. Once this PR is merged, we will be able to tag v$RELEASE_VERSION on the merge commit.'" +echo " gh pr create -w --title 'Release of v$RELEASE_VERSION' --base $BASE_BRANCH --head USER_ON_WHICH_YOU_PUSHED:$current_branch --label 'Type: Release','Component: General','Do Not Merge' --body 'Includes the release notes and release commit for the v$RELEASE_VERSION release. Once this PR is merged, we will be able to tag v$RELEASE_VERSION on the merge commit.'" echo " " echo "----------------"