Hello community,

here is the log from the commit of package openSUSE-release-tools for 
openSUSE:Factory checked in at 2020-09-16 19:42:35
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openSUSE-release-tools (Old)
 and      /work/SRC/openSUSE:Factory/.openSUSE-release-tools.new.4249 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "openSUSE-release-tools"

Wed Sep 16 19:42:35 2020 rev:295 rq:834930 version:20200909.0bb0f971

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/openSUSE-release-tools/openSUSE-release-tools.changes
    2020-09-03 01:19:23.840586236 +0200
+++ 
/work/SRC/openSUSE:Factory/.openSUSE-release-tools.new.4249/openSUSE-release-tools.changes
  2020-09-16 19:43:41.135079083 +0200
@@ -1,0 +2,48 @@
+Wed Sep 09 13:48:01 UTC 2020 - opensuse-releaset...@opensuse.org
+
+- Update to version 20200909.0bb0f971:
+  * TTM: Ignore arch check for multibuild containers
+
+-------------------------------------------------------------------
+Mon Sep 07 11:59:15 UTC 2020 - opensuse-releaset...@opensuse.org
+
+- Update to version 20200907.aa447872:
+  * handle also GO_SERVER_URL when port is 8153
+
+-------------------------------------------------------------------
+Mon Sep 07 08:12:47 UTC 2020 - opensuse-releaset...@opensuse.org
+
+- Update to version 20200907.6c213476:
+  * TTM: Verify that all successfully built products are mentioned in the 
config
+
+-------------------------------------------------------------------
+Thu Sep 03 09:40:12 UTC 2020 - opensuse-releaset...@opensuse.org
+
+- Update to version 20200903.6c099fbb:
+  * Dashboard: Handle 'broken' state for OBS
+
+-------------------------------------------------------------------
+Thu Sep 03 07:28:40 UTC 2020 - opensuse-releaset...@opensuse.org
+
+- Update to version 20200903.1a4894ef:
+  * Add release to TEST and PUBLIC for MicroOS
+
+-------------------------------------------------------------------
+Thu Sep 03 07:09:31 UTC 2020 - opensuse-releaset...@opensuse.org
+
+- Update to version 20200903.c28f1293:
+  * added a 30 minute timeout to the openqa run
+
+-------------------------------------------------------------------
+Wed Sep 02 15:50:12 UTC 2020 - opensuse-releaset...@opensuse.org
+
+- Update to version 20200902.771d1db6:
+  * Add the ARM rings
+
+-------------------------------------------------------------------
+Wed Sep 02 14:06:00 UTC 2020 - opensuse-releaset...@opensuse.org
+
+- Update to version 20200902.aea8d9fa:
+  * Dashboard: Handle 'locked' state for OBS
+
+-------------------------------------------------------------------

Old:
----
  openSUSE-release-tools-20200826.3b33c0a6.obscpio

New:
----
  openSUSE-release-tools-20200909.0bb0f971.obscpio

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ openSUSE-release-tools.spec ++++++
--- /var/tmp/diff_new_pack.ZfPeHs/_old  2020-09-16 19:43:43.279081199 +0200
+++ /var/tmp/diff_new_pack.ZfPeHs/_new  2020-09-16 19:43:43.279081199 +0200
@@ -20,7 +20,7 @@
 %define source_dir openSUSE-release-tools
 %define announcer_filename factory-package-news
 Name:           openSUSE-release-tools
-Version:        20200826.3b33c0a6
+Version:        20200909.0bb0f971
 Release:        0
 Summary:        Tools to aid in staging and release work for openSUSE/SUSE
 License:        GPL-2.0-or-later AND MIT

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.ZfPeHs/_old  2020-09-16 19:43:43.331081250 +0200
+++ /var/tmp/diff_new_pack.ZfPeHs/_new  2020-09-16 19:43:43.335081254 +0200
@@ -1,6 +1,6 @@
 <servicedata>
   <service name="tar_scm">
     <param 
name="url">https://github.com/openSUSE/openSUSE-release-tools.git</param>
-    <param 
name="changesrevision">d9736fb6627e298183640a9bfb2f76d8e3ed1d36</param>
+    <param 
name="changesrevision">0bb0f971cc69883e3f053a1e1416f4ca4731191a</param>
   </service>
 </servicedata>

