Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[release-14.0] Tooling improvements backports #12526

Merged
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 34 additions & 14 deletions .github/workflows/release_notes_label.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,21 +14,12 @@ jobs:
runs-on: ubuntu-latest
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/14_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:
Expand All @@ -50,3 +41,32 @@ jobs:
echo "Expecting PR to have label 'Type: ...'"
exit 1
fi

- name: Check NeedsWebsiteDocsUpdate and NeedsDescriptionUpdate are off
env:
PR_NUMBER: ${{ github.event.pull_request.number }}
run: |
LABELS_JSON="/tmp/labels.json"
# Get labels for this pull request
curl -s \
-H 'authorization: Bearer ${{ secrets.GITHUB_TOKEN }}' \
-H "Accept: application/vnd.github.v3+json" \
-H "Content-type: application/json" \
"https://api.github.com/repos/${GITHUB_REPOSITORY}/issues/${PR_NUMBER}/labels" \
> "$LABELS_JSON"
if cat ${LABELS_JSON} | jq -r '.[].name ' | grep -q 'NeedsDescriptionUpdate' ; then
echo "Expecting PR to not have the NeedsDescriptionUpdate label, please update the PR's description and remove the label."
exit 1
fi
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
10 changes: 9 additions & 1 deletion doc/internal/ReleaseInstructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -118,9 +118,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).
frouioui marked this conversation as resolved.
Show resolved Hide resolved
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
Expand Down