Project

General

Profile

Actions

Idea #18093

closed

[art] Write script for Redmine that creates a new release process ticket

Added by Peter Amstutz about 3 years ago. Updated over 2 years ago.

Status:
Resolved
Priority:
Normal
Assigned To:
Category:
-
Target version:
Start date:
11/18/2021
Due date:
Story points:
-

Description

Write a script that uses the redmine API to:

  1. create a new issue on a given sprint "Release Arvados X.Y.Z"
  2. create numbered subtasks for all the steps on the release checklist https://dev.arvados.org/projects/arvados/wiki/Release_Checklist
  3. create a new release called "Arvados X.Y.(Z+1)" if it doesn't exist

Subtasks 1 (0 open1 closed)

Task #18392: review 18093-create-release-ticketResolvedPeter Amstutz11/18/2021Actions

Related issues

Related to Arvados - Idea #18300: [art] Write script for Redmine that associates tickets with a releaseResolvedWard Vandewege11/12/2021Actions
Related to Arvados - Feature #18564: [art] run jenkins release build steps with a set of parametersNewActions
Actions #1

Updated by Peter Amstutz about 3 years ago

  • Status changed from New to In Progress
Actions #2

Updated by Peter Amstutz about 3 years ago

  • Description updated (diff)
Actions #3

Updated by Peter Amstutz about 3 years ago

  • Target version changed from 2021-09-15 sprint to 2021-09-29 sprint
Actions #4

Updated by Peter Amstutz about 3 years ago

  • Target version changed from 2021-09-29 sprint to 2021-10-13 sprint
Actions #5

Updated by Peter Amstutz about 3 years ago

  • Target version changed from 2021-10-13 sprint to 2021-10-27 sprint
Actions #6

Updated by Peter Amstutz about 3 years ago

  • Target version changed from 2021-10-27 sprint to 2021-11-10 sprint
Actions #7

Updated by Ward Vandewege about 3 years ago

  • Target version changed from 2021-11-10 sprint to 2021-11-24 sprint
Actions #8

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'
Actions #9

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.

Actions #10

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 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.

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

Actions #11

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 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.

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

Actions #12

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!

Actions #13

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
Actions #14

Updated by Ward Vandewege over 2 years ago

  • Related to Feature #18564: [art] run jenkins release build steps with a set of parameters added
Actions

Also available in: Atom PDF