This is an automated email from the ASF dual-hosted git repository.
jamesthomas pushed a commit to branch master
in repository
https://gitbox.apache.org/repos/asf/incubator-openwhisk-release.git
The following commit(s) were added to refs/heads/master by this push:
new bf2c12d initial pass at updating instructions for graduation to TLP.
(#291)
bf2c12d is described below
commit bf2c12d9a149aff96be78ad61b953a2242690bce
Author: David Grove <[email protected]>
AuthorDate: Thu Aug 1 06:35:53 2019 -0400
initial pass at updating instructions for graduation to TLP. (#291)
1. updates to remove incubator/incubating from paths/names
2. remove top-level description of deprecated travisCI mode
for building release artifacts.
---
.travis.yml | 9 +++++----
README.md | 4 ++--
docs/pick_up_source_code.md | 4 ++--
docs/release_instructions.md | 46 +++++++++++---------------------------------
docs/upload_public_key.md | 8 ++++----
tools/.python-version | 1 +
tools/gen-release-vote.py | 2 +-
tools/rcverify.sh | 21 +++++++++-----------
8 files changed, 35 insertions(+), 60 deletions(-)
diff --git a/.travis.yml b/.travis.yml
index f71348c..f94ead5 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -19,7 +19,9 @@ sudo: required
env:
global:
+ # TODO: I think this is only needed for deprecated automated mode -- remove?
- secure:
Ewi5JFoq6fr4MxGNdhF075gs0hGwvUws6PdfuRz4Xx+vQSGIsStBcaUrK+oiOxiJ1Z6LY7i6A916PTg+fmzyLgkE+FAOCVcNxtCEoyYXPV7JqGwHYGSBOVDa6Xxz5OEccbmdD7zYFfGKniSfyVhtFYyACRZoTIqvOfiuXHDNSCosXL2PO+8I9UaQek2Y1TG+LNuysz9blkY8ykPQMB7bWBAAfPm+UhRZdkbtXDT9dfRdIQ6IYTKsBmwUEf9UiY64h8nr3pxcLHtwkkZMmDfIPk56BN+vt8dFfO6JrbodqwiTwvbhPkD0S6XFAebNthbgY7dtN+9Lje5F0pgO0PBc+bjNMljappjuOl2/xb/ZxeowFnmR1h7tCZ41UDFMqMY+BEBd+wIjuGjC5OylftiA5kiKBDPUBS5AV9JlN6DMeJySbACprHXpAN0rjJLxEiZXxris1mRfZO+4UMBMGRFbG017WpueSNOn
[...]
+ # TODO: I think this is only needed for deprecated automated mode -- remove?
- secure:
jFn9V/gAyihATBMxGSIyYLo+DfVYGz1xflEB5e7MeRr7uSkB1off39U6B5WpxgCNqmE24gmBsATVmghCYmvxnFxwfD5Q3McTtcj8zX5yVfBQ0FlrXnaZ/dHlzpygRNmk0EK+IRsuCExabZ4SnJ8PvLp4YV4ni9U+8CNjE/df5GIAIoqck/UsvO5zPGiqI/Ppi2ElpyTnhhGpAq+1eWmz/MsI21tZJZF8/E0CV9nmAQTq8TrHDuPcIagE0gx7+1FUrEGhY8LckXoYzWm/1nG+r7hDi3qYe+p0vlB8tiek+33nYWk/QW03QQ/9dXc054aUedXxNMDt5kGxlfy/ef+U53wsvs4KMS582KKqweIIx1RRYApwkpooqSziPdLRcxSQOMpP8hRI7yS7wJzXtJ7X7gp/DevaFeCDPQV0OnWjGO4dM8JbTEz86ec131txibiColS4i+//aPmHlUXa6OTuchxZOgMCBFz5
[...]
notifications:
@@ -29,11 +31,10 @@ notifications:
# travis2slack webhook to enable DMs on openwhisk-team.slack.com to PR
authors with TravisCI results
secure:
ZudPWFKvM+ndX1M6D1Opj6qYQLbexAgJuDJgs409LT9Je5pBuXPhho8G8rj5RwZpnZA3ZdRArG64tJXp0wil/w3nSt8Bx7B6ZhoO9hpJSWbWw3qDR2ffiZDrB6Cc2fMr+VfsvpEENJEvB8oeGmCqJmBzm9fXVoE9+nqKoDrEKF8ek9xfN63Etx3VnqORia1SyEvVWoP7F49DuRs9d2hswbFXGPhHZCLp8/p03IMvKVJT0YID7o6lxODi0Ck0GRVKOqnrRYwZbSe0hDQ5YJsY+AkFrTtYJVxDnTKlLKtEc9gTcj96SP1f9f8Noy37V4xxxBLokrjZYcCkGLT34Ef7wa14a1K8WUxahX5/eAf6TCHpZeK7o8j6cMzxFr/GK+XX5aHzWXgALdy11bastDfkmz3rTUaz0eB6eiQfSl0p/merVKkEJGjwUcJ4MrpdaB1v8QAHT0VO7qsffsdqTfOi0F9bCiupNn
[...]
-jobs:
- include:
- - stage: package
- script: ./tools/travis/package_project.sh $SVN_USERNAME $SVN_PASSWORD
+script:
+ - echo "nothing to do..."
+# TODO: I think this is only needed for deprecated automated mode -- remove?
before_install:
- if [ "$TRAVIS_PULL_REQUEST" == "false" ] ; then
openssl aes-256-cbc -K $encrypted_6f36f6d35f7f_key -iv
$encrypted_6f36f6d35f7f_iv -in tools/key_sec.gpg.enc -out tools/key_sec.gpg -d;
diff --git a/README.md b/README.md
index 09b6bc3..726202a 100644
--- a/README.md
+++ b/README.md
@@ -48,10 +48,10 @@ Please follow the [Instructions for Release
Managers](docs/release_instructions.
## Publishing
Staged candidate releases of Apache OpenWhisk artifacts are published to the
approved staging repository path under Apache with all required PGP singatures:
-- https://dist.apache.org/repos/dist/dev/incubator/openwhisk/
+- https://dist.apache.org/repos/dist/dev/openwhisk/
Once candidates are approved, in accordance with required release processes
and policies, their artifacts can be moved from the staging path to the
approved release path:
-- https://dist.apache.org/repos/dist/release/incubator/openwhisk/
+- https://dist.apache.org/repos/dist/release/openwhisk/
# Project status
diff --git a/docs/pick_up_source_code.md b/docs/pick_up_source_code.md
index 7d031a2..7ae0250 100644
--- a/docs/pick_up_source_code.md
+++ b/docs/pick_up_source_code.md
@@ -30,8 +30,8 @@ Template of [_config.json_](../tools/config.json):
```
{
"publish_stage": "false",
- "stage_url": "https://dist.apache.org/repos/dist/dev/incubator/openwhisk",
- "release_url":
"https://dist.apache.org/repos/dist/release/incubator/openwhisk",
+ "stage_url": "https://dist.apache.org/repos/dist/dev/openwhisk",
+ "release_url": "https://dist.apache.org/repos/dist/release/openwhisk",
"versioning": {
"version": "incubator",
"pre_release_version": "rc1"
diff --git a/docs/release_instructions.md b/docs/release_instructions.md
index fa7e12e..bdf8c33 100644
--- a/docs/release_instructions.md
+++ b/docs/release_instructions.md
@@ -21,13 +21,10 @@
# Release process
-This project offers the Apache OpenWhisk Release Manager two modes to release
OpenWhisk projects:
-- [**Manual mode**](#manual-mode-of-release-process)
-- [**Automated mode**](#automated-mode-of-release-process)
+This project contains scripts to automate most aspects of making a release of
one or more Apache OpenWhisk projects.
-_Manual mode_ makes sure that the release manager can download the source code
of this repository, and go through the release process by running scripts
sequentially on a local machine, to push the artifacts into the staging
directory and eventually move them into the Apache release directory.
-
-_Automated mode_ provides the release manager another option to walk through
the Apache release process by kicking off the Travis job to run the scripts. A
release manager can choose either way to publish the artifacts in the staging
directory and the Apache release directory.
+It is intended to be used by a project Release Manager who will clone this
repository to their
+local dev machine and then go through the release process by running scripts
sequentially on a local machine, to push the artifacts into the staging
directory and eventually move them into the Apache release directory.
## Manual mode of Release Process
@@ -42,37 +39,16 @@ through and understand all the necessary steps of Apache
release process tailore
6. [Uploading public PGP key](upload_public_key.md)
7. [Publish the release artifacts to the staging
directory](push_stage_url.md)
8. Vote on the [email protected] list
- 9. If the vote fails - configure the file config.json and resume from step 3
- 10. If the vote passes - send Vote on the [email protected] list
(cc dev list)
- 11. if the vote fails - configure the file config.json and resume from step 3
- 12. if the vote passes - close the vote with final email to incubator list
(cc dev list)
- 13. [Publish the release artifacts to Apache release
directory](publish_apache_directory.md)
- 13. [Tag the commit IDs in the Github repository for the
project](tag_release.md)
- 15. [Generate the release notes](generate_release_notes.md)
- 16. Announce the release
- 17. Cleanup the artifacts from the release process:
+ 9. If the vote fails - configure the file config.json and resume from step
3. If the vote passes, continue with step 10.
+ 10. [Publish the release artifacts to Apache release
directory](publish_apache_directory.md)
+ 11. [Tag the commit IDs in the Github repository for the
project](tag_release.md)
+ 12. [Generate the release notes](generate_release_notes.md)
+ 13. Announce the release
+ 14. Cleanup the artifacts from the release process:
a. Remove the rc files from staging.
b. If there is a previous released version, remove it from Apache
release directory
(it will automatically still be available via the Apache archive
server).
-## Automated mode of Release Process
-
-As the single configuration file config.json can lead to code conflict and
inconsistency, if multiple OpenWhisk projects
-are releasing individually in parallel, this automated mode is not recommended
for release managers. However, if you still
-lean on to the convenience of Travis builds, please fork this repository,
embed the credentials you need in your fork, and
-run with the automated mode. Don't forget to refer to the manual mode from
time to time, because many steps there are not
-automated, like the voting process, release notes, tags for Github
repositories, etc.
-
-The release manager can take full advantage of Travis CI to implement the
release process. The only manual step is to configure the release information,
by editing the configuration file _config.json_. Please refer to [edit
configuration file](pick_up_source_code.md#edit-the-configuration-file) for the
information able to be configured.
-
-* **PR-based Travis build**: the Travis build triggered by a pull request.
Each time the file config.json is ready, release manager can submit a pull
request to the master branch of OpenWhisk release repository. Based on the
result of the Travis build, we know whether the configurations in config.json
can be used as a candidate to release. This type of Travis build will download
the source code, generate the artifacts, sign the artifacts, install the
OpenWhisk services and run the test cases.
-
-* **Push-based Travis build**: the Travis build triggered by a push into
master branch. When a PR with new configurations is accepted, the release
manager can merge it to kick off this type of Travis build. On top of the tasks
done by PR-based Travis build, it will upload the artifacts into the staging
directory.
-
-* **Tag-based Travis build**: the Travis build triggered by git tag. After the
vote succeeds in the community, we decide to move the artifacts from the
staging directory to the Apache release directory. This type of Travis build is
responsible for this task.
-
-In summary, the release process of OpenWhisk is the process of developing the
configuration file _config.json_ for a certain release.
-
## Key requirements for producing releases
As a Release Manager, please know that most of these requirements are
addressed via the release process automation provided in this project; however,
some steps are manual. Regardless of automation, it is good to understand all
the key considerations and requirements that a release manager is ultimately
responsible for.
@@ -95,10 +71,10 @@ These steps have been **automated** for the Release Manager.
All release artifacts must be uploaded to project’s designated subdirectory in
the Apache distribution channel (i.e.,
[https://dist.apache.org/repos/dist/](https://dist.apache.org/repos/dist/)).
Specifically, the Apache OpenWhisk project has paths to publish both candidate
(staged) releases:
--
[https://dist.apache.org/repos/dist/dev/incubator/openwhisk/](https://dist.apache.org/repos/dist/dev/incubator/openwhisk/)
+-
[https://dist.apache.org/repos/dist/dev/openwhisk/](https://dist.apache.org/repos/dist/dev/openwhisk/)
and the approved release path:
--
[https://dist.apache.org/repos/dist/release/incubator/openwhisk/](https://dist.apache.org/repos/dist/release/incubator/openwhisk/).
+-
[https://dist.apache.org/repos/dist/release/openwhisk/](https://dist.apache.org/repos/dist/release/openwhisk/).
### Release Approval
diff --git a/docs/upload_public_key.md b/docs/upload_public_key.md
index 3fc9479..eee92a5 100644
--- a/docs/upload_public_key.md
+++ b/docs/upload_public_key.md
@@ -19,10 +19,10 @@
# Upload the public PGP key
-The public PGP key file is named _KEYS_ available under the [staging
directory](https://dist.apache.org/repos/dist/dev/incubator/openwhisk/). If you
generate a new key to
-sign the artifacts, you need to update the file of public key in the staging
directory for further use to verify the
-artifacts. Checkout the [staging
directory](https://dist.apache.org/repos/dist/dev/incubator/openwhisk/) via
subversion,
-modify the file KEYS by appending your local public key, and commit it back to
the staging directory. Please refer to the
+The public PGP key file is named _KEYS_ available under the [release
directory](https://dist.apache.org/repos/dist/release/openwhisk/). If you
generate a new key to
+sign the artifacts, you need to update the file of public key in the release
directory for further use to verify the
+artifacts. Checkout the [release
directory](https://dist.apache.org/repos/dist/release/openwhisk/) via
subversion,
+modify the file KEYS by appending your local public key, and commit it back to
the release directory. Please refer to the
[svn commands](http://svnbook.red-bean.com/en/1.7/svn.ref.html) to checkout,
and commit.
You can export your public PGP key by running the following command:
diff --git a/tools/.python-version b/tools/.python-version
new file mode 100644
index 0000000..bec3a35
--- /dev/null
+++ b/tools/.python-version
@@ -0,0 +1 @@
+system
diff --git a/tools/gen-release-vote.py b/tools/gen-release-vote.py
index f51c921..359c2a0 100755
--- a/tools/gen-release-vote.py
+++ b/tools/gen-release-vote.py
@@ -77,7 +77,7 @@ def componentList(config, version):
})
def artifactLinks(name, version, rc):
- root =
'https://dist.apache.org/repos/dist/dev/incubator/openwhisk/apache-openwhisk-%s-%s'
% (version, rc)
+ root =
'https://dist.apache.org/repos/dist/dev/openwhisk/apache-openwhisk-%s-%s' %
(version, rc)
tgz = '%s-%s-sources.tar.gz' % (name, version)
asc = '%s.asc' % tgz
sha = '%s.sha512' % tgz
diff --git a/tools/rcverify.sh b/tools/rcverify.sh
index accf5f5..9577d5d 100755
--- a/tools/rcverify.sh
+++ b/tools/rcverify.sh
@@ -20,8 +20,11 @@
# they are properly signed and authentic. The script assumes you have
# curl, git, python and gpg already installed and that your gpg is trusted.
-# the location providing the distribution
-DIST=https://dist.apache.org/repos/dist/dev/incubator/openwhisk
+# the location providing the rc distribution
+RC_DIST=https://dist.apache.org/repos/dist/dev/openwhisk
+
+# the location providing the KEYS
+KEYS_DIST=https://dist.apache.org/repos/dist/release/openwhisk
# the artifact being released
NAME=${1?"missing artifact name e.g., openwhisk-client-js"}
@@ -30,7 +33,7 @@ NAME=${1?"missing artifact name e.g., openwhisk-client-js"}
DESCRIPTION=${2?"missing podling description e.g., 'OpenWhisk JavaScript
Client Library'"}
# the version of the release artifact
-V=${3?"missing version e.g., '3.19.0-incubating'"}
+V=${3?"missing version e.g., '3.19.0'"}
# the release candidate, usualy 'rc1'
RC=${4:-rc1}
@@ -42,14 +45,12 @@ DL=${DL:-1}
IMPORT=${IMPORT:-1}
# this is the construct name of the artifact
-BASE=incubator-$NAME-$V
+BASE=$NAME-$V
TGZ=$NAME-$V-sources.tar.gz
# this is a constructed name for the keys file
KEYS=$RC-$V-KEYS
-DISCLAIMER="Apache $DESCRIPTION is an effort undergoing incubation at The
Apache Software Foundation (ASF), sponsored by the Apache 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 [...]
-
NOTICE=$(cat << END
Apache $DESCRIPTION
Copyright 2016-2019 The Apache Software Foundation
@@ -67,7 +68,7 @@ echo working in the following directory:
echo "$(tput setaf 6)$DIR$(tput sgr0)"
if [ $DL -ne 0 ]; then
- SRC=$DIST/apache-openwhisk-$V-$RC
+ SRC=$RC_DIST/apache-openwhisk-$V-$RC
echo fetching tarball and signatures from $SRC
echo fetching $TGZ
@@ -82,7 +83,7 @@ fi
if [ $IMPORT -ne 0 ]; then
echo fetching release keys
- curl $DIST/KEYS -s -o "$DIR/$KEYS"
+ curl $KEYS_DIST/KEYS -s -o "$DIR/$KEYS"
echo importing keys
gpg --import "$DIR/$KEYS"
@@ -131,10 +132,6 @@ else
fi
validate $RES 0 "$CMD" "signed-by: $SIGNER"
-printf "verifying disclaimer..."
-DTXT=$(cat "$DIR/$BASE/DISCLAIMER.txt")
-validate "$DISCLAIMER" "$DTXT" "cat '$DIR/$BASE/DISCLAIMER.txt'"
-
printf "verifing notice..."
NTXT=$(cat "$DIR/$BASE/NOTICE.txt")
validate "$NOTICE" "$NTXT" "cat '$DIR/$BASE/NOTICE.txt'"