#59 Adding product build artifact
Merged 4 years ago by mvadkert. Opened 4 years ago by odockal.
fedora-ci/ odockal/messages product-build  into  master

@@ -0,0 +1,52 @@ 

+ {

+   "contact": {

+     "url": "https://jboss.com/devstudio",

+     "docs": "https://jboss.com/devstudio/docs",

+     "team": "DevStudio QE",

+     "email": "jboss-devstudio-list@redhat.com",

+     "name": "DevStudio QE Jenkins",

+     "irc": "#devstudio"

+   },

+   "run": {

+     "url": "https://some-jenkins.com/job/codereadystudio/281",

+     "log": "https://some-jenkins.com/job/codereadystudio/281/console"

+   },  

+   "artifact": {

+     "type": "product-build",

+     "name": "codereadystudio",

+     "version": "12.12",

+     "release": "v20190602-0440-B4575",

+     "nvr": "codereadystudio-12.12.0.AM1-v20190602-0440-B4575",

+     "architecture": "x86_64",

+     "id": "abc434434de",

+     "artifacts": [

+         {

+                 "type": "redhat-container-image",

+                 "id": "835016",

+                 "component": "cvp-unknownproduct",

+                 "issuer": "someone",

+                 "nvr": "openstack-redis-base-container-15.0-2",

+                 "full_name": "example.com:8888/rhosp15/openstack-redis-base:rhos-15.0-rhel-8-containers-candidate-97924-20190124202049",

+                 "registry_url": "example.com:8888",

+                 "namespace": "rhosp15",

+                 "name": "openstack-redis-base",

+                 "image_tag": "rhos-15.0-rhel-8-containers-candidate-97924-20190124202049",

+                 "scratch": false

+         },

+         {

+                 "type": "brew-build",

+                 "id": 14546276,

+                 "issuer": "plautrba",

+                 "component": "libselinux",

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

+                 "scratch": false,

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

+         }]

+ 

+   },

+   "build": {

+     "repository": "https://devstudio.redhat.com/12/stable/builds/devstudio-12.11.0.GA-build-product/latest/"

+   },

+   "generated_at": "2019-01-23 00:01:00.000000",

+   "version": "0.2.3"

+ }

@@ -0,0 +1,29 @@ 

+ {

+   "contact": {

+     "url": "https://jboss.com/devstudio",

+     "docs": "https://jboss.com/devstudio/docs",

+     "team": "DevStudio QE",

+     "email": "jboss-devstudio-list@redhat.com",

+     "name": "DevStudio QE Jenkins",

+     "irc": "#devstudio"

+   },  

+   "run": {

+     "url": "https://some-jenkins.com/job/codereadystudio/281",

+     "log": "https://some-jenkins.com/job/codereadystudio/281/console"

+   },  

+   "artifact": {

+     "type": "product-build",

+     "name": "codereadystudio",

+     "version": "12.12",

+     "release": "v20190602-0440-B4575",

+     "nvr": "codereadystudio-12.12.0.AM1-v20190602-0440-B4575",

+     "architecture": "x86_64",

+     "id": "abc434434de",

+     "artifacts": []

+   },

+   "error": {

+     "reason": "Building of artifact npm package failed, see run log for details"

+   },

+   "generated_at": "2019-01-23 00:01:00.000000",

+   "version": "0.2.3"

+ }

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

+ {

+   "contact": {

+     "url": "https://jboss.com/devstudio",

+     "docs": "https://jboss.com/devstudio/docs",

+     "team": "DevStudio QE",

+     "email": "jboss-devstudio-list@redhat.com",

+     "name": "DevStudio QE Jenkins",

+     "irc": "#devstudio"

+   },

+   "run": {

+     "url": "https://some-jenkins.com/job/codereadystudio/281",

+     "log": "https://some-jenkins.com/job/codereadystudio/281/console"

+   },  

+   "artifact": {

+     "type": "product-build",

+     "name": "codereadystudio",

+     "version": "12.12",

+     "release": "v20190602-0440-B4575",

+     "nvr": "codereadystudio-12.12.0.AM1-v20190602-0440-B4575",

+     "architecture": "x86_64",

+     "id": "abc434434de",

+     "artifacts": []

+   },

+   "generated_at": "2019-01-23 00:01:00.000000",

+   "version": "0.2.3"

+ }

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

