You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beam.apache.org by ma...@apache.org on 2019/09/10 21:37:34 UTC
[beam] 01/01: Update verify release branch in release-guide.md
This is an automated email from the ASF dual-hosted git repository.
markliu pushed a commit to branch markflyhigh-patch-1
in repository https://gitbox.apache.org/repos/asf/beam.git
commit 8ea4755e585c8098be3bedee84dd272be75b3e31
Author: Mark Liu <ma...@apache.org>
AuthorDate: Tue Sep 10 14:36:43 2019 -0700
Update verify release branch in release-guide.md
---
website/src/contribute/release-guide.md | 46 +++++++++++++++++++++++----------
1 file changed, 32 insertions(+), 14 deletions(-)
diff --git a/website/src/contribute/release-guide.md b/website/src/contribute/release-guide.md
index 85e22b7..d274beb 100644
--- a/website/src/contribute/release-guide.md
+++ b/website/src/contribute/release-guide.md
@@ -352,20 +352,39 @@ There are 2 ways to perform this verification, either running automation script(
* Script: [verify_release_build.sh](https://github.com/apache/beam/blob/master/release/src/main/scripts/verify_release_build.sh)
* Usage
+ 1. Create a personal access token from your Github account. See instruction [here](https://help.github.com/en/articles/creating-a-personal-access-token-for-the-command-line).
+ It'll be used by the script for accessing Github API.
+ 1. Update required configurations listed in `RELEASE_BUILD_CONFIGS` in [script.config](https://github.com/apache/beam/blob/master/release/src/main/scripts/script.config)
+ 1. Then run
+ ```
+ cd beam/release/src/main/scripts && ./verify_release_build.sh
+ ```
+ 1. Trigger `beam_Release_Gradle_Build` and all PostCommit Jenkins jobs from PR (which is created by previous step).
+ To do so, only add one trigger phrase per comment. See `JOB_TRIGGER_PHRASES` in [verify_release_build.sh](https://github.com/apache/beam/blob/master/release/src/main/scripts/verify_release_build.sh#L43)
+ for full list of phrases.
- ./beam/release/src/main/scripts/verify_release_build.sh
+* Tasks included in the script
+ 1. Installs ```hub``` with your agreement and setup local git repo;
+ 1. Create a test PR against release branch;
-* Tasks included
- 1. Install ```pip```, ```virtualenv```, ```cython``` and ```/usr/bin/time``` with your agreements.
- 2. Run ```gradle release build``` against release branch.
+Jenkins job `beam_Release_Gradle_Build` basically run `./gradlew build -PisRelease`.
+This only verifies that everything builds with unit tests passing.
+
+#### Verify the build succeeds
* Tasks you need to do manually to __verify the build succeed__:
1. Check the build result.
2. If build failed, scan log will contain all failures.
3. You should stabilize the release branch until release build succeeded.
- 4. The script will output a set of Jenkins phrases to enter in the created PR
+ 4. The script will output a set of Jenkins phrases to enter in the created PR.
+
+There are some projects that don't produce the artifacts, e.g. `beam-test-tools`, you may be able to
+ignore failures there.
+
+To triage the failures and narrow things down you may want to look at `settings.gradle` and run the build only for the
+projects you're interested at the moment, e.g. `./gradlew :runners:java-fn-execution`.
-#### (Alternative) Run all commands manually
+#### (Alternative) Run release build manually (locally)
* Pre-installation for python build
1. Install pip
@@ -389,12 +408,6 @@ There are 2 ways to perform this verification, either running automation script(
sudo apt-get install python3.6-dev
sudo apt-get install python3.7-dev
```
- 1. Make sure your ```time``` alias to ```/usr/bin/time```, if not:
-
- ```
- sudo apt-get install time
- alias time='/usr/bin/time'
- ```
* Run gradle release build
@@ -415,6 +428,10 @@ There are 2 ways to perform this verification, either running automation script(
./gradlew build -PisRelease --no-parallel --scan --stacktrace --continue
```
+ To speed things up locally you might want to omit `--no-parallel`. You can also omit `--continue`
+ if you want build fails after the first error instead of continuing, it may be easier and faster
+ to find environment issues this way without having to wait until the full build completes.
+
#### Create release-blocking issues in JIRA
@@ -851,10 +868,11 @@ Since there are a bunch of tests, we recommend you running validations using aut
* Script: [run_rc_validation.sh](https://github.com/apache/beam/blob/master/release/src/main/scripts/run_rc_validation.sh)
* Usage
- 1. First update [script.config](https://github.com/apache/beam/blob/master/release/src/main/scripts/script.config) with correct config value (e.g. release version, rc number).
+ 1. First update required configurations listed in `RC_VALIDATE_CONFIGS` in
+ [script.config](https://github.com/apache/beam/blob/master/release/src/main/scripts/script.config)
1. Then run
```
- ./beam/release/src/main/scripts/run_rc_validation.sh
+ cd beam/release/src/main/scripts && ./run_rc_validation.sh
```
* Tasks included