[jira] [Work logged] (BEAM-3879) Automate preparation/checking of releases

2018-05-14 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3879?focusedWorklogId=101777&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-101777
 ]

ASF GitHub Bot logged work on BEAM-3879:


Author: ASF GitHub Bot
Created on: 14/May/18 17:22
Start Date: 14/May/18 17:22
Worklog Time Spent: 10m 
  Work Description: alanmyrvold closed pull request #4896: [BEAM-3879] 
Automate checking of release steps from the release guide
URL: https://github.com/apache/beam/pull/4896
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

diff --git a/release/check_release.sh b/release/check_release.sh
new file mode 100755
index 000..a56b1e1ad6e
--- /dev/null
+++ b/release/check_release.sh
@@ -0,0 +1,91 @@
+#!/bin/bash
+#
+#Licensed to the Apache Software Foundation (ASF) under one or more
+#contributor license agreements.  See the NOTICE file distributed with
+#this work for additional information regarding copyright ownership.
+#The ASF licenses this file to You under the Apache License, Version 2.0
+#(the "License"); you may not use this file except in compliance with
+#the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+#Unless required by applicable law or agreed to in writing, software
+#distributed under the License is distributed on an "AS IS" BASIS,
+#WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#See the License for the specific language governing permissions and
+#limitations under the License.
+#
+# This script checks that the release instructions in 
https://beam.apache.org/contribute/release-guide
+# have been followed.
+
+echo 'Check preparation of a new release for Apache Beam.'
+echo ' '
+
+# Load the functions in release_helper.sh.
+. $(dirname "${BASH_SOURCE[0]}")/release_helper.sh 
+
+# Load previous answers, to avoid re-prompting.
+ANSWER_FILE=~/.prepare_beam_release_answers.txt
+load_previous_answers
+
+# Check the needed software is installed.
+check_software gpg
+check_software git
+check_software mvn
+check_software svn
+check_software gpg-agent
+check_software python
+
+check_gpg_key
+check_access_to_nexus
+
+ensure_yes release_proposed "Has a release been proposed to the @dev list" "
+  Deciding to release and selecting a Release Manager is the first step of
+  the release process. This is a consensus-based decision of the entire
+  community. Anybody can propose a release on the dev@ mailing list, giving
+  a solid argument and nominating a committer as the Release Manager
+  (including themselves). There’s no formal process, no vote requirements,
+  and no timing requirements. Any objections should be resolved by consensus
+  before starting the release."
+
+ensure_set beam_version "What version number will be this release"
+check_beam_version_in_jira "${beam_version}" "current"
+beam_version_id=$found_beam_version_id
+
+ensure_yes website_setup "Have you set up access to the beam website?" "
+  You need to prepare access to the beam website to push changes there"
+
+set_next_version
+ensure_yes next_version_looks_ok "Will the next version (after 
${beam_version}) be version ${next_version}" "
+  When contributors resolve an issue in JIRA, they are tagging it with a
+  release that will contain their changes. With the release currently underway,
+  new issues should be resolved against a subsequent future release."
+
+check_beam_version_in_jira "${next_version}" "next"
+
+check_no_unresolved_issues
+
+release_page="https://issues.apache.org/jira/projects/BEAM/versions/${beam_version_id}";
+ensure_yes release_notes_reviewed "Have you reviewed and edited the release 
notes?" "
+  JIRA automatically generates Release Notes based on the Fix Version field 
applied to issues.
+  Release Notes are intended for Beam users (not Beam committers/contributors).
+  You should ensure that Release Notes are informative and useful.
+  The release notes are linked from ${release_page}"
+
+ensure_yes release_build_works "Have you run a release build with mvn 
-Prelease clean install?" "
+  Before creating a release branch, ensure that the release build works and 
javadoc in sdks/java/javadoc
+  looks ok"
+
+check_release_branch_created
+
+check_python_version master "${next_version}.dev"
+check_python_version "release-${beam_version}" "${beam_version}"
+
+check_java_version master beam-master-MMDD
+check_java_version "release-${beam_version}" "beam-${beam_version}"
+
+cleanup
+
+echo ""
+echo "Script complete, but there are more steps at 
https://beam.apache.org/contribute/release-guide";
+echo "To start with a clean state, rm ${ANSWER_FILE} befo