+ {

+   "contact": {

+     "url": "https://jboss.com/devstudio",

+     "docs": "https://jboss.com/devstudio/docs",

+     "team": "DevStudio QE",

+     "email": "jboss-devstudio-list@redhat.com",

+     "name": "DevStudio QE Jenkins",

+     "irc": "#devstudio"

+   },

+   "run": {

+     "url": "https://some-jenkins.com/job/codereadystudio/281",

+     "log": "https://some-jenkins.com/job/codereadystudio/281/console"

+   },  

+   "artifact": {

+     "type": "product-build",

+     "name": "codereadystudio",

+     "version": "12.12",

+     "release": "v20190602-0440-B4575",

+     "nvr": "codereadystudio-12.12.0.AM1-v20190602-0440-B4575",

+     "architecture": "x86_64",

+     "id": "abc434434de",

+     "artifacts": []

+   },

+   "generated_at": "2019-01-23 00:01:00.000000",

+   "version": "0.2.3"

+ }

@@ -0,0 +1,33 @@ 

+ {

+     "artifact": {

+         "type": "product-build",

+         "name": "codereadystudio",

+         "version": "12.12",

+         "release": "v20190602-0440-B4575",

+         "nvr": "codereadystudio-12.12.0.AM1-v20190602-0440-B4575",

+         "architecture": "x86_64",

+         "id": "abc434434de",

+         "artifacts": []

+     },

+     "contact": {

+         "name": "Some Gating Bot",

+         "team": "Factory 2.0",

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

+         "email": "someone@somewhere.com",

+         "irc": "#some-channel"

+     },

+     "decision": {

+         "result": "go",

+         "summary": "1 of 1 required tests passed",

+         "url": "https://datagrepper.somewhere.com/id?id=2018-21cc85d6"

+     },

+     "build": {

+       "repository": "https://devstudio.redhat.com/12/snapshots/builds/devstudio.product_master/latest/all/"

+     },

+     "run": {

+         "url": "https://some-jenkins.com/job/CSS-OCP3.10-OSP13-GLUSTER3.4/281/",

+         "log": "https://some-jenkins.com/job/CSS-OCP3.10-OSP13-GLUSTER3.4/281/console"

+     },

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

+     "version": "0.2.1"

+ }

@@ -0,0 +1,29 @@ 

+ {

+     "artifact": {

+         "type": "product-build",

+         "name": "codereadystudio",

+         "version": "12.12",

+         "release": "v20190602-0440-B4575",

+         "nvr": "codereadystudio-12.12.0.AM1-v20190602-0440-B4575",

+         "architecture": "x86_64",

+         "id": "abc434434de",

+         "artifacts": []

+     },

+     "contact": {

+         "name": "Some Gating Bot",

+         "team": "Factory 2.0",

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

+         "email": "someone@somewhere.com",

+         "irc": "#some-channel"

+     },

+     "error": {

+         "reason": "No test results available after 24 hours.",

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

+     },

+     "run": {

+         "url": "https://some-jenkins.com/job/CSS-OCP3.10-OSP13-GLUSTER3.4/281/",

+         "log": "https://some-jenkins.com/job/CSS-OCP3.10-OSP13-GLUSTER3.4/281/console"

+     },

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

+     "version": "0.2.1"

+ }

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

+ {

+     "artifact": {

+         "type": "product-build",

+         "name": "codereadystudio",

+         "version": "12.12",

+         "release": "v20190602-0440-B4575",

+         "nvr": "codereadystudio-12.12.0.AM1-v20190602-0440-B4575",

+         "architecture": "x86_64",

+         "id": "abc434434de",

+         "artifacts": []

+     },

+     "contact": {

+         "name": "Some Gating Bot",

+         "team": "Factory 2.0",

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

+         "email": "someone@somewhere.com",

+         "irc": "#some-channel"

+     },

+     "run": {

+         "url": "https://some-jenkins.com/job/CSS-OCP3.10-OSP13-GLUSTER3.4/281/",

+         "log": "https://some-jenkins.com/job/CSS-OCP3.10-OSP13-GLUSTER3.4/281/console"

+     },

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

+     "version": "0.2.1"

+ }

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