++++++ openSUSE-release-tools-20200826.3b33c0a6.obscpio -> 
openSUSE-release-tools-20200909.0bb0f971.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openSUSE-release-tools-20200826.3b33c0a6/dashboard/generate.py 
new/openSUSE-release-tools-20200909.0bb0f971/dashboard/generate.py
--- old/openSUSE-release-tools-20200826.3b33c0a6/dashboard/generate.py  
2020-08-26 12:30:29.000000000 +0200
+++ new/openSUSE-release-tools-20200909.0bb0f971/dashboard/generate.py  
2020-09-09 15:43:50.000000000 +0200
@@ -70,14 +70,18 @@
         unresolvable = 0
         building = 0
         succeeded = 0
+        broken = 0
         for result in root.findall('.//statuscount'):
             code = result.get('code')
             count = int(result.get('count'))
-            if code == 'excluded' or code == 'disabled':
+            if code == 'excluded' or code == 'disabled' or code == 'locked':
                 continue # ignore
             if code == 'succeeded':
                 succeeded += count
                 continue
+            if code == 'broken':
+                broken += count
+                continue
             if code == "failed":
                 failed += count
                 continue
@@ -92,8 +96,9 @@
             unresolvable = 0
         if building + failed + succeeded == 0:
             return {'building': -1}
-        return { 'building': 1000 - int(building * 1000 / (building + failed + 
succeeded)),
+        return { 'building': 1000 - int(building * 1000 / (building + failed + 
succeeded + broken)),
                  'failed': failed,
+                 'broken': broken,
                  'unresolvable': unresolvable }
 
     def generate_all_archs(self, project):
@@ -163,6 +168,8 @@
     fetcher.add('openSUSE:Factory:Rings:1-MinimalX', nick='Ring 1')
     fetcher.add('openSUSE:Factory:ARM', nick='ARM', 
download_url='http://download.opensuse.org/ports/aarch64/tumbleweed/iso/', 
openqa_group='openSUSE Tumbleweed AArch64', openqa_version='Tumbleweed', 
openqa_groupid=3)
     fetcher.add('openSUSE:Factory:ARM:Live', nick='ARM Live')
+    fetcher.add('openSUSE:Factory:ARM:Rings:0-Bootstrap', nick='ARM Ring 0')
+    fetcher.add('openSUSE:Factory:ARM:Rings:1-MinimalX', nick='ARM Ring 1')
     fetcher.add('openSUSE:Factory:PowerPC', nick='Power', 
download_url='http://download.opensuse.org/ports/ppc/tumbleweed/iso/', 
openqa_group='openSUSE Tumbleweed PowerPC', openqa_version='Tumbleweed', 
openqa_groupid=4)
     fetcher.add('openSUSE:Factory:zSystems', nick='System Z', 
download_url='http://download.opensuse.org/ports/zsystems/tumbleweed/iso/', 
openqa_group='openSUSE Tumbleweed s390x', openqa_version='Tumbleweed', 
openqa_groupid=34)
     fetcher.add('openSUSE:Factory:RISCV', nick='Risc V', 
download_url='http://download.opensuse.org/ports/riscv/tumbleweed/iso/')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openSUSE-release-tools-20200826.3b33c0a6/dashboard/templates/repository.html
 
new/openSUSE-release-tools-20200909.0bb0f971/dashboard/templates/repository.html
--- 
old/openSUSE-release-tools-20200826.3b33c0a6/dashboard/templates/repository.html
    2020-08-26 12:30:29.000000000 +0200
+++ 
new/openSUSE-release-tools-20200909.0bb0f971/dashboard/templates/repository.html
    2020-09-09 15:43:50.000000000 +0200
@@ -8,6 +8,9 @@
   {% if progress['failed'] > 0 %}
 , <a href="https://build.opensuse.org/project/monitor/{{ project.name 
}}?failed=1&defaults=0&repo_{{repository}}=1&{{project.all_archs}}">{{ 
progress['failed'] }} failed</a>
   {% endif %}
