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

chore: improve release documentation #10292

Merged
merged 2 commits into from Jul 11, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
42 changes: 24 additions & 18 deletions RELEASING/README.md
Expand Up @@ -63,44 +63,50 @@ final release. Therefore, it's a good idea to do the following every time you
work on a new phase of the release process to make sure you aren't releasing
the wrong files/using wrong names. There's a script to help you set correctly all the
necessary environment variables. Change your current directory to `superset/RELEASING`
and execute the `set_release_env.sh` script with the relevant parameters:

```bash
# usage (BASH): . set_release_env.sh <SUPERSET_RC_VERSION> <PGP_KEY_FULLNAME>
# usage (ZSH): source set_release_env.sh <SUPERSET_RC_VERSION> <PGP_KEY_FULLNAME>
#
# example: source set_relese_env.sh 0.36.0rc3 myid@apache.org
# example: source set_release_env.sh 0.37.0rc1 myid@apache.org
```

The script will output the exported variables. Here's example for 0.36.0rc3:
The script will output the exported variables. Here's example for 0.37.0rc1:

```
-------------------------------
Set Release env variables
SUPERSET_VERSION=0.36.0
SUPERSET_RC=3
SUPERSET_GITHUB_BRANCH=0.36
SUPERSET_VERSION=0.37.0
SUPERSET_RC=1
SUPERSET_GITHUB_BRANCH=0.37
SUPERSET_PGP_FULLNAME=myid@apache.org
SUPERSET_VERSION_RC=0.36.0rc3
SUPERSET_RELEASE=apache-superset-incubating-0.36.0
SUPERSET_RELEASE_RC=apache-superset-incubating-0.36.0rc3
SUPERSET_RELEASE_TARBALL=apache-superset-incubating-0.36.0-source.tar.gz
SUPERSET_RELEASE_RC_TARBALL=apache-superset-incubating-0.36.0rc3-source.tar.gz
SUPERSET_TMP_ASF_SITE_PATH=/tmp/incubator-superset-site-0.36.0
-------------------------------
SUPERSET_VERSION_RC=0.37.0rc1
SUPERSET_RELEASE=apache-superset-incubating-0.37.0
SUPERSET_RELEASE_RC=apache-superset-incubating-0.37.0rc1
SUPERSET_RELEASE_TARBALL=apache-superset-incubating-0.37.0-source.tar.gz
SUPERSET_RELEASE_RC_TARBALL=apache-superset-incubating-0.37.0rc1-source.tar.gz
SUPERSET_TMP_ASF_SITE_PATH=/tmp/incubator-superset-site-0.37.0
```

## 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).
a branch named with the release MAJOR.MINOR version (on this example 0.37).
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
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
git checkout -b $SUPERSET_GITHUB_BRANCH
git push upstream $SUPERSET_GITHUB_BRANCH
```

Next, update the `CHANGELOG.md` with all the changes that are included in the release.
Make sure the branch has been pushed to `upstream` to ensure the changelog generator
can pick up changes since the previous release (otherwise `github-changes` will raise
an `Error: Not Found` exception).

```bash
# will overwrites the local CHANGELOG.md, somehow you need to merge it in
Expand Down Expand Up @@ -293,7 +299,7 @@ with the changes on `CHANGELOG.md` and `UPDATING.md`.
### Publishing a Convenience Release to PyPI

Using the final release tarball, unpack it and run `./pypi_push.sh`.
This script will build the Javascript bundle and echo the twine command
This script will build the Javascript bundle and echo the twine command
allowing you to publish to PyPI. You may need to ask a fellow committer to grant
you access to it if you don't have access already. Make sure to create
an account first if you don't have one, and reference your username
Expand Down
3 changes: 3 additions & 0 deletions RELEASING/email_templates/vote_pmc.j2
Expand Up @@ -34,6 +34,9 @@ https://github.com/apache/incubator-{{ project_module }}/tree/{{ version_rc }}
The Change Log for the release:
https://github.com/apache/incubator-{{ project_module }}/blob/{{ version_rc }}/CHANGELOG.md

The Updating instructions for the release:
https://github.com/apache/incubator-{{ project_module }}/blob/{{ version_rc }}/UPDATING.md

public keys are available at:

https://www.apache.org/dist/incubator/{{ project_module }}/KEYS
Expand Down
2 changes: 1 addition & 1 deletion RELEASING/set_release_env.sh
Expand Up @@ -19,7 +19,7 @@ usage() {
echo "usage (BASH): . set_release_env.sh <SUPERSET_RC_VERSION> <PGP_KEY_FULLNAME>"
echo "usage (ZSH): source set_release_env.sh <SUPERSET_RC_VERSION> <PGP_KEY_FULLNAME>"
echo
echo "example: source set_relese_env.sh 0.36.0rc3 myid@apache.org"
echo "example: source set_release_env.sh 0.37.0rc1 myid@apache.org"
}

if [ -z "$1" ] || [ -z "$2" ]; then
Expand Down
2 changes: 2 additions & 0 deletions UPDATING.md
Expand Up @@ -44,6 +44,8 @@ assists people when migrating to a new version.

* [9572](https://github.com/apache/incubator-superset/pull/9572): a change which by default means that the Jinja `current_user_id`, `current_username`, and `url_param` context calls no longer need to be wrapped via `cache_key_wrapper` in order to be included in the cache key. The `cache_key_wrapper` function should only be required for Jinja add-ons.

## 0.36.0

* [8867](https://github.com/apache/incubator-superset/pull/8867): a change which adds the `tmp_schema_name` column to the `query` table which requires locking the table. Given the `query` table is heavily used performance may be degraded during the migration. Scheduled downtime may be advised.

* [9238](https://github.com/apache/incubator-superset/pull/9238): the config option `TIME_GRAIN_FUNCTIONS` has been renamed to `TIME_GRAIN_EXPRESSIONS` to better reflect the content of the dictionary.
Expand Down