tree: 72bd50ce92bfb6ba5d0c64e870dea1a53df000ab [path history] [tgz]
  1. Dockerfile.from_tarball
  2. Dockerfile.make_tarball
  3. from_tarball_entrypoint.sh
  4. make_tarball.sh
  5. README.md
RELEASING/README.md

Apache Releases

You'll probably want to run these commands manually and understand what they do prior to doing so.

Release setup

First you need to setup a few things. This is a one-off and doesn't need to be done at every release.

    # Create PGP Key, and use your @apache.org email address
    gpg --gen-key

    # Checkout ASF dist repo

    svn checkout https://dist.apache.org/repos/dist/dev/incubator/superset/ ~/svn/superset_dev

    svn checkout https://dist.apache.org/repos/dist/release/incubator/superset/ ~/svn/superset
    cd ~/svn/superset


    # Add your GPG pub key to KEYS file. Replace "Maxime Beauchemin" with your name
    export FULLNAME="Maxime Beauchemin"
    (gpg --list-sigs $FULLNAME && gpg --armor --export $FULLNAME ) >> KEYS


    # Commit the changes
    svn commit -m "Add PGP keys of new Superset committer"

Crafting tarball and signatures

Now let's craft a source release

    # Assuming these commands are executed from the root of the repo
    export REPO_DIR=$(pwd)
    # Set VERSION to the release being prepared (rc1 for first vote on version)
    export VERSION=0.34.1rc1
    export RELEASE=apache-superset-incubating-${VERSION}
    export RELEASE_TARBALL=${RELEASE}-source.tar.gz

    # Let's create a git tag
    git tag -f ${VERSION}

    # Create the target folder
    mkdir -p ~/svn/superset_dev/${VERSION}/
    git archive \
        --format=tar.gz ${VERSION} \
        --prefix="${RELEASE}/" \
        -o ~/svn/superset_dev/${VERSION}/${RELEASE_TARBALL}

    cd ~/svn/superset_dev/${VERSION}/
    ${REPO_DIR}/scripts/sign.sh ${RELEASE}-source.tar.gz

Shipping to SVN

Now let‘s ship this RC into svn’s dev folder

    cd ~/svn/superset_dev/
    svn add ${VERSION}
    svn commit -m "${VERSION}"

Now you're ready to start the VOTE thread.

Validating a release

https://www.apache.org/info/verification.html

Publishing a successful release

Upon a successful vote, you'll have to copy the folder into the non-“dev/” folder.

    cp -r ~/svn/superset_dev/${VERSION}/ ~/svn/superset/${VERSION}/
    cd ~/svn/superset/
    svn add ${VERSION}
    svn commit -m "${VERSION}"

Now you can announce the release on the mailing list, make sure to use the proper template

Post release

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.

Build from source tarball

To make a working build given a tarball

# Building a docker from a tarball
VERSION=0.33.0rc2 && \
docker build -t apache-superset:$VERSION -f Dockerfile.from_tarball . --build-arg VERSION=$VERSION

# testing the resulting docker
docker run -p 5001:8088 apache-superset:$VERSION
# you should be able to access localhost:5001 on your browser
# login using admin/admin

Refresh documentation website

Every once in a while we want to compile the documentation and publish it. Here's how to do it.

# install doc dependencies
pip install -r docs/requirements.txt

# build the docs
python setup.py build_sphinx

# copy html files to temp folder
cp -r docs/_build/html/ /tmp/tmp_superset_docs/

# clone the docs repo
cd ~/
git clone https://git-wip-us.apache.org/repos/asf/incubator-superset-site.git

# copy
cp -r /tmp/tmp_superset_docs/ ~/incubator-superset-site.git/

# commit and push to `asf-site` branch
cd ~/incubator-superset-site.git/
git checkout asf-site
git add .
git commit -a -m "New doc version"
git push origin master