The only file that a release manager needs to edit is the JSON-format configuration file named config.json under the folder tools. You can specify the the staging url, release url, the list of projects to be release, the repository url, branch name, and hash value of the source code for each project, etc.
Template of config.json:
{ "publish_stage": "false", "stage_url": "https://dist.apache.org/repos/dist/dev/openwhisk", "release_url": "https://dist.apache.org/repos/dist/release/openwhisk", "versioning": { "version": "", "pre_release_version": "rc1" }, "RepoList": [ "openwhisk", "openwhisk-wskdeploy", "openwhisk-cli" ], "openwhisk": { "hash": "a891e06", "repository": "https://github.com/apache/openwhisk.git", "branch": "master" }, "openwhisk_wskdeploy": { "hash": "1425456", "repository": "https://github.com/apache/openwhisk-wskdeploy.git", "branch": "master" }, "openwhisk_cli": { "hash": "1448d31", "repository": "https://github.com/apache/openwhisk-cli.git", "branch": "master" } }
Run the following script to download source code based on the configuration in config.json:
$ ./download_source_code.sh
After this script is executed, a directory called stagingArea will be created under the home directory of openwhisk release tool, if it is not available. The directory stagingArea will save the output files, including the source code of all the OpenWhisk repositories, packages to be rleased, signature, checksums, etc, when we run any bash script of this release tool.