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