+ {

+     "artifact": {

+         "type": "product-build",

+         "name": "codereadystudio",

+         "version": "12.12",

+         "release": "v20190602-0440-B4575",

+         "nvr": "codereadystudio-12.12.0.AM1-v20190602-0440-B4575",

+         "architecture": "x86_64",

+         "id": "abc434434de",

+         "artifacts": []

+     },

+     "contact": {

+         "name": "Some Gating Bot",

+         "team": "Factory 2.0",

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

+         "email": "someone@somewhere.com",

+         "irc": "#some-channel"

+     },

+     "run": {

+         "url": "https://some-jenkins.com/job/CSS-OCP3.10-OSP13-GLUSTER3.4/281/",

+         "log": "https://some-jenkins.com/job/CSS-OCP3.10-OSP13-GLUSTER3.4/281/console"

+     },

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

+     "version": "0.2.1"

+ }

@@ -40,8 +40,11 @@ 

      "phase": "testing",

      "build": "PreGA",

      "state": "interop ready",

-     "repos": ["https://gitlab.cee.redhat.com/common/beta/ocp.git",

-              "https://gitlab.cee.redhat.com/beta/ocp.git"]

+     "repos": [

+         "https://gitlab.cee.redhat.com/common/beta/ocp.git",

+         "https://gitlab.cee.redhat.com/beta/ocp.git"

+     ],

+     "artifacts": []

    },

    "test": {

      "type": "system",

@@ -26,8 +26,11 @@ 

      "phase": "testing",

      "build": "PreGA",

      "state": "interop ready",

-     "repos": ["https://gitlab.cee.redhat.com/common/beta/ocp.git",

-              "https://gitlab.cee.redhat.com/beta/ocp.git"]

+     "repos": [

+         "https://gitlab.cee.redhat.com/common/beta/ocp.git",

+         "https://gitlab.cee.redhat.com/beta/ocp.git"

+     ],

+     "artifacts": []

    },

    "test": {

      "type": "system",

@@ -25,8 +25,11 @@ 

      "phase": "testing",

      "build": "PreGA",

      "state": "interop ready",

-     "repos": ["https://gitlab.cee.redhat.com/common/beta/ocp.git",

-              "https://gitlab.cee.redhat.com/beta/ocp.git"]

+     "repos": [

+         "https://gitlab.cee.redhat.com/common/beta/ocp.git",

+         "https://gitlab.cee.redhat.com/beta/ocp.git"

+     ],

+     "artifacts": []

    },

    "test": {

      "type": "system",

@@ -33,8 +33,11 @@ 

      "phase": "testing",

      "build": "PreGA",

      "state": "interop ready",

-     "repos": ["https://gitlab.cee.redhat.com/common/beta/ocp.git",

-              "https://gitlab.cee.redhat.com/beta/ocp.git"]

+     "repos": [

+         "https://gitlab.cee.redhat.com/common/beta/ocp.git",

+         "https://gitlab.cee.redhat.com/beta/ocp.git"

+     ],

+     "artifacts": []

    },

    "test": {

      "type": "system",

@@ -21,7 +21,8 @@ 

          "phase": "testing",

          "build": "PreGA",

          "state": "interop-ready",

-         "repos": ["https://somewhere.com/compose/rhel-8.1/repos"]

+         "repos": ["https://somewhere.com/compose/rhel-8.1/repos"],

+         "artifacts": []

        },

        {

          "type": "product-build",
@@ -33,7 +34,8 @@ 

          "architecture": "x86_64",

          "phase": "testing",

          "build": "GA",

-         "state": "interop ready"

+         "state": "interop ready",

+         "artifacts": []

        }]

    },

    "system":

@@ -21,7 +21,8 @@ 

          "phase": "testing",

          "build": "PreGA",

          "state": "interop-ready",

-         "repos": ["https://somewhere.com/compose/rhel-8.1/repos"]

+         "repos": ["https://somewhere.com/compose/rhel-8.1/repos"],

