Idea #18093
closed[art] Write script for Redmine that creates a new release process ticket
Description
Write a script that uses the redmine API to:
- create a new issue on a given sprint "Release Arvados X.Y.Z"
- create numbered subtasks for all the steps on the release checklist https://dev.arvados.org/projects/arvados/wiki/Release_Checklist
- create a new release called "Arvados X.Y.(Z+1)" if it doesn't exist
Related issues
Updated by Peter Amstutz about 3 years ago
- Status changed from New to In Progress
Updated by Peter Amstutz about 3 years ago
- Target version changed from 2021-09-15 sprint to 2021-09-29 sprint
Updated by Peter Amstutz about 3 years ago
- Target version changed from 2021-09-29 sprint to 2021-10-13 sprint
Updated by Peter Amstutz about 3 years ago
- Target version changed from 2021-10-13 sprint to 2021-10-27 sprint
Updated by Peter Amstutz about 3 years ago
- Target version changed from 2021-10-27 sprint to 2021-11-10 sprint
Updated by Ward Vandewege about 3 years ago
- Target version changed from 2021-11-10 sprint to 2021-11-24 sprint
Updated by Ward Vandewege about 3 years ago
Ready for review at commit:a396c2d8cb4c103c0e76a7e225fa2fa68437f9c4 on branch 18093-create-release-ticket in the arvados-dev repo
The relevant command is
./art redmine issues create-release-issue -h Create a release ticket with numbered subtasks for all the steps on the release checklist. The subtask subjects are read from a file named TASKS in the current directory. Finally, a new Redmine release will also be created for the next release. The REDMINE_ENDPOINT environment variable must be set to the base URL of your redmine server. The REDMINE_APIKEY environment variable must be set to your redmine API key. Usage: art redmine issues create-release-issue [flags] Flags: -n, --new-release-version string Semantic version number of the new release -p, --project int Redmine project ID -s, --sprint int Redmine sprint (aka Version) ID Global Flags: -d, --debug Print debug output -h, --help Print help -o, --output string Output format. Empty for human-readable, 'json' or 'json-line'
Updated by Peter Amstutz about 3 years ago
Looks good, just a couple notes:
1. From discussion on slack, the project id isn't really visible (even in the URLs used by redmine) so it would be better if it could accept the project id "arvados" instead of "36".
2. The tasks that are created don't exactly line up with the checklist:
https://dev.arvados.org/projects/arvados/wiki/Release_Checklist
Task 0 on that checklist is just a meta-task "write the code" so it's fine that art
doesn't create it
But then TASKS is missing task 1 (testing) and starts at 0 so task 0 created by art
is task 2 on the checklist, and numbering of everything else is off.
Suggest adding "manual testing" as the first line of TASKS, and have art
start from 1.
I noticed one other problem:
[ok] the redmine release object for the next release is '' (https://dev.arvados.org/rb/release/0)
I think this is just a logging issue because it seems like an Arvados 2.3.2 release was still actually created.
Updated by Ward Vandewege about 3 years ago
Peter Amstutz wrote:
Looks good, just a couple notes:
1. From discussion on slack, the project id isn't really visible (even in the URLs used by redmine) so it would be better if it could accept the project id "arvados" instead of "36".
Good idea, done.
2. The tasks that are created don't exactly line up with the checklist:
https://dev.arvados.org/projects/arvados/wiki/Release_Checklist
Task 0 on that checklist is just a meta-task "write the code" so it's fine that
art
doesn't create itBut then TASKS is missing task 1 (testing) and starts at 0 so task 0 created by
art
is task 2 on the checklist, and numbering of everything else is off.Suggest adding "manual testing" as the first line of TASKS, and have
art
start from 1.
Done, also updated the TASKS list to the latest from the Release Checklist.
I noticed one other problem:
[...]
I think this is just a logging issue because it seems like an Arvados 2.3.2 release was still actually created.
Yeah, good catch, that's fixed now too.
Latest in commit:59d32d46d2d4b2be0159613c5b9c2e64c72f94c7 on branch 18093-create-release-ticket
Updated by Peter Amstutz about 3 years ago
Ward Vandewege wrote:
Peter Amstutz wrote:
Looks good, just a couple notes:
1. From discussion on slack, the project id isn't really visible (even in the URLs used by redmine) so it would be better if it could accept the project id "arvados" instead of "36".
Good idea, done.
2. The tasks that are created don't exactly line up with the checklist:
https://dev.arvados.org/projects/arvados/wiki/Release_Checklist
Task 0 on that checklist is just a meta-task "write the code" so it's fine that
art
doesn't create itBut then TASKS is missing task 1 (testing) and starts at 0 so task 0 created by
art
is task 2 on the checklist, and numbering of everything else is off.Suggest adding "manual testing" as the first line of TASKS, and have
art
start from 1.Done, also updated the TASKS list to the latest from the Release Checklist.
I noticed one other problem:
[...]
I think this is just a logging issue because it seems like an Arvados 2.3.2 release was still actually created.
Yeah, good catch, that's fixed now too.
Latest in commit:59d32d46d2d4b2be0159613c5b9c2e64c72f94c7 on branch 18093-create-release-ticket
LGTM
Updated by Ward Vandewege about 3 years ago
- Status changed from In Progress to Resolved
Peter Amstutz wrote:
Latest in commit:59d32d46d2d4b2be0159613c5b9c2e64c72f94c7 on branch 18093-create-release-ticket
LGTM
Thanks, merged!
Updated by Ward Vandewege over 2 years ago
- Subject changed from Write script for Redmine that creates a new release process ticket to [art] Write script for Redmine that creates a new release process ticket
Updated by Ward Vandewege over 2 years ago
- Related to Feature #18564: [art] run jenkins release build steps with a set of parameters added