You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwhisk.apache.org by ja...@apache.org on 2019/08/01 10:35:58 UTC

[incubator-openwhisk-release] branch master updated: initial pass at updating instructions for graduation to TLP. (#291)

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 <dg...@users.noreply.github.com>
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 dev@openwhisk.apache.org 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 general@incubator.apache.org 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'"