+         "artifacts": []

        },

        {

          "type": "product-build",
@@ -33,7 +34,8 @@ 

          "architecture": "x86_64",

          "phase": "testing",

          "build": "GA",

-         "state": "interop ready"

+         "state": "interop ready",

+         "artifacts": []

        }]

    },

    "error": {

@@ -25,7 +25,8 @@ 

          "phase": "testing",

          "build": "PreGA",

          "state": "interop-ready",

-         "repos": ["https://somewhere.com/compose/rhel-8.1/repos"]

+         "repos": ["https://somewhere.com/compose/rhel-8.1/repos"],

+         "artifacts" : []

        },

        {

          "type": "product-build",
@@ -37,7 +38,8 @@ 

          "architecture": "x86_64",

          "phase": "testing",

          "build": "GA",

-         "state": "interop ready"

+         "state": "interop ready",

+         "artifacts": []

        }]

    },

    "system":

@@ -25,7 +25,8 @@ 

          "phase": "testing",

          "build": "PreGA",

          "state": "interop-ready",

-         "repos": ["https://somewhere.com/compose/rhel-8.1/repos"]

+         "repos": ["https://somewhere.com/compose/rhel-8.1/repos"],

+         "artifacts": []

        },

        {

          "type": "product-build",
@@ -37,7 +38,8 @@ 

          "architecture": "x86_64",

          "phase": "testing",

          "build": "GA",

-         "state": "interop ready"

+         "state": "interop ready",

+         "artifacts": []

        }]

    },

    "test": {

file added
+16
@@ -0,0 +1,16 @@ 

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

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

+ 

+ description:

+     Details about the build.

+ 

+ properties:

+     repository:

+         description:

+             Repository with build artifacts.

+         type: string

+ 

+ required:

+     - repository

+ 

+ type: object

file modified
+2 -2
@@ -20,9 +20,9 @@ 

      version:

          description:

              Version of the specification. Following semantic versioning

-             (https://semver.org/). Current version is 0.2.1.

+             (https://semver.org/). Current version is 0.2.3.

          examples:

-             - 0.2.2

+             - 0.2.3

          type: string

  

  type: object

@@ -0,0 +1,30 @@ 

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

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

+ 

+ description:

+     Building of the product has been completed.

+     This is a mandatory message.

+ 

+ properties:

+     contact:

+         $ref: contact.json

+     run:

+         $ref: run.json

+     artifact:

+         $ref: product-build.json

+     build:

+         $ref: build.json

+     generated_at:

+         $ref: common.json#properties/generated_at

+     version:

+         $ref: common.json#properties/version

+ 

+ required:

+     - contact

+     - run

+     - artifact

+     - build

+     - generated_at

+     - version

+ 

+ type: object

@@ -0,0 +1,30 @@ 

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

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

+ 

+ description:

+     Building of the product has failed.

+     This is a mandatory message.

+ 

+ properties:

+     contact:

+         $ref: contact.json

+     run:

+         $ref: run.json

+     artifact:

+         $ref: product-build.json

+     error:

+         $ref: error.json

+     generated_at:

+         $ref: common.json#properties/generated_at

+     version:

+         $ref: common.json#properties/version

+ 

+ required:

+     - contact

+     - run

+     - artifact

+     - error

+     - generated_at

+     - version

+ 

+ type: object

@@ -0,0 +1,27 @@ 

+ $id: https://pagure.io/fedora-ci/messages/product-build.build.queued

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

+ 

+ description:

+     Building of the product has been queued.

+     This is an optional message.

+ 

+ properties:

+     contact:

+         $ref: contact.json

+     run:

+         $ref: run.json

+     artifact:

+         $ref: product-build.json

+     generated_at:

+         $ref: common.json#properties/generated_at

+     version:

+         $ref: common.json#properties/version

+ 

+ required:

+     - contact

+     - run

+     - artifact

+     - generated_at

+     - version

+ 

+ type: object

@@ -0,0 +1,27 @@ 

+ $id: https://pagure.io/fedora-ci/messages/product-build.build.running

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

+ 

+ description:

+     Building of the product is in progress.

+     This is an optional message.

+ 

+ properties:

+     contact:

+         $ref: contact.json

+     run:

+         $ref: run.json

+     artifact:

+         $ref: product-build.json

+     generated_at:

+         $ref: common.json#properties/generated_at

+     version:

+         $ref: common.json#properties/version

+ 

+ required:

+     - contact

+     - run

+     - artifact

+     - generated_at

+     - version

+ 

+ type: object

@@ -0,0 +1,33 @@ 

+ $id: https://pagure.io/fedora-ci/messages/product-build.gate.complete

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

+ 

+ description:

+     Gating of the product build has been completed.

+     The decision has been made and applied.

+     This is a mandatory message.

+ 

+ properties:

+     artifact:

+         $ref: product-build.json

+     contact:

+         $ref: contact.json

+     run:

+         $ref: run.json

+     decision:

+         $ref: decision.json

+     build:

+         $ref: build.json

+     generated_at:

+         $ref: common.json#properties/generated_at

+     version:

+         $ref: common.json#properties/version

+ 

+ required:

+     - artifact

+     - contact

+     - decision

+     - build

+     - generated_at

+     - version

+ 

+ type: object

@@ -0,0 +1,30 @@ 

+ $id: https://pagure.io/fedora-ci/messages/product-build.gate.error

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

+ 

+ description:

+     Gating of the product build has failed.

+     The decision is unknown because of an infrastructure problem.

+     This is a mandatory message.

+ 

+ properties:

+     artifact:

+         $ref: product-build.json

+     contact:

+         $ref: contact.json

+     run:

+         $ref: run.json

+     error:

+         $ref: error.json

+     generated_at:

+         $ref: common.json#properties/generated_at

+     version:

+         $ref: common.json#properties/version

+ 

+ required:

+     - artifact

+     - contact

+     - error 

+     - generated_at

+     - version

+ 

+ type: object

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

+ $id: https://pagure.io/fedora-ci/messages/product-build.gate.queued

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

+ 

+ description:

+     Gating of the product build has been queued.

+     This is an optional message.

+ 

+ properties:

+     artifact:

+         $ref: product-build.json

+     contact:

+         $ref: contact.json

+     run:

+         $ref: run.json

+     generated_at:

+         $ref: common.json#properties/generated_at

+     version:

+         $ref: common.json#properties/version

+ 

+ required:

+     - artifact

+     - contact

+     - generated_at

+     - version

+ 

+ type: object

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

+ $id: https://pagure.io/fedora-ci/messages/product-build.gate.running

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

+ 

+ description:

+     Gating of the product build is in progress.

+     This is an optional message.

+ 

+ properties:

+     artifact:

+         $ref: product-build.json

+     contact:

+         $ref: contact.json

+     run:

+         $ref: run.json

+     generated_at:

+         $ref: common.json#properties/generated_at

+     version:

+         $ref: common.json#properties/version

+ 

+ required:

+     - artifact

+     - contact

+     - generated_at

+     - version

+ 

+ type: object

@@ -11,7 +11,7 @@ 

      run:

          $ref: run.json

      artifact:

-         $ref: product.json

+         $ref: product-build.json

      pipeline:

          $ref: pipeline.json

      test:

@@ -13,7 +13,7 @@ 

      run:

          $ref: run.json

      artifact:

-         $ref: product.json

+         $ref: product-build.json

      pipeline:

          $ref: pipeline.json

      test:

@@ -11,7 +11,7 @@ 

      run:

          $ref: run.json

      artifact:

-         $ref: product.json

+         $ref: product-build.json

      pipeline:

          $ref: pipeline.json

      test:

@@ -11,13 +11,11 @@ 

      run:

          $ref: run.json

      artifact:

-         $ref: product.json

+         $ref: product-build.json

      pipeline:

          $ref: pipeline.json

      test:

          $ref: test-common.json

-     image:

-         $ref: productmd-compose-image.json

      generated_at:

          $ref: common.json#properties/generated_at

      version:

schemas/product-build.yaml schemas/product.yaml
file renamed
+35 -11
@@ -1,4 +1,4 @@ 

- $id: https://pagure.io/fedora-ci/messages/product

+ $id: https://pagure.io/fedora-ci/messages/product-build

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

  

  description:
@@ -7,7 +7,7 @@ 

  properties:

      type:

          description:

-             Product type, in this case 'product'.

+             Product type, in this case 'product-build'.

          enum:

              - product-build

          type: string
@@ -25,8 +25,8 @@ 

            

          examples:

              - ocp-3.10-20180531.2

-         type: string        

-         

+         type: string         

+ 

      name:

          description:

            name of the product
@@ -94,13 +94,13 @@ 

              - nightly

              - testing

              - updates

-             - released            

+             - released

          type: string

          

          

      repos:

          description:

-           product preGA list of repos used for install

+           Repoositories where product build artifacts can be obtained.

            

          examples:

              - ["https://gitlab.cee.redhat.com/common/beta/ocp.git","https://gitlab.cee.redhat.com/beta/ocp.git"]
@@ -109,18 +109,42 @@ 

          items:

            type: string        

                           

-         

+     artifacts:

+         description:

+             List of child artifacts, from which this product consists. It is required, but can be an empty list.

+             

+         examples:

+             - [

+                 {

+                     "type": "redhat-container-image",

+                     "id": "835016",

+                     "component": "cvp-unknownproduct",

+                     "issuer": "someone",

+                     "nvr": "openstack-redis-base-container-15.0-2",

+                     "full_name": "example.com:8888/rhosp15/openstack-redis-base:rhos-15.0-rhel-8-containers-candidate-97924-20190124202049",

+                     "registry_url": "example.com:8888",

+                     "namespace": "rhosp15",

+                     "name": "openstack-redis-base",

+                     "image_tag": "rhos-15.0-rhel-8-containers-candidate-97924-20190124202049",

+                     "scratch": false

+                 },

+                 {

+                     "type": "brew-build",

+                     "id": 14546276,

+                     "issuer": "plautrba",

+                     "component": "libselinux",

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

+                     "scratch": false,

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

+                 }

+               ]

  

  required:

      - type

      - id

-     - nvr    

      - name

      - version

      - release

      - architecture

-     - phase

-     - build

-     - state

  

  type: object

@@ -22,7 +22,7 @@ 

              List of products making up the scenario being tested.

          type: array

          items:

-             $ref: product.json

+             $ref: product-build.json

  

  required:

      - type

  • defined schema and examples for product-build build and test artefacts
  • fixes #52
  • Credit goes to @mvadkert

Signed-off-by: Ondrej Dockal odockal@redhat.com

Metadata Update from @odockal:
- Pull-request tagged with: review-needed

4 years ago

I did not find anything obviously wrong ... so :thumbsup: from me

Perfect, give me a while for guys from the team to check it out, let's say a couple of hours today. I will go through it once more...

@mvadkert We can out with a bit of mdofications. Ie. nvr vs id. It is basically the same field, so I suggest to remove nvr field.

Other than that. It might make sense to have also gate event, which would allow to finish the full "build pipeline": Build.build.complete -> Test.complete -> gate.complete. So I am going to add this.

1 new commit added

  • Adding product build gate artifacts
4 years ago

NVR - I will not remove it, it wont be just required.

2 new commits added

  • Adding product build gate artifacts
  • Adding product build artifact
4 years ago

@mvadkert Moving here to resolve the question about product.yaml vs product-build.yaml in schemas. I am not sure whether we intended to remove product to be replaced by product-build...

rebased onto 07f44d4

4 years ago

Building of the product is in progress.
Mandatory?

Building of the product has been queued.
Mandatory?

Building of the product has failed.

Why just preGA?
For install of what?
(Missing context?)

2 new commits added

  • Adding product build gate artifacts
  • Adding product build artifact
4 years ago

@odockal

@mvadkert Moving here to resolve the question about product.yaml vs product-build.yaml in schemas. I am not sure whether we intended to remove product to be replaced by product-build...

yes, the product.yaml schema should be really product-build.yaml schema, as the artifact name is product-build ....

1 new commit added

  • Deleted product.yaml schema and updates product-scenario
4 years ago

@okotek Thanks for review, I have updated the PR.

@mvadkert product.yaml removed in favor of product-build, product-scenario updated.

If the build event results in error, I would expect that there is no build created (and is not available in the given repository). Hence, why is the build property required?
In a similar way, it applies to queued and running.

Our product build consists of several bits, for example
"bits": {
"javadocs": {
"url": "...",
"build-type": "jenkins",
"build-id": "...",
"build-url": "...",
"scm-type": "git",
"scm-url": "...",
"scm-revision": "..."
},
"maven-repository": { "url": "..." },
"all-GAVs": { "url": "..." },
"runtime-GAVs": { "url": "..." },
"offliner-file": { "url": "..." },
...
}

Those can be represented as:
a) the child artifacts, product-build type
b) the child artifacts, another type
c) in a separate property, maybe rather in the build property of an event (for example see product-build.build.complete.json)