+  {% if progress['broken'] > 0 %}
+, <a href="https://build.opensuse.org/project/monitor/{{ project.name 
}}?broken=1&defaults=0&repo_{{repository}}=1&{{project.all_archs}}">{{ 
progress['broken'] }} broken</a>
+  {% endif %}
   {% if progress['unresolvable'] > 0 %}
 , <a href="https://build.opensuse.org/project/monitor/{{ project.name 
}}?unresolvable=1&defaults=0&repo_{{repository}}=1&{{project.all_archs}}">{{ 
progress['unresolvable'] }} unresolvable</a>
   {% endif %}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openSUSE-release-tools-20200826.3b33c0a6/gocd/microos.target.gocd.yaml 
new/openSUSE-release-tools-20200909.0bb0f971/gocd/microos.target.gocd.yaml
--- old/openSUSE-release-tools-20200826.3b33c0a6/gocd/microos.target.gocd.yaml  
2020-08-26 12:30:29.000000000 +0200
+++ new/openSUSE-release-tools-20200909.0bb0f971/gocd/microos.target.gocd.yaml  
2020-09-09 15:43:50.000000000 +0200
@@ -43,3 +43,55 @@
         - repo-checker
         tasks:
         - script: ./scripts/pkglistgen.py -A https://api.suse.de --debug 
update_and_solve -p SUSE:SLE-15-SP2:Update:Products:MicroOS -s target --force
+
+  MicroOS.Images:
+    group: MicroOS.Target
+    lock_behavior: unlockWhenFinished
+    materials:
+      repos:
+        git: git://botmaster.suse.de/suse-repos.git
+        auto_update: true
+        whitelist:
+          - SUSE:SLE-15-SP2:Update:Products:MicroOS_-_images.yaml
+        destination: repos
+      scripts:
+        auto_update: true
+        git: https://github.com/openSUSE/openSUSE-release-tools.git
+        whitelist:
+          - DO_NOT_TRIGGER
+        destination: scripts
+    environment_variables:
+      OSC_CONFIG: /home/go/config/oscrc-staging-bot
+    stages:
+    - Expect.Images.To.Finish:
+        resources:
+        - staging-bot
+        tasks:
+        - script: |
+            export PYTHONPATH=scripts
+            ./scripts/gocd/verify-repo-built-successful.py -A 
https://api.suse.de -p SUSE:SLE-15-SP2:Update:Products:MicroOS -r images
+
+    - Release.Images.To.Test:
+        approval: manual
+        roles:
+        - SLE
+        environment_variables:
+          OSC_CONFIG: /home/go/config/oscrc-totest-manager
+        resources:
+        - staging-bot
+        tasks:
+        - script: |-
+            for product in 000product SUSE-MicroOS; do
+              osc -A https://api.suse.de release 
SUSE:SLE-15-SP2:Update:Products:MicroOS $product
+            done
+
+    - Release.Images.To.Publish:
+        approval: manual
+        roles:
+        - SLE
+        environment_variables:
+          OSC_CONFIG: /home/go/config/oscrc-totest-manager
+        resources:
+        - staging-bot
+        tasks:
+        - script: osc -A https://api.suse.de release 
SUSE:SLE-15-SP2:Update:Products:MicroOS:TEST
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openSUSE-release-tools-20200826.3b33c0a6/gocd/openqa.gocd.yaml 
new/openSUSE-release-tools-20200909.0bb0f971/gocd/openqa.gocd.yaml
--- old/openSUSE-release-tools-20200826.3b33c0a6/gocd/openqa.gocd.yaml  
2020-08-26 12:30:29.000000000 +0200
+++ new/openSUSE-release-tools-20200909.0bb0f971/gocd/openqa.gocd.yaml  
2020-09-09 15:43:50.000000000 +0200
@@ -13,6 +13,7 @@
       only_on_changes: false
     stages:
     - Run:
+        timeout: 30
         approval: manual
         resources:
           - staging-bot
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openSUSE-release-tools-20200826.3b33c0a6/gocd/report-status.py 
new/openSUSE-release-tools-20200909.0bb0f971/gocd/report-status.py
--- old/openSUSE-release-tools-20200826.3b33c0a6/gocd/report-status.py  
2020-08-26 12:30:29.000000000 +0200
+++ new/openSUSE-release-tools-20200909.0bb0f971/gocd/report-status.py  
2020-09-09 15:43:50.000000000 +0200
@@ -53,6 +53,7 @@
             state = 'success'
         name = name + ':' + architecture
     report_url = os.environ.get('GO_SERVER_URL').replace(':8154', '')