[jira] [Work logged] (BEAM-3879) Automate preparation/checking of releases

2018-03-20 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3879?focusedWorklogId=82496&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-82496
 ]

ASF GitHub Bot logged work on BEAM-3879:


Author: ASF GitHub Bot
Created on: 20/Mar/18 21:39
Start Date: 20/Mar/18 21:39
Worklog Time Spent: 10m 
  Work Description: robertwb commented on issue #4896: [BEAM-3879] Automate 
checking of release steps from the release guide
URL: https://github.com/apache/beam/pull/4896#issuecomment-374766162
 
 
   Yes, though I have to admit I get wary of bash scripts once they cross the 
100 line barrier. 
   
   I'm assuming this would work in conjunction with the artifacts themselves 
being produced (and staged) by a jenkins job? 


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 82496)
Time Spent: 0.5h  (was: 20m)

> Automate preparation/checking of releases
> -
>
> Key: BEAM-3879
> URL: https://issues.apache.org/jira/browse/BEAM-3879
> Project: Beam
>  Issue Type: Improvement
>  Components: testing
>Reporter: Alan Myrvold
>Assignee: Alan Myrvold
>Priority: Major
>  Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> Automate checking/preparing releases based on instructions in 
> https://beam.apache.org/contribute/release-guide/
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (BEAM-3879) Automate preparation/checking of releases

2018-03-20 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3879?focusedWorklogId=82497&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-82497
 ]

ASF GitHub Bot logged work on BEAM-3879:


Author: ASF GitHub Bot
Created on: 20/Mar/18 21:39
Start Date: 20/Mar/18 21:39
Worklog Time Spent: 10m 
  Work Description: robertwb commented on a change in pull request #4896: 
[BEAM-3879] Automate checking of release steps from the release guide
URL: https://github.com/apache/beam/pull/4896#discussion_r175930874
 
 

 ##
 File path: release/check_release.sh
 ##
 @@ -0,0 +1,91 @@
+#!/bin/bash
+#
+#Licensed to the Apache Software Foundation (ASF) under one or more
+#contributor license agreements.  See the NOTICE file distributed with
+#this work for additional information regarding copyright ownership.
+#The ASF licenses this file to You under the Apache License, Version 2.0
+#(the "License"); you may not use this file except in compliance with
+#the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+#Unless required by applicable law or agreed to in writing, software
+#distributed under the License is distributed on an "AS IS" BASIS,
+#WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#See the License for the specific language governing permissions and
+#limitations under the License.
+#
+# This script checks that the release instructions in 
https://beam.apache.org/contribute/release-guide
+# have been followed.
+
+echo 'Check preparation of a new release for Apache Beam.'
+echo ' '
+
+# Load the functions in release_helper.sh.
+. $(dirname "${BASH_SOURCE[0]}")/release_helper.sh 
+
+# Load previous answers, to avoid re-prompting.
+ANSWER_FILE=~/.prepare_beam_release_answers.txt
+load_previous_answers
+
+# Check the needed software is installed.
+check_software gpg
+check_software git
+check_software mvn
+check_software svn
+check_software gpg-agent
+check_software python
+
+check_gpg_key
+check_access_to_nexus
+
+ensure_yes release_proposed "Has a release been proposed to the @dev list" "
+  Deciding to release and selecting a Release Manager is the first step of
+  the release process. This is a consensus-based decision of the entire
+  community. Anybody can propose a release on the dev@ mailing list, giving
+  a solid argument and nominating a committer as the Release Manager
+  (including themselves). There’s no formal process, no vote requirements,
+  and no timing requirements. Any objections should be resolved by consensus
+  before starting the release."
+
+ensure_set beam_version "What version number will be this release"
+check_beam_version_in_jira "${beam_version}" "current"
+beam_version_id=$found_beam_version_id
+
+ensure_yes website_setup "Have you set up access to the beam website?" "
+  You need to prepare access to the beam website to push changes there"
+
+set_next_version
+ensure_yes next_version_looks_ok "Will the next version (after 
${beam_version}) be version ${next_version}" "
+  When contributors resolve an issue in JIRA, they are tagging it with a
+  release that will contain their changes. With the release currently underway,
+  new issues should be resolved against a subsequent future release."
+
+check_beam_version_in_jira "${next_version}" "next"
+
+check_no_unresolved_issues
+
+release_page="https://issues.apache.org/jira/projects/BEAM/versions/${beam_version_id}";
+ensure_yes release_notes_reviewed "Have you reviewed and edited the release 
notes?" "
+  JIRA automatically generates Release Notes based on the Fix Version field 
applied to issues.
+  Release Notes are intended for Beam users (not Beam committers/contributors).
+  You should ensure that Release Notes are informative and useful.
+  The release notes are linked from ${release_page}"
+
+ensure_yes release_build_works "Have you run a release build with mvn 
-Prelease clean install?" "
+  Before creating a release branch, ensure that the release build works and 
javadoc in sdks/java/javadoc
+  looks ok"
+
+check_release_branch_created
+
+check_python_version master "${next_version}.dev"
+check_python_version "release-${beam_version}" "${beam_version}"
+
+check_java_version master beam-master-MMDD
+check_java_version "release-${beam_version}" "beam-${beam_version}"
+
+cleanup
+
+echo ""
+echo "Script complete, but there are more steps at 
https://beam.apache.org/contribute/release-guide";
+echo "To start with a clean state, rm ${ANSWER_FILE} before re-running"
 
 Review comment:
   Very nice idea for resume. 


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contac