There would be no messages sent for the bits, hence a) and especially b) seem to be not suitable.

@mvadkert @odockal WDYT please?

I had a feeling that majority of users will use it and so it would make sense to have it mandatory. For those who do no make use of it, empty list is an option.

I would agree to not have it in queued and running "states" of a message events. In error I am not sure. Error might occur in late phase of a build where there is something already built and it might help to debug? Also, if nothing was built/uploaded, an empty string should work? But I would rather see a real situation of this event + state to fully support my saying...

Instead of mocking a value, it would be more clear to make the property optional.

Since this artifact type is meant for more general use (issue #52), like an executable or archive, it would serve also for non-composed artifacts. I would expect minimum of required properties. Instead of mocking a value, it would be more clear to make the property optional.

@okotek

Instead of mocking a value, it would be more clear to make the property optional.

Yeah, well, there was a discussion about this here:
https://pagure.io/fedora-ci/messages/pull-request/49

I decided to step back if that field is an array, but I agree with you that mocking a value is a bit weird :)

Those can be represented as:
a) the child artifacts, product-build type
b) the child artifacts, another type
c) in a separate property, maybe rather in the build property of an event (for example see product-build.build.complete.json)

There would be no messages sent for the bits, hence a) and especially b) seem to be not suitable.

@mvadkert WDYT please?

