Skip to content

Commit

Permalink
docs(releasing): update release automation and docs for Apache gradua…
Browse files Browse the repository at this point in the history
…tion (#12117)
  • Loading branch information
dpgaspar committed Dec 18, 2020
1 parent 35addee commit fa10035
Show file tree
Hide file tree
Showing 13 changed files with 33 additions and 282 deletions.
7 changes: 3 additions & 4 deletions RELEASING/Dockerfile.from_local_tarball
Expand Up @@ -28,12 +28,11 @@ RUN apt-get update -y
RUN apt-get install -y apt-transport-https apt-utils

# Install superset dependencies
# https://superset.incubator.apache.org/installation.html#os-dependencies
# https://superset.apache.org/docs/installation/installing-superset-from-scratch
RUN apt-get install -y build-essential libssl-dev \
libffi-dev python3-dev libsasl2-dev libldap2-dev libxi-dev

# Install nodejs for custom build
# https://superset.incubator.apache.org/installation.html#making-your-own-build
# https://nodejs.org/en/download/package-manager/
RUN curl -sL https://deb.nodesource.com/setup_12.x | bash - \
&& apt-get install -y nodejs
Expand All @@ -48,13 +47,13 @@ ARG SUPERSET_RELEASE_RC_TARBALL
# Can fetch source from svn or copy tarball from local mounted directory
COPY $SUPERSET_RELEASE_RC_TARBALL ./
RUN tar -xvf *.tar.gz
WORKDIR /home/superset/apache-superset-incubating-$VERSION/superset-frontend
WORKDIR /home/superset/apache-superset-$VERSION/superset-frontend

RUN npm ci \
&& npm run build \
&& rm -rf node_modules

WORKDIR /home/superset/apache-superset-incubating-$VERSION
WORKDIR /home/superset/apache-superset-$VERSION
RUN pip install --upgrade setuptools pip \
&& pip install -r requirements/base.txt \
&& pip install --no-cache-dir .
Expand Down
7 changes: 3 additions & 4 deletions RELEASING/Dockerfile.from_svn_tarball
Expand Up @@ -28,12 +28,11 @@ RUN apt-get update -y
RUN apt-get install -y apt-transport-https apt-utils

# Install superset dependencies
# https://superset.incubator.apache.org/installation.html#os-dependencies
# https://superset.apache.org/docs/installation/installing-superset-from-scratch
RUN apt-get install -y build-essential libssl-dev \
libffi-dev python3-dev libsasl2-dev libldap2-dev libxi-dev

# Install nodejs for custom build
# https://superset.incubator.apache.org/installation.html#making-your-own-build
# https://nodejs.org/en/download/package-manager/
RUN curl -sL https://deb.nodesource.com/setup_12.x | bash - \
&& apt-get install -y nodejs
Expand All @@ -47,15 +46,15 @@ ARG VERSION
# Can fetch source from svn or copy tarball from local mounted directory
RUN svn co https://dist.apache.org/repos/dist/dev/incubator/superset/$VERSION ./
RUN tar -xvf *.tar.gz
WORKDIR apache-superset-incubating-$VERSION
WORKDIR apache-superset-$VERSION

RUN cd superset-frontend \
&& npm ci \
&& npm run build \
&& rm -rf node_modules


WORKDIR /home/superset/apache-superset-incubating-$VERSION
WORKDIR /home/superset/apache-superset-$VERSION
RUN pip install --upgrade setuptools pip \
&& pip install -r requirements.txt \
&& pip install --no-cache-dir .
Expand Down
44 changes: 6 additions & 38 deletions RELEASING/README.md
Expand Up @@ -39,9 +39,9 @@ need to be done at every release.

# 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/dev/superset/ ~/svn/superset_dev

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


Expand Down Expand Up @@ -89,10 +89,10 @@ The script will output the exported variables. Here's example for 0.38.0rc1:
SUPERSET_GITHUB_BRANCH=0.38
SUPERSET_PGP_FULLNAME=myid@apache.org
SUPERSET_VERSION_RC=0.38.0rc1
SUPERSET_RELEASE=apache-superset-incubating-0.38.0
SUPERSET_RELEASE_RC=apache-superset-incubating-0.38.0rc1
SUPERSET_RELEASE_TARBALL=apache-superset-incubating-0.38.0-source.tar.gz
SUPERSET_RELEASE_RC_TARBALL=apache-superset-incubating-0.38.0rc1-source.tar.gz
SUPERSET_RELEASE=apache-superset-0.38.0
SUPERSET_RELEASE_RC=apache-superset-0.38.0rc1
SUPERSET_RELEASE_TARBALL=apache-superset-0.38.0-source.tar.gz
SUPERSET_RELEASE_RC_TARBALL=apache-superset-0.38.0rc1-source.tar.gz
SUPERSET_TMP_ASF_SITE_PATH=/tmp/incubator-superset-site-0.38.0
```

Expand Down Expand Up @@ -240,38 +240,6 @@ here's an example:
```

Following the result thread, yet another [VOTE] thread should be
started at general@incubator.apache.org.

To easily send the voting request to Apache community, still on the `superset/RELEASING` directory:

```bash
# Note: use Superset's virtualenv
(venv)$ python send_email.py vote_ipmc
```

Once 3+ binding votes (by IPMC members) have been cast and at
least 72 hours have past, you can post a [RESULT] thread

To easily send the result email, still on the `superset/RELEASING` directory:

```bash
# Note: use Superset's virtualenv
(venv)$ python send_email.py result_ipmc
```

Again, the script will interactively ask for extra information needed to fill out the email template. Based on the
voting description, it will generate a passing, non passing or non conclusive email.
here's an example:

```bash
Sender email (ex: user@apache.org): your_apache_email@apache.org
Apache username: your_apache_user
Apache password: your_apache_password
A List of people with +1 binding vote (ex: Alan, Justin): Alan,Jeff,
A List of people with +1 non binding vote (ex: Ville):
A List of people with -1 vote (ex: John):
```


### Validating a release

Expand Down
22 changes: 5 additions & 17 deletions RELEASING/email_templates/announce.j2
Expand Up @@ -18,18 +18,18 @@
-#}
To: {{ receiver_email }}
From: {{ sender_email }}
Subject: [ANNOUNCE] Apache {{ project_name }} (Incubating) version {{ version }} Released
Subject: [ANNOUNCE] Apache {{ project_name }} version {{ version }} Released

Hello Community,

The Apache {{ project_name }} (incubating) team is pleased to announce that {{ project_name }}
The Apache {{ project_name }} team is pleased to announce that {{ project_name }}
{{ version }} has just been released.

{{ project_description }}

The official source release:

https://www.apache.org/dist/incubator/{{ project_module }}/{{ version }}
https://www.apache.org/dist/{{ project_module }}/{{ version }}

The Pypi package:

Expand All @@ -40,18 +40,6 @@ find any problems about enhancements included in this release, please
don't hesitate to let us know by sending feedback to this mailing
list.

=====
*Disclaimer*

Apache {{ project_name }} is an effort undergoing incubation at The Apache Software
Foundation (ASF), sponsored by the Incubator. Incubation is required of all
newly accepted projects until a further review indicates that the
infrastructure, communications, and decision making process have stabilized
in a manner consistent with other successful ASF projects. While incubation
status is not necessarily a reflection of the completeness or stability of
the code, it does indicate that the project has yet to be fully endorsed by
the ASF.

---------------------------------------------------------------------
To unsubscribe, e-mail: general-unsubscribe@incubator.apache.org
For additional commands, e-mail: general-help@incubator.apache.org
To unsubscribe, e-mail: general-unsubscribe@apache.org
For additional commands, e-mail: general-help@apache.org
58 changes: 0 additions & 58 deletions RELEASING/email_templates/result_ipmc.j2

This file was deleted.

6 changes: 3 additions & 3 deletions RELEASING/email_templates/result_pmc.j2
Expand Up @@ -18,10 +18,10 @@
-#}
To: {{ receiver_email }}
From: {{ sender_email }}
Subject: [RESULT] [VOTE] Release Apache {{ project_name }} (incubating) {{ version }} based on Superset {{ version_rc }}
Subject: [RESULT] [VOTE] Release Apache {{ project_name }} {{ version }} based on Superset {{ version_rc }}

Thanks to everyone that participated. The vote to release
Apache {{ project_name }} (incubating) version {{ version }} based on {{ version_rc }} is now closed.
Apache {{ project_name }} version {{ version }} based on {{ version_rc }} is now closed.

{% if vote_negatives|length > 0 -%}
The vote did NOT PASS with {{vote_bindings|length}} binding +1, {{ vote_nonbindings|length}} non binding +1 and {{vote_negatives|length}} -1 votes:
Expand Down Expand Up @@ -55,4 +55,4 @@ Negative votes:
We will work to complete the release process.

Thanks,
The Apache {{ project_name }} (Incubating) Team
The Apache {{ project_name }} Team
63 changes: 0 additions & 63 deletions RELEASING/email_templates/vote_ipmc.j2

This file was deleted.

14 changes: 7 additions & 7 deletions RELEASING/email_templates/vote_pmc.j2
Expand Up @@ -18,28 +18,28 @@
-#}
To: {{ receiver_email }}
From: {{ sender_email }}
Subject: [VOTE] Release Apache {{ project_name }} (incubating) {{ version }} based on Superset {{ version_rc }}
Subject: [VOTE] Release Apache {{ project_name }} {{ version }} based on Superset {{ version_rc }}

Hello {{ project_name }} Community,

This is a call for the vote to release Apache {{ project_name }}
(incubating) version {{ version }}.

The release candidate:
https://dist.apache.org/repos/dist/dev/incubator/{{ project_module }}/{{ version_rc }}/
https://dist.apache.org/repos/dist/dev/{{ project_module }}/{{ version_rc }}/

Git tag for the release:
https://github.com/apache/incubator-{{ project_module }}/tree/{{ version_rc }}
https://github.com/apache/{{ project_module }}/tree/{{ version_rc }}

The Change Log for the release:
https://github.com/apache/incubator-{{ project_module }}/blob/{{ version_rc }}/CHANGELOG.md
https://github.com/apache/{{ 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
https://github.com/apache/{{ project_module }}/blob/{{ version_rc }}/UPDATING.md

public keys are available at:

https://www.apache.org/dist/incubator/{{ project_module }}/KEYS
https://www.apache.org/dist/{{ project_module }}/KEYS

The vote will be open for at least 72 hours or until the necessary number
of votes are reached.
Expand All @@ -51,4 +51,4 @@ Please vote accordingly:
[ ] -1 disapprove with the reason

Thanks,
The Apache {{ project_name }} (Incubating) Team
The Apache {{ project_name }} Team
2 changes: 1 addition & 1 deletion RELEASING/make_tarball.sh
Expand Up @@ -32,7 +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"
SUPERSET_RELEASE_RC_TARBALL="apache-superset-${SUPERSET_VERSION_RC}-source.tar.gz"
fi

SUPERSET_VERSION_RC="${SUPERSET_VERSION}rc${SUPERSET_RC}"
Expand Down
2 changes: 1 addition & 1 deletion RELEASING/make_tarball_entrypoint.sh
Expand Up @@ -22,7 +22,7 @@ if [ -z "${SUPERSET_VERSION_RC}" ] || [ -z "${SUPERSET_SVN_DEV_PATH}" ] || [ -z
exit 1
fi

SUPERSET_RELEASE_RC=apache-superset-incubating-"${SUPERSET_VERSION_RC}"
SUPERSET_RELEASE_RC=apache-superset-"${SUPERSET_VERSION_RC}"
SUPERSET_RELEASE_RC_TARBALL="${SUPERSET_RELEASE_RC}"-source.tar.gz
SUPERSET_RELEASE_RC_BASE_PATH="${SUPERSET_SVN_DEV_PATH}"/"${SUPERSET_VERSION_RC}"
SUPERSET_RELEASE_RC_TARBALL_PATH="${SUPERSET_RELEASE_RC_BASE_PATH}"/"${SUPERSET_RELEASE_RC_TARBALL}"
Expand Down

0 comments on commit fa10035

Please sign in to comment.