[jira] [Work logged] (BEAM-3879) Automate preparation/checking of releases

2018-03-20 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3879?focusedWorklogId=82498&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-82498
 ]

ASF GitHub Bot logged work on BEAM-3879:


Author: ASF GitHub Bot
Created on: 20/Mar/18 21:39
Start Date: 20/Mar/18 21:39
Worklog Time Spent: 10m 
  Work Description: robertwb commented on a change in pull request #4896: 
[BEAM-3879] Automate checking of release steps from the release guide
URL: https://github.com/apache/beam/pull/4896#discussion_r175930450
 
 

 ##
 File path: release/check_release.sh
 ##
 @@ -0,0 +1,91 @@
+#!/bin/bash
+#
+#Licensed to the Apache Software Foundation (ASF) under one or more
+#contributor license agreements.  See the NOTICE file distributed with
+#this work for additional information regarding copyright ownership.
+#The ASF licenses this file to You under the Apache License, Version 2.0
+#(the "License"); you may not use this file except in compliance with
+#the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+#Unless required by applicable law or agreed to in writing, software
+#distributed under the License is distributed on an "AS IS" BASIS,
+#WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#See the License for the specific language governing permissions and
+#limitations under the License.
+#
+# This script checks that the release instructions in 
https://beam.apache.org/contribute/release-guide
+# have been followed.
+
+echo 'Check preparation of a new release for Apache Beam.'
+echo ' '
+
+# Load the functions in release_helper.sh.
+. $(dirname "${BASH_SOURCE[0]}")/release_helper.sh 
+
+# Load previous answers, to avoid re-prompting.
+ANSWER_FILE=~/.prepare_beam_release_answers.txt
+load_previous_answers
+
+# Check the needed software is installed.
+check_software gpg
+check_software git
+check_software mvn
+check_software svn
+check_software gpg-agent
+check_software python
+
+check_gpg_key
+check_access_to_nexus
+
+ensure_yes release_proposed "Has a release been proposed to the @dev list" "
+  Deciding to release and selecting a Release Manager is the first step of
+  the release process. This is a consensus-based decision of the entire
+  community. Anybody can propose a release on the dev@ mailing list, giving
+  a solid argument and nominating a committer as the Release Manager
+  (including themselves). There’s no formal process, no vote requirements,
+  and no timing requirements. Any objections should be resolved by consensus
+  before starting the release."
+
+ensure_set beam_version "What version number will be this release"
+check_beam_version_in_jira "${beam_version}" "current"
+beam_version_id=$found_beam_version_id
+
+ensure_yes website_setup "Have you set up access to the beam website?" "
+  You need to prepare access to the beam website to push changes there"
+
+set_next_version
+ensure_yes next_version_looks_ok "Will the next version (after 
${beam_version}) be version ${next_version}" "
+  When contributors resolve an issue in JIRA, they are tagging it with a
+  release that will contain their changes. With the release currently underway,
+  new issues should be resolved against a subsequent future release."
+
+check_beam_version_in_jira "${next_version}" "next"
+
+check_no_unresolved_issues
 
 Review comment:
   It should be possible to start a release with some unresolved issues (but a 
warning or ack should be required at least). 


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 82498)
Time Spent: 50m  (was: 40m)