We encountered this use case yesterday also with cloudforms product. And seems we will be wanting to add an adhoc kind of artifact, that can be basically anything, with an ID and an URL, so it can be referenced and found. I believe this could be then also used for your "subartifacts" of your product build ....

1 new commit added

  • Build removed from build.queued, running and error messages
4 years ago

Metadata Update from @odockal:
- Request assigned

4 years ago

Ok, so after IRC communication this got :thumbsup: from @ralph @okotek and @odockal .. moving this in, we will build on to of this

Metadata Update from @mvadkert:
- Pull-request untagged with: review-needed
- Pull-request tagged with: review-done
- Request assignee reset

4 years ago

Pull-Request has been merged by mvadkert

4 years ago
Metadata
Changes Summary 32
+52
file added
examples/product-build.build.complete.json
+29
file added
examples/product-build.build.error.json
+26
file added
examples/product-build.build.queued.json
+26
file added
examples/product-build.build.running.json
+33
file added
examples/product-build.gate.complete.json
+29
file added
examples/product-build.gate.error.json
+25
file added
examples/product-build.gate.queued.json
+25
file added
examples/product-build.gate.running.json
+5 -2
file changed
examples/product-build.test.complete.json
+5 -2
file changed
examples/product-build.test.error.json
+5 -2
file changed
examples/product-build.test.queued.json
+5 -2
file changed
examples/product-build.test.running.json
+4 -2
file changed
examples/product-scenario.build.complete.json
+4 -2
file changed
examples/product-scenario.build.error.json
+4 -2
file changed
examples/product-scenario.test.complete.json
+4 -2
file changed
examples/product-scenario.test.error.json
+16
file added
schemas/build.yaml
+2 -2
file changed
schemas/common.yaml
+30
file added
schemas/product-build.build.complete.yaml
+30
file added
schemas/product-build.build.error.yaml
+27
file added
schemas/product-build.build.queued.yaml
+27
file added
schemas/product-build.build.running.yaml
+33
file added
schemas/product-build.gate.complete.yaml
+30
file added
schemas/product-build.gate.error.yaml
+26
file added
schemas/product-build.gate.queued.yaml
+26
file added
schemas/product-build.gate.running.yaml
+1 -1
file changed
schemas/product-build.test.complete.yaml
+1 -1
file changed
schemas/product-build.test.error.yaml
+1 -1
file changed
schemas/product-build.test.queued.yaml
+1 -3
file changed
schemas/product-build.test.running.yaml
+35 -11
file renamed
schemas/product.yaml
schemas/product-build.yaml
+1 -1
file changed
schemas/product-scenario.yaml