Add release refinements from 0.35.2 release (#8925)

* Add refinements from 0.35.2 release

* Trim whitespace from voter name if voters entered with space after comma (e.g. 'Ville, Andy')

* Reinstate deterministic deps

* Bump copyright date in NOTICE

* Fix incorrect link in README
This commit is contained in:
Ville Brofeldt 2020-02-18 07:14:31 +02:00 committed by GitHub
parent c7e2785d38
commit 3149d8ebc0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 71 additions and 56 deletions

2
NOTICE
View File

@ -1,5 +1,5 @@
Apache Superset (incubating)
Copyright 2016-2019 The Apache Software Foundation
Copyright 2016-2020 The Apache Software Foundation
This product includes software developed at The Apache Software
Foundation (http://www.apache.org/).

View File

@ -135,7 +135,7 @@ Contributing
------------
Interested in contributing? Casual hacking? Check out
[Contributing.MD](https://github.com/airbnb/superset/blob/master/CONTRIBUTING.md)
[Contributing.MD](https://github.com/apache/incubator-superset/blob/master/CONTRIBUTING.md)
Who uses Apache Superset (incubating)?

View File

@ -54,37 +54,6 @@ need to be done at every release.
svn commit -m "Add PGP keys of new Superset committer"
```
## Crafting a source release
When crafting a new minor or major release we create
a branch named with the release MAJOR.MINOR version (on this example 0.34).
This new branch will hold all PATCH and release candidates
that belong to the MAJOR.MINOR version.
The MAJOR.MINOR branch is normally a "cut" from a specific point in time from the master branch.
Then (if needed) apply all cherries that will make the PATCH
Next update the `CHANGELOG.md` with all the changes that are included in the release. Make sure you have
set your GITHUB_TOKEN environment variable.
```bash
# will overwrites the local CHANGELOG.md, somehow you need to merge it in
github-changes -o apache -r incubator-superset --token $GITHUB_TOKEN --between-tags <PREVIOUS_RELEASE_TAG>...<CURRENT_RELEASE_TAG>
```
Then, in `UPDATING.md`, a file that contains a list of notifications around
deprecations and upgrading-related topics,
make sure to move the content now under the `Next Version` section under a new
section for the new release.
Finally bump the version number on `superset-frontend/package.json`:
```json
"version": "0.34.1"
```
Commit the change with the version number, then git tag the version with the release candidate and push to the branch
## Setting up the release environment (do every time)
As the vote process takes a minimum of 72h (community vote) + 72h (IPMC) vote,
@ -96,26 +65,60 @@ the wrong files/using wrong names. There's a script to help you set correctly al
necessary environment variables. Change your current directory to `superset/RELEASING`
```bash
# usage: set_release_env.sh <SUPERSET_VERSION> <SUPERSET_VERSION_RC> "<PGP_KEY_FULLNAME>"
. ./set_release_env.sh XX.YY.ZZ QQ "YOUR PGP KEY NAME"
# usage: . set_release_env.sh <SUPERSET_VERSION_RC> <PGP_KEY_FULLNAME>
# example: . set_release_env.sh 0.35.2rc1 myid@apache.org
```
The script will output the exported variables. Here's example for 0.34.1 RC1:
The script will output the exported variables. Here's example for 0.35.2rc2:
```
-------------------------------
Set Release env variables
SUPERSET_VERSION=0.34.1
SUPERSET_PGP_FULLNAME=myid@apache.org
SUPERSET_VERSION_RC=0.35.2rc1
SUPERSET_GITHUB_BRANCH=0.35
SUPERSET_TMP_ASF_SITE_PATH=/tmp/incubator-superset-site-0.35.2
SUPERSET_RELEASE_RC=apache-superset-incubating-0.35.2rc1
SUPERSET_RELEASE_RC_TARBALL=apache-superset-incubating-0.35.2rc1-source.tar.gz
SUPERSET_RC=1
SUPERSET_PGP_FULLNAME=You PGP Key Name
SUPERSET_VERSION_RC=0.34.1rc1
SUPERSET_RELEASE=apache-superset-incubating-0.34.1
SUPERSET_RELEASE_RC=apache-superset-incubating-0.34.1rc1
SUPERSET_RELEASE_TARBALL=apache-superset-incubating-0.34.1-source.tar.gz
SUPERSET_RELEASE_RC_TARBALL=apache-superset-incubating-0.34.1rc1-source.tar.gz
SUPERSET_CONFIG_PATH=/Users/ville/superset/superset_config.py
SUPERSET_RELEASE=apache-superset-incubating-0.35.2
SUPERSET_RELEASE_TARBALL=apache-superset-incubating-0.35.2-source.tar.gz
SUPERSET_VERSION=0.35.2
-------------------------------
```
## Crafting a source release
When crafting a new minor or major release we create
a branch named with the release MAJOR.MINOR version (on this example 0.35).
This new branch will hold all PATCH and release candidates
that belong to the MAJOR.MINOR version.
The MAJOR.MINOR branch is normally a "cut" from a specific point in time from the master branch.
Then (if needed) apply all cherries that will make the PATCH
Next update the `CHANGELOG.md` with all the changes that are included in the release. Make sure you have
set your GITHUB_TOKEN environment variable.
```bash
# will overwrites the local CHANGELOG.md, somehow you need to merge it in
github-changes -o apache -r incubator-superset --token $GITHUB_TOKEN -b $SUPERSET_GITHUB_BRANCH
```
Then, in `UPDATING.md`, a file that contains a list of notifications around
deprecations and upgrading-related topics,
make sure to move the content now under the `Next Version` section under a new
section for the new release.
Finally bump the version number on `superset-frontend/package.json` (replace with whichever version is being released excluding the RC version):
```json
"version": "0.35.2"
```
Commit the change with the version number, then git tag the version with the release candidate and push to the branch
## Preparing the release candidate
The first step of preparing an Apache Release is packaging a release candidate
@ -138,7 +141,7 @@ This can be overriden by setting `SUPERSET_SVN_DEV_PATH` environment var to a di
### Build and test the created source tarball
To build and run the just created tarball
To build and run the **local copy** of the recently created tarball:
```bash
# Build and run a release candidate tarball
./test_run_tarball.sh local
@ -158,7 +161,7 @@ Now let's ship this RC into svn's dev folder
### Build and test from SVN source tarball
To make a working build given a tarball
To build and run the recently created tarball **from SVN**:
```bash
# Build and run a release candidate tarball
./test_run_tarball.sh

View File

@ -22,8 +22,8 @@ usage() {
}
if [ -z "$1" ] || [ -z "$2" ] || [ -z "$3" ]; then
if [ -z "${SUPERSET_VERSION}" ] || [ -z "${SUPERSET_RC}" ] || [ -z "${SUPERSET_PGP_FULLNAME}" ]; then
echo "No parameters found an no required environment variables set"
if [ -z "${SUPERSET_VERSION}" ] || [ -z "${SUPERSET_RC}" ] || [ -z "${SUPERSET_PGP_FULLNAME}" ] || [ -z "${SUPERSET_RELEASE_RC_TARBALL}" ]; then
echo "No parameters found and no required environment variables set"
echo "usage: make_tarball.sh <SUPERSET_VERSION> <SUPERSET_RC> <PGP_KEY_FULLBANE>"
usage;
exit 1
@ -32,6 +32,7 @@ else
SUPERSET_VERSION="${1}"
SUPERSET_RC="${2}"
SUPERSET_PGP_FULLNAME="${3}"
SUPERSET_RELEASE_RC_TARBALL="apache-superset-incubating-${SUPERSET_VERSION_RC}-source.tar.gz"
fi
SUPERSET_VERSION_RC="${SUPERSET_VERSION}rc${SUPERSET_RC}"

View File

@ -15,9 +15,9 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
from typing import List
import smtplib
import ssl
from typing import List
try:
import jinja2
@ -39,7 +39,7 @@ PROJECT_DESCRIPTION = "Apache Superset (incubating) is a modern, enterprise-read
def string_comma_to_list(message: str) -> List[str]:
if not message:
return []
return message.split(",")
return [element.strip() for element in message.split(",")]
def send_email(

View File

@ -16,16 +16,27 @@
# limitations under the License.
#
usage() {
echo "usage: . set_release_env.sh <SUPERSET_VERSION> <SUPERSET_RC> <PGP_KEY_FULLBANE>"
echo "usage: . set_release_env.sh <SUPERSET_RC_VERSION> <PGP_KEY_FULLBANE>"
echo "example: . set_relese_env.sh 0.35.2rc1 myid@apache.org"
}
if [ -z "$1" ] || [ -z "$2" ] || [ -z "$3" ]; then
if [ -z "$1" ] || [ -z "$2" ]; then
usage;
else
export SUPERSET_VERSION="${1}"
export SUPERSET_RC="${2}"
export SUPERSET_PGP_FULLNAME="${3}"
export SUPERSET_VERSION_RC="${SUPERSET_VERSION}rc${SUPERSET_RC}"
if [[ ${1} =~ ^([0-9]+)\.([0-9]+)\.([0-9]+)rc([0-9]+)$ ]]; then
VERSION_MAJOR="${BASH_REMATCH[1]}"
VERSION_MINOR="${BASH_REMATCH[2]}"
VERSION_PATCH="${BASH_REMATCH[3]}"
VERSION_RC="${BASH_REMATCH[4]}"
else
echo "unable to parse version string ${1}. Example of valid version string: 0.35.2rc1"
exit 1
fi
export SUPERSET_VERSION="${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}"
export SUPERSET_RC="${VERSION_RC}"
export SUPERSET_GITHUB_BRANCH="${VERSION_MAJOR}.${VERSION_MINOR}"
export SUPERSET_PGP_FULLNAME="${2}"
export SUPERSET_VERSION_RC="${SUPERSET_VERSION}rc${VERSION_RC}"
export SUPERSET_RELEASE=apache-superset-incubating-"${SUPERSET_VERSION}"
export SUPERSET_RELEASE_RC=apache-superset-incubating-"${SUPERSET_VERSION_RC}"
export SUPERSET_RELEASE_TARBALL="${SUPERSET_RELEASE}"-source.tar.gz
@ -34,6 +45,6 @@ else
echo -------------------------------
echo Set Release env variables
env | grep SUPERSET
env | grep ^SUPERSET_
echo -------------------------------
fi