> Automate preparation/checking of releases
> -
>
> Key: BEAM-3879
> URL: https://issues.apache.org/jira/browse/BEAM-3879
> Project: Beam
>  Issue Type: Improvement
>  Components: testing
>Reporter: Alan Myrvold
>Assignee: Alan Myrvold
>Priority: Major
>  Time Spent: 50m
>  Remaining Estimate: 0h
>
> Automate checking/preparing releases based on instructions in 
> https://beam.apache.org/contribute/release-guide/
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (BEAM-3879) Automate preparation/checking of releases

2018-03-19 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3879?focusedWorklogId=81958&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-81958
 ]

ASF GitHub Bot logged work on BEAM-3879:


Author: ASF GitHub Bot
Created on: 19/Mar/18 18:29
Start Date: 19/Mar/18 18:29
Worklog Time Spent: 10m 
  Work Description: alanmyrvold opened a new pull request #4896: 
[BEAM-3879] Automate checking of release steps from the release guide
URL: https://github.com/apache/beam/pull/4896
 
 
   Automate checking of release steps from the release guide.
   
   So far  this script just checks that actions have been done, and doesn't 
perform any action that changes state.
   
   It does verify that the version numbers have been set correctly for python 
and java on the master and release branches.
   
   
   
   Follow this checklist to help us incorporate your contribution quickly and 
easily:
   
- [ ] Make sure there is a [JIRA 
issue](https://issues.apache.org/jira/projects/BEAM/issues/) filed for the 
change (usually before you start working on it).  Trivial changes like typos do 
not require a JIRA issue.  Your pull request should address just this issue, 
without pulling in other changes.
- [ ] Format the pull request title like `[BEAM-XXX] Fixes bug in 
ApproximateQuantiles`, where you replace `BEAM-XXX` with the appropriate JIRA 
issue.
- [ ] Write a pull request description that is detailed enough to 
understand:
  - [ ] What the pull request does
  - [ ] Why it does it
  - [ ] How it does it
  - [ ] Why this approach
- [ ] Each commit in the pull request should have a meaningful subject line 
and body.
- [ ] Run `mvn clean verify` to make sure basic checks pass. A more 
thorough check will be performed on your pull request automatically.
- [ ] If this contribution is large, please file an Apache [Individual 
Contributor License Agreement](https://www.apache.org/licenses/icla.pdf).
   
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 81958)
Time Spent: 10m
Remaining Estimate: 0h

> Automate preparation/checking of releases
> -
>
> Key: BEAM-3879
> URL: https://issues.apache.org/jira/browse/BEAM-3879
> Project: Beam
>  Issue Type: Improvement
>  Components: testing
>Reporter: Alan Myrvold
>Assignee: Alan Myrvold
>Priority: Major
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Automate checking/preparing releases based on instructions in 
> https://beam.apache.org/contribute/release-guide/
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (BEAM-3879) Automate preparation/checking of releases

2018-03-19 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3879?focusedWorklogId=81959&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-81959
 ]

ASF GitHub Bot logged work on BEAM-3879:


Author: ASF GitHub Bot
Created on: 19/Mar/18 18:29
Start Date: 19/Mar/18 18:29
Worklog Time Spent: 10m 
  Work Description: alanmyrvold commented on issue #4896: [BEAM-3879] 
Automate checking of release steps from the release guide
URL: https://github.com/apache/beam/pull/4896#issuecomment-374317882
 
 
   +R: @robertwb - Robert - would this be useful?


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 81959)
Time Spent: 20m  (was: 10m)

> Automate preparation/checking of releases
> -
>
> Key: BEAM-3879
> URL: https://issues.apache.org/jira/browse/BEAM-3879
> Project: Beam
>  Issue Type: Improvement
>  Components: testing
>Reporter: Alan Myrvold
>Assignee: Alan Myrvold
>Priority: Major
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> Automate checking/preparing releases based on instructions in 
> https://beam.apache.org/contribute/release-guide/
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)