#32 Add koji-build-group.build.* message type
Merged 5 years ago by mvadkert. Opened 5 years ago by psss.

@@ -0,0 +1,35 @@ 

+ {

+     "contact": {

+         "name": "BaseOS CI",

+         "team": "BaseOS",

+         "url": "https://somewhere.com",

+         "docs": "https://somewhere.com/user-documentation",

+         "irc": "#baseosci",

+         "email": "baseos-ci@somewhere.com"

+     },

+     "artifact": {

+         "type": "rpm-build-group",

+         "id": "selinux-update-345",

+         "repository": "https://some.url/repo",

+         "builds":

+             [{

+                 "type": "koji-build",

+                 "id": 14546276,

+                 "issuer": "plautrba",

+                 "component": "libselinux",

+                 "nvr": "libselinux-2.8-6.fc29.x86_64",

+                 "scratch": false,

+                 "source": "git+https://src.fedoraproject.org/rpms/libselinux.git?#5e0ae23a"

+             }, {

+                 "type": "koji-build",

+                 "id": 14546277,

+                 "issuer": "plautrba",

+                 "component": "libsepol",

+                 "nvr": "libsepol-2.8-3.fc29.x86_64",

+                 "scratch": false,

+                 "source": "git+https://src.fedoraproject.org/rpms/libsepol.git?#5e0ae23a"

+             }]

+     },

+     "generated_at": "2018-05-10 08:58:31.222602",

+     "version": "0.2.2"

+ }

@@ -0,0 +1,39 @@ 

+ {

+     "contact": {

+         "name": "BaseOS CI",

+         "team": "BaseOS",

+         "url": "https://somewhere.com",

+         "docs": "https://somewhere.com/user-documentation",

+         "irc": "#baseosci",

+         "email": "baseos-ci@somewhere.com"

+     },

+     "artifact": {

+         "type": "rpm-build-group",

+         "id": "selinux-update-345",

+         "repository": "https://some.url/repo",

+         "builds":

+             [{

+                 "type": "koji-build",

+                 "id": 14546276,

+                 "issuer": "plautrba",

+                 "component": "libselinux",

+                 "nvr": "libselinux-2.8-6.fc29.x86_64",

+                 "scratch": false,

+                 "source": "git+https://src.fedoraproject.org/rpms/libselinux.git?#5e0ae23a"

+             }, {

+                 "type": "koji-build",

+                 "id": 14546277,

+                 "issuer": "plautrba",

+                 "component": "libsepol",

+                 "nvr": "libsepol-2.8-3.fc29.x86_64",

+                 "scratch": false,

+                 "source": "git+https://src.fedoraproject.org/rpms/libsepol.git?#5e0ae23a"

+             }]

+     },

+     "error": {

+         "reason": "ODCS repository preparation failed.",

+         "issue_url": "http://sentry.somewhere.com/baseos/production/issues/1149/"

+     },

+     "generated_at": "2018-05-10 08:58:31.222602",

+     "version": "0.2.2"

+ }

@@ -0,0 +1,25 @@ 

+ $id: https://pagure.io/fedora-ci/messages/koji-build-group.build.complete

+ $schema: http://json-schema.org/draft-07/schema#

+ 

+ description:

+     Preparation of the build group has been finished.

+     The side-tag with its associated builds is ready for testing.

+     Repository with relevant packages has been created.

+ 

+ properties:

+     contact:

+         $ref: contact.json

+     artifact:

+         $ref: rpm-build-group.json

+     generated_at:

+         $ref: common.json#properties/generated_at

+     version:

+         $ref: common.json#properties/version

+ 

+ required:

+     - contact

+     - artifact

+     - generated_at

+     - version

+ 

+ type: object

@@ -0,0 +1,26 @@ 

+ $id: https://pagure.io/fedora-ci/messages/koji-build-group.build.error

+ $schema: http://json-schema.org/draft-07/schema#

+ 

+ description:

+     Preparation of the build group failed.

+ 

+ properties:

+     contact:

+         $ref: contact.json

+     artifact:

+         $ref: rpm-build-group.json

+     error:

+         $ref: error.json

+     generated_at:

+         $ref: common.json#properties/generated_at

+     version:

+         $ref: common.json#properties/version

+ 

+ required:

+     - contact

+     - artifact

+     - error

+     - generated_at

+     - version

+ 

+ type: object

Add a new schema for rpm-build-group and define koji-build-group-*
messages. Build groups should use side-tag as the id and include
the list of relevant rpm builds.

See Gating Rawhide Packages for more info about side-tags and rpm build grouping.

For reference pasting our discussion with @pingou related to unique identifiers and the need of these messages:

psss: pingou: A question related to side-tags: Can one side-tag be used multiple times? Or is it supposed to be unique?
psss: pingou: Could you give me an example of how a side-tag will be named?
pingou: psss: it can be use for as long as desired while it exist, once it's merged it would have to be re-created
pingou: there isn't a clear definition on how they will be named, the current idea was to do <username>-<name> where the username is the one of the user requesting it and the name provided by the user
psss: pingou: I see. I was thinking whether there will be some unique identifier which could be used e.g. in messages related to testing such artifacts.
psss: pingou: In the message format we always have an id for the artifact which is being tested.
pingou: I believe it'll be unique at any given time
pingou: but there could be two side-tags w/ the same name  one after the other
psss: pingou: Understood. I guess we still will need to somehow clearly identify results/artifacts in a unique way, e.g. for resultsdb/greenwave.
psss: pingou: Or do you expect those would be all handled per-build?
pingou: for resultsdb/greenwave I expect the update to be tested
pingou: wether it contains one or more packages, it's still what we want to test :)
psss: pingou: So, bodhi update will be the id.
pingou: yup
pingou: and that's definitely unique :)
psss: pingou: bookwar asked me to draft ci messages for side-tags, I did some initial proposal here:
psss: https://pagure.io/fedora-ci/messages/pull-request/32
pingou: I'm wondering if that makes sense since we're already testing bodhi updates, we could keep relying on this
psss: pingou: If you have any feedback or requirements what the messages should contain, please let me know.
pingou: from a test-system point of view a bodhi update is a bodhi update regardless of how the rpms were built no?
psss: bookwar: Is there anything special that should be covered for side-tags (that would need a special message)? ^^^
psss: pingou: Currently the CI pipeline does only per-build testing, or not?
pingou: doesn't it test bodhi update? If so I expect it's able to test multiple builds, no?

Let's continue discussion here.

Thanks, I like this as this goes in hand of the container-image-group, but @bookwar did not much like it.

Would be nice to directly define build message for the artifact type, which then could be sent out by koji, I guess it will need a new message, so let's standardize it.

@bookwar, could you please review proposed message format?

rebased onto 078b11f

5 years ago

Updated to make it consistent with brew-build-group messages in pull request #41. @mvadkert, please review.

Pull-Request has been merged by mvadkert

5 years ago