+    report_url = report_url.replace(':8153', '')
     report_url = report_url + 
'/tab/build/detail/{}/{}/{}/{}/{}#tab-console'.format(os.environ.get('GO_PIPELINE_NAME'),
 os.environ.get('GO_PIPELINE_COUNTER'), os.environ.get('GO_STAGE_NAME'), 
os.environ.get('GO_STAGE_COUNTER'), os.environ.get('GO_JOB_NAME'))
     xml = check_xml(report_url, state, name)
     try:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openSUSE-release-tools-20200826.3b33c0a6/ttm/releaser.py 
new/openSUSE-release-tools-20200909.0bb0f971/ttm/releaser.py
--- old/openSUSE-release-tools-20200826.3b33c0a6/ttm/releaser.py        
2020-08-26 12:30:29.000000000 +0200
+++ new/openSUSE-release-tools-20200909.0bb0f971/ttm/releaser.py        
2020-09-09 15:43:50.000000000 +0200
@@ -47,6 +47,10 @@
                 self.logger.debug('not snapshotable')
                 return QAResult.failed
 
+            if not self.all_built_products_in_config():
+                self.logger.debug('config incomplete')
+                return QAResult.failed
+
         self.update_totest(new_snapshot)
         self.update_status('testing', new_snapshot)
         self.update_status('failed', '')
@@ -135,6 +139,54 @@
 
         return True
 
+    def all_built_products_in_config(self):
+        """Verify that all succeeded products are mentioned in the ttm 
config"""
+
+        # Don't return false early, to show all errors at once
+        all_found = True
+
+        product_archs = {} # {'foo:ftp': ['local'], some-image': ['x86_64'], 
...}
+        for simple_product in self.project.ftp_products + 
self.project.main_products:
+            product_archs[simple_product] = [self.project.product_arch]
+        for image_product in self.project.image_products + 
self.project.container_products:
+            product_archs[image_product.package] = image_product.archs
+
+        # Get all results for the product repo from OBS
+        url = self.api.makeurl(['build', self.project.name, "_result"],
+                               {'repository': self.project.product_repo,
+                                'multibuild': 1})
+        f = self.api.retried_GET(url)
+        resultlist = ET.parse(f).getroot()
+
+        # Loop through all successfully built products and check whether they 
are part of
+        # product_archs
+        for result in resultlist.findall('result'):
+            arch = result.get('arch')
+            for package in result.findall('status[@code="succeeded"]'):
+                packagename = package.get('package')
+                released_archs = None
+                if packagename in product_archs:
+                    released_archs = product_archs[packagename]
+                elif ':' in packagename:
+                    # For multibuild, it's enough to release the container
+                    multibuildcontainer = packagename.split(':')[0]
+                    if multibuildcontainer in product_archs:
+                        released_archs = product_archs[multibuildcontainer]
+                        # Ignore the arch check for multibuild containers,
+                        # as it might not build for the same archs as all 
flavors.
+                        continue
+
+                if released_archs is None:
+                    self.logger.error("%s is built for %s, but not mentioned 
as product" % (
+                        packagename, arch))
+                    all_found = False
+                elif arch not in released_archs:
+                    self.logger.error("%s is built for %s, but that arch is 
not mentioned" % (
+                        packagename, arch))
+                    all_found = False
+
+        return all_found
+
     def is_snapshotable(self):
         """Check various conditions required for factory to be snapshotable
 

++++++ openSUSE-release-tools.obsinfo ++++++
--- /var/tmp/diff_new_pack.ZfPeHs/_old  2020-09-16 19:43:44.131082039 +0200
+++ /var/tmp/diff_new_pack.ZfPeHs/_new  2020-09-16 19:43:44.135082044 +0200
@@ -1,5 +1,5 @@
 name: openSUSE-release-tools
-version: 20200826.3b33c0a6
-mtime: 1598437829
-commit: 3b33c0a6c0824c2b83df11cc1b43a5d448ec774a
+version: 20200909.0bb0f971
+mtime: 1599659030
+commit: 0bb0f971cc69883e3f053a1e1416f4ca4731191a
 


Reply via email to