Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package openSUSE-release-tools for openSUSE:Factory checked in at 2024-01-17 22:18:23 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/openSUSE-release-tools (Old) and /work/SRC/openSUSE:Factory/.openSUSE-release-tools.new.16006 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openSUSE-release-tools" Wed Jan 17 22:18:23 2024 rev:519 rq:1139431 version:20240110.8329809 Changes: -------- --- /work/SRC/openSUSE:Factory/openSUSE-release-tools/openSUSE-release-tools.changes 2023-12-20 21:02:46.075583559 +0100 +++ /work/SRC/openSUSE:Factory/.openSUSE-release-tools.new.16006/openSUSE-release-tools.changes 2024-01-17 22:19:12.879626635 +0100 @@ -1,0 +2,23 @@ +Wed Jan 10 10:53:18 UTC 2024 - opensuse-releaset...@opensuse.org + +- Update to version 20240110.8329809: + * check_source.py: Use correct function for getting maintainer of the devel pkg + * Fix --osc-debug option with new osc + +------------------------------------------------------------------- +Wed Jan 03 16:20:00 UTC 2024 - opensuse-releaset...@opensuse.org + +- Update to version 20240103.6ab1d35: + * Slightly more useful info logging for source changes + * use list comprehension instead of set comparison + * publish bci repo right away on package set changes + * Remove SP3 and SP4 BCI repos + +------------------------------------------------------------------- +Wed Jan 03 11:05:55 UTC 2024 - opensuse-releaset...@opensuse.org + +- Update to version 20240103.6478168: + * Add timer to monitor release finished for SLE-Micro + * Create Staging pipelines for ALP Dolomite 1.0 + +------------------------------------------------------------------- Old: ---- openSUSE-release-tools-20231213.02b3886.obscpio New: ---- openSUSE-release-tools-20240110.8329809.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ openSUSE-release-tools.spec ++++++ --- /var/tmp/diff_new_pack.dFUV0l/_old 2024-01-17 22:19:14.067670289 +0100 +++ /var/tmp/diff_new_pack.dFUV0l/_new 2024-01-17 22:19:14.067670289 +0100 @@ -1,7 +1,7 @@ # # spec file for package openSUSE-release-tools # -# Copyright (c) 2023 SUSE LLC +# Copyright (c) 2024 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -20,7 +20,7 @@ %define source_dir openSUSE-release-tools %define announcer_filename factory-package-news Name: openSUSE-release-tools -Version: 20231213.02b3886 +Version: 20240110.8329809 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.dFUV0l/_old 2024-01-17 22:19:14.107671759 +0100 +++ /var/tmp/diff_new_pack.dFUV0l/_new 2024-01-17 22:19:14.111671906 +0100 @@ -1,7 +1,7 @@ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/openSUSE/openSUSE-release-tools.git</param> - <param name="changesrevision">02b3886bf34722f94374432766a37e7630f5d835</param> + <param name="changesrevision">8329809782a420f197f3e7b17fd37ea864c13650</param> </service> </servicedata> ++++++ openSUSE-release-tools-20231213.02b3886.obscpio -> openSUSE-release-tools-20240110.8329809.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20231213.02b3886/ReviewBot.py new/openSUSE-release-tools-20240110.8329809/ReviewBot.py --- old/openSUSE-release-tools-20231213.02b3886/ReviewBot.py 2023-12-13 08:16:21.000000000 +0100 +++ new/openSUSE-release-tools-20240110.8329809/ReviewBot.py 2024-01-10 11:51:44.000000000 +0100 @@ -896,7 +896,7 @@ conf.get_config(override_apiurl=self.options.apiurl) if (self.options.osc_debug): - conf.config['debug'] = 1 + conf.config['debug'] = True self.checker = self.setup_checker() if self.options.config: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20231213.02b3886/check_source.py new/openSUSE-release-tools-20240110.8329809/check_source.py --- old/openSUSE-release-tools-20231213.02b3886/check_source.py 2023-12-13 08:16:21.000000000 +0100 +++ new/openSUSE-release-tools-20240110.8329809/check_source.py 2024-01-10 11:51:44.000000000 +0100 @@ -22,7 +22,7 @@ from osclib.core import group_members from osclib.core import package_kind from osclib.core import create_add_role_request -from osclib.core import maintainers_get +from osclib.core import package_role_expand from osc.core import show_package_meta, show_project_meta from osc.core import get_request_list from urllib.error import HTTPError @@ -300,7 +300,7 @@ devel_project, devel_package = devel_project_fallback(self.apiurl, target_project, target_package) if devel_project and devel_package: submitter = self.request.creator - maintainers = set(maintainers_get(self.apiurl, devel_project, devel_package)) + maintainers = set(package_role_expand(self.apiurl, devel_project, devel_package)) known_maintainer = False if maintainers: if submitter in maintainers: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20231213.02b3886/gocd/bci.gocd.yaml new/openSUSE-release-tools-20240110.8329809/gocd/bci.gocd.yaml --- old/openSUSE-release-tools-20231213.02b3886/gocd/bci.gocd.yaml 2023-12-13 08:16:21.000000000 +0100 +++ new/openSUSE-release-tools-20240110.8329809/gocd/bci.gocd.yaml 2024-01-10 11:51:44.000000000 +0100 @@ -42,222 +42,6 @@ - script: python3 ./pkglistgen.py -d -A https://api.opensuse.org update_and_solve -p devel:BCI -s target - SLE_BCI_15SP3.RelPkgs: - group: BCI - lock_behavior: unlockWhenFinished - timer: - spec: 0 10 * ? * * - only_on_changes: false - materials: - git: - git: https://github.com/openSUSE/openSUSE-release-tools.git - environment_variables: - OSC_CONFIG: /home/go/config/oscrc-staging-bot - stages: - - Create.Release.Packages: - approval: manual - resources: - - repo-checker - tasks: - - script: ./pkglistgen.py -A https://api.suse.de update_and_solve -p SUSE:SLE-15-SP3:Update:BCI -s target --only-release-packages --force - - Pkglistgen.SLE_BCI_15SP3: - group: BCI - lock_behavior: unlockWhenFinished - timer: - spec: 0 10 * ? * * - only_on_changes: false - materials: - repos: - git: git://botmaster.suse.de/suse-repos.git - auto_update: true - destination: repos - whitelist: - - SUSE:SLE-15-SP3:Update_-_standard.yaml - 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: - - pkglistgen: - approval: - type: manual - jobs: - BCI_target: - resources: - - repo-checker - tasks: - - script: ./scripts/pkglistgen.py -d -A https://api.suse.de update_and_solve -p SUSE:SLE-15-SP3:Update:BCI -s target - - 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-SP3:Update:BCI -r images - - - Release.Images.to.Product: - approval: manual - roles: - - SLE - environment_variables: - OSC_CONFIG: /home/go/config/oscrc-totest-manager - BCI_TOKEN: '{{SECRET:[opensuse.secrets][BCI_TOKEN]}}' - resources: - - staging-bot - tasks: - # can't use osc command due to https://github.com/openSUSE/osc/issues/1194 - - script: |- - SPRJ=SUSE:SLE-15-SP3:Update:BCI - for arch in aarch64 ppc64le s390x x86_64 ; do - PKG="000product:SLE_BCI-ftp-POOL-$arch" - PRJ="SUSE:Products:SLE-BCI:15-SP3:$arch" - curl -X POST -H "Authorization: Token $BCI_TOKEN" "https://api.suse.de/trigger/release?project=${SPRJ}&package=${PKG}&targetproject=${PRJ}&targetrepository=images&filter_source_repository=images" - done - for arch in aarch64 ppc64le s390x x86_64 ; do - sleep 600 - while (osc -A https://api.suse.de/ api "/build/$PRJ/_result?view=summary&repository=images" | grep "result project" | grep -v 'code="published" state="published">'); do - echo PENDING - sleep 600 - done - osc -A https://api.suse.de/ api "/build/$PRJ/_result?view=summary&repository=images" | grep "result project" | grep 'code="published" state="published">' && echo PUBLISHED - done - - SLE_BCI_15SP3.RepoPublisher: - group: BCI - lock_behavior: unlockWhenFinished - timer: - spec: 0 23 * ? * * - only_on_changes: false - materials: - git: - git: https://github.com/openSUSE/openSUSE-release-tools.git - destination: scripts - environment_variables: - OSC_CONFIG: /home/go/config/oscrc-totest-manager - BCI_TOKEN: '{{SECRET:[opensuse.secrets][BCI_TOKEN]}}' - stages: - - Run: - approval: manual - resources: - - staging-bot - tasks: - - script: | - export PYTHONPATH=scripts - ./scripts/gocd/bci_repo_publish.py -A https://api.suse.de --verbose --debug run "--token=$BCI_TOKEN" 15-SP3 - - SLE_BCI_15SP4.RelPkgs: - group: BCI - lock_behavior: unlockWhenFinished - timer: - spec: 0 10 * ? * * - only_on_changes: false - materials: - git: - git: https://github.com/openSUSE/openSUSE-release-tools.git - environment_variables: - OSC_CONFIG: /home/go/config/oscrc-staging-bot - stages: - - Create.Release.Packages: - approval: manual - resources: - - repo-checker - tasks: - - script: ./pkglistgen.py -A https://api.suse.de update_and_solve -p SUSE:SLE-15-SP4:Update:BCI -s target --only-release-packages --force - - Pkglistgen.SLE_BCI_15SP4: - group: BCI - lock_behavior: unlockWhenFinished - timer: - spec: 0 10 * ? * * - only_on_changes: false - materials: - repos: - git: git://botmaster.suse.de/suse-repos.git - auto_update: true - destination: repos - whitelist: - - SUSE:SLE-15-SP4:Update_-_standard.yaml - 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: - - pkglistgen: - approval: - type: manual - jobs: - BCI_target: - resources: - - repo-checker - tasks: - - script: ./scripts/pkglistgen.py -d -A https://api.suse.de update_and_solve -p SUSE:SLE-15-SP4:Update:BCI -s target - - 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-SP4:Update:BCI -r images - - - Release.Images.to.Product: - approval: manual - roles: - - SLE - environment_variables: - OSC_CONFIG: /home/go/config/oscrc-totest-manager - BCI_TOKEN: '{{SECRET:[opensuse.secrets][BCI_TOKEN]}}' - resources: - - staging-bot - tasks: - # can't use osc command due to https://github.com/openSUSE/osc/issues/1194 - - script: |- - SPRJ=SUSE:SLE-15-SP4:Update:BCI - for arch in aarch64 ppc64le s390x x86_64 ; do - PKG="000product:SLE_BCI-ftp-POOL-$arch" - PRJ="SUSE:Products:SLE-BCI:15-SP4:$arch" - curl -X POST -H "Authorization: Token $BCI_TOKEN" "https://api.suse.de/trigger/release?project=${SPRJ}&package=${PKG}&targetproject=${PRJ}&targetrepository=images&filter_source_repository=images" - done - for arch in aarch64 ppc64le s390x x86_64 ; do - sleep 600 - while (osc -A https://api.suse.de/ api "/build/$PRJ/_result?view=summary&repository=images" | grep "result project" | grep -v 'code="published" state="published">'); do - echo PENDING - sleep 600 - done - osc -A https://api.suse.de/ api "/build/$PRJ/_result?view=summary&repository=images" | grep "result project" | grep 'code="published" state="published">' && echo PUBLISHED - done - - SLE_BCI_15SP4.RepoPublisher: - group: BCI - lock_behavior: unlockWhenFinished - timer: - spec: 0 23 * ? * * - only_on_changes: false - materials: - git: - git: https://github.com/openSUSE/openSUSE-release-tools.git - destination: scripts - environment_variables: - OSC_CONFIG: /home/go/config/oscrc-totest-manager - BCI_TOKEN: '{{SECRET:[opensuse.secrets][BCI_TOKEN]}}' - stages: - - Run: - approval: manual - resources: - - staging-bot - tasks: - - script: | - export PYTHONPATH=scripts - ./scripts/gocd/bci_repo_publish.py -A https://api.suse.de --verbose --debug run "--token=$BCI_TOKEN" 15-SP4 - SLE_BCI_15SP5.RelPkgs: group: BCI lock_behavior: unlockWhenFinished diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20231213.02b3886/gocd/bci.gocd.yaml.erb new/openSUSE-release-tools-20240110.8329809/gocd/bci.gocd.yaml.erb --- old/openSUSE-release-tools-20231213.02b3886/gocd/bci.gocd.yaml.erb 2023-12-13 08:16:21.000000000 +0100 +++ new/openSUSE-release-tools-20240110.8329809/gocd/bci.gocd.yaml.erb 2024-01-10 11:51:44.000000000 +0100 @@ -41,7 +41,7 @@ tasks: - script: python3 ./pkglistgen.py -d -A https://api.opensuse.org update_and_solve -p devel:BCI -s target -<% ['SP3', 'SP4', 'SP5', 'SP6'].each do |sp| %> +<% ['SP5', 'SP6'].each do |sp| %> SLE_BCI_15<%= sp %>.RelPkgs: group: BCI lock_behavior: unlockWhenFinished diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20231213.02b3886/gocd/bci_repo_publish.py new/openSUSE-release-tools-20240110.8329809/gocd/bci_repo_publish.py --- old/openSUSE-release-tools-20231213.02b3886/gocd/bci_repo_publish.py 2023-12-13 08:16:21.000000000 +0100 +++ new/openSUSE-release-tools-20240110.8329809/gocd/bci_repo_publish.py 2024-01-10 11:51:44.000000000 +0100 @@ -39,6 +39,16 @@ raise RuntimeError(f"Failed to get version of {project}/{package}") + def srcmd5_of_product(self, project, package): + """Get the srcmd5 of the given source package.""" + # convert to the base package (without multibuild flavor) + package = package.partition(':')[0] + url = makeurl(self.apiurl, ['source', project, package]) + root = ET.parse(http_GET(url)).getroot() + if root.tag == 'directory' and 'srcmd5' in root.attrib: + return root.attrib['srcmd5'] + raise RuntimeError(f"Failed to get srcmd5 of {project}/{package}") + def mtime_of_product(self, project, package, repo, arch): """Get the build time stamp of the given product, based on _buildenv.""" url = makeurl(self.apiurl, ['build', project, repo, arch, package]) @@ -104,12 +114,16 @@ # After release, the BuildXXX part vanishes, so the mtime has to be # used instead for comparing built and published binaries. for pkg in packages: - pkg['built_version'] = self.version_of_product(pkg['build_prj'], pkg['name'], - 'images', 'local') - pkg['built_mtime'] = self.mtime_of_product(pkg['build_prj'], pkg['name'], - 'images', 'local') - pkg['published_mtime'] = self.mtime_of_product(pkg['publish_prj'], pkg['name'], - 'images', 'local') + pkg['built_srcmd5'] = self.srcmd5_of_product( + pkg['build_prj'], pkg['name']) + pkg['published_srcmd5'] = self.srcmd5_of_product( + pkg['publish_prj'], pkg['name']) + pkg['built_version'] = self.version_of_product( + pkg['build_prj'], pkg['name'], 'images', 'local') + pkg['built_mtime'] = self.mtime_of_product( + pkg['build_prj'], pkg['name'], 'images', 'local') + pkg['published_mtime'] = self.mtime_of_product( + pkg['publish_prj'], pkg['name'], 'images', 'local') # Verify that the builds for all archs are in sync built_versions = {pkg['built_version'] for pkg in packages} @@ -126,11 +140,18 @@ return # If the last published build is less than a day old, don't publish - newest_published_mtime = max([int(pkg['published_mtime']) for pkg in packages]) - published_build_age_hours = int(time.time() - newest_published_mtime) // (60 * 60) - if published_build_age_hours < 24: - self.logger.info('Current published build less than a day old ' - f'({published_build_age_hours}h).') + oldest_published_mtime = min([int(pkg['published_mtime']) for pkg in packages]) + published_build_age_hours = int(time.time() - oldest_published_mtime) // (60 * 60) + pending_source_changes = [ + f"{pkg['name']}: {pkg['built_srcmd5']}/{pkg['published_srcmd5']}" + for pkg in packages if pkg['built_srcmd5'] != pkg['published_srcmd5']] + if pending_source_changes: + self.logger.info(f"Pending source changes to published, skipping waiting for 24h: {pending_source_changes}") + # If the source commit different than the published version, we + # do not wait for 24h for a publish as there was a package addition or removal change + pass + elif published_build_age_hours < 24: + self.logger.info(f'Oldest published build is only {published_build_age_hours}h old, not publishing yet.') return # Check openQA results diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20231213.02b3886/gocd/checkers.alp.gocd.yaml new/openSUSE-release-tools-20240110.8329809/gocd/checkers.alp.gocd.yaml --- old/openSUSE-release-tools-20231213.02b3886/gocd/checkers.alp.gocd.yaml 2023-12-13 08:16:21.000000000 +0100 +++ new/openSUSE-release-tools-20240110.8329809/gocd/checkers.alp.gocd.yaml 2024-01-10 11:51:44.000000000 +0100 @@ -1,5 +1,60 @@ format_version: 3 pipelines: + ALP.Dolomite.Project: + group: ALP.Checkers + lock_behavior: unlockWhenFinished + timer: + spec: 0 0 * ? * * + only_on_changes: false + materials: + git: + git: https://github.com/openSUSE/openSUSE-release-tools.git + environment_variables: + OSC_CONFIG: /home/go/config/oscrc-repo-checker + stages: + - Run: + timeout: 30 + approval: manual + jobs: + ALP.Dolomite: + resources: + - repo-checker + tasks: + - script: ./project-installcheck.py -A https://api.suse.de --debug check --store SUSE:ALP:Products:Dolomite:1.0:Staging/dashboard --no-rebuild SUSE:ALP:Products:Dolomite:1.0 + ALP.Dolomite.Staging.Bot.Regular: + group: ALP.Checkers + lock_behavior: unlockWhenFinished + timer: + spec: 0 0 * ? * * + environment_variables: + OSC_CONFIG: /home/go/config/oscrc-staging-bot + materials: + git: + git: https://github.com/openSUSE/openSUSE-release-tools.git + stages: + - Run: + approval: + type: manual + jobs: + Run: + timeout: 30 + resources: + - staging-bot + tasks: + - script: |- + set -e + tempdir=$(mktemp -d) + mkdir -p $tempdir/.osc-plugins + ln -s $PWD/osc-staging.py $tempdir/.osc-plugins + ln -s $PWD/osclib $tempdir/.osc-plugins + export HOME=$tempdir + + osc -A https://api.suse.de staging -p SUSE:ALP:Products:Dolomite:1.0 rebuild + osc -A https://api.suse.de staging -p SUSE:ALP:Products:Dolomite:1.0 list --supersede + osc -A https://api.suse.de staging -p SUSE:ALP:Products:Dolomite:1.0 select --non-interactive --merge --try-strategies + osc -A https://api.suse.de staging -p SUSE:ALP:Products:Dolomite:1.0 unselect --cleanup + osc -A https://api.suse.de staging -p SUSE:ALP:Products:Dolomite:1.0 repair --cleanup + rm -rf $tempdir ALP.Source.Standard.1_0.Staging.Bot.Regular: group: ALP.Checkers lock_behavior: unlockWhenFinished @@ -33,6 +88,27 @@ osc -A https://api.suse.de staging -p SUSE:ALP:Source:Standard:1.0 unselect --cleanup osc -A https://api.suse.de staging -p SUSE:ALP:Source:Standard:1.0 repair --cleanup rm -rf $tempdir + ALP.Dolomite.Staging.Bot.Report: + group: ALP.Checkers + lock_behavior: unlockWhenFinished + timer: + spec: 0 */3 * ? * * + environment_variables: + OSC_CONFIG: /home/go/config/oscrc-staging-bot + materials: + git: + git: https://github.com/openSUSE/openSUSE-release-tools.git + stages: + - Run: + approval: + type: manual + jobs: + Run: + timeout: 30 + resources: + - staging-bot + tasks: + - script: ./staging-report.py --debug -A https://api.suse.de -p SUSE:ALP:Products:Dolomite:1.0 ALP.Source.Standard.1_0.Staging.Bot.Report: group: ALP.Checkers lock_behavior: unlockWhenFinished diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20231213.02b3886/gocd/checkers.alp.gocd.yaml.erb new/openSUSE-release-tools-20240110.8329809/gocd/checkers.alp.gocd.yaml.erb --- old/openSUSE-release-tools-20231213.02b3886/gocd/checkers.alp.gocd.yaml.erb 2023-12-13 08:16:21.000000000 +0100 +++ new/openSUSE-release-tools-20240110.8329809/gocd/checkers.alp.gocd.yaml.erb 2024-01-10 11:51:44.000000000 +0100 @@ -1,5 +1,60 @@ format_version: 3 pipelines: + ALP.Dolomite.Project: + group: ALP.Checkers + lock_behavior: unlockWhenFinished + timer: + spec: 0 0 * ? * * + only_on_changes: false + materials: + git: + git: https://github.com/openSUSE/openSUSE-release-tools.git + environment_variables: + OSC_CONFIG: /home/go/config/oscrc-repo-checker + stages: + - Run: + timeout: 30 + approval: manual + jobs: + ALP.Dolomite: + resources: + - repo-checker + tasks: + - script: ./project-installcheck.py -A https://api.suse.de --debug check --store SUSE:ALP:Products:Dolomite:1.0:Staging/dashboard --no-rebuild SUSE:ALP:Products:Dolomite:1.0 + ALP.Dolomite.Staging.Bot.Regular: + group: ALP.Checkers + lock_behavior: unlockWhenFinished + timer: + spec: 0 0 * ? * * + environment_variables: + OSC_CONFIG: /home/go/config/oscrc-staging-bot + materials: + git: + git: https://github.com/openSUSE/openSUSE-release-tools.git + stages: + - Run: + approval: + type: manual + jobs: + Run: + timeout: 30 + resources: + - staging-bot + tasks: + - script: |- + set -e + tempdir=$(mktemp -d) + mkdir -p $tempdir/.osc-plugins + ln -s $PWD/osc-staging.py $tempdir/.osc-plugins + ln -s $PWD/osclib $tempdir/.osc-plugins + export HOME=$tempdir + + osc -A https://api.suse.de staging -p SUSE:ALP:Products:Dolomite:1.0 rebuild + osc -A https://api.suse.de staging -p SUSE:ALP:Products:Dolomite:1.0 list --supersede + osc -A https://api.suse.de staging -p SUSE:ALP:Products:Dolomite:1.0 select --non-interactive --merge --try-strategies + osc -A https://api.suse.de staging -p SUSE:ALP:Products:Dolomite:1.0 unselect --cleanup + osc -A https://api.suse.de staging -p SUSE:ALP:Products:Dolomite:1.0 repair --cleanup + rm -rf $tempdir ALP.Source.Standard.1_0.Staging.Bot.Regular: group: ALP.Checkers lock_behavior: unlockWhenFinished @@ -33,6 +88,27 @@ osc -A https://api.suse.de staging -p SUSE:ALP:Source:Standard:1.0 unselect --cleanup osc -A https://api.suse.de staging -p SUSE:ALP:Source:Standard:1.0 repair --cleanup rm -rf $tempdir + ALP.Dolomite.Staging.Bot.Report: + group: ALP.Checkers + lock_behavior: unlockWhenFinished + timer: + spec: 0 */3 * ? * * + environment_variables: + OSC_CONFIG: /home/go/config/oscrc-staging-bot + materials: + git: + git: https://github.com/openSUSE/openSUSE-release-tools.git + stages: + - Run: + approval: + type: manual + jobs: + Run: + timeout: 30 + resources: + - staging-bot + tasks: + - script: ./staging-report.py --debug -A https://api.suse.de -p SUSE:ALP:Products:Dolomite:1.0 ALP.Source.Standard.1_0.Staging.Bot.Report: group: ALP.Checkers lock_behavior: unlockWhenFinished diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20231213.02b3886/gocd/dolomite-stagings.gocd.yaml new/openSUSE-release-tools-20240110.8329809/gocd/dolomite-stagings.gocd.yaml --- old/openSUSE-release-tools-20231213.02b3886/gocd/dolomite-stagings.gocd.yaml 1970-01-01 01:00:00.000000000 +0100 +++ new/openSUSE-release-tools-20240110.8329809/gocd/dolomite-stagings.gocd.yaml 2024-01-10 11:51:44.000000000 +0100 @@ -0,0 +1,154 @@ +--- +format_version: 3 +pipelines: + Dolomite.Stagings.RelPkgs: + environment_variables: + OSC_CONFIG: /home/go/config/oscrc-staging-bot + group: ALP.Target + lock_behavior: unlockWhenFinished + timer: + spec: 0 0 * ? * * + only_on_changes: false + materials: + scripts: + git: https://github.com/openSUSE/openSUSE-release-tools.git + stages: + - Generate.Release.Package: + approval: manual + jobs: + Dolomite.Staging.A: + resources: + - repo-checker + tasks: + - script: ./pkglistgen.py -A https://api.suse.de update_and_solve + --staging SUSE:ALP:Products:Dolomite:1.0:Staging:A + --only-release-packages --force + Dolomite.Staging.B: + resources: + - repo-checker + tasks: + - script: ./pkglistgen.py -A https://api.suse.de update_and_solve + --staging SUSE:ALP:Products:Dolomite:1.0:Staging:B + --only-release-packages --force + + Dolomite.Staging.A: + environment_variables: + STAGING_PROJECT: SUSE:ALP:Products:Dolomite:1.0:Staging:A + STAGING_API: https://api.suse.de + OSC_CONFIG: /home/go/config/oscrc-staging-bot + group: ALP.Target + lock_behavior: unlockWhenFinished + materials: + stagings: + git: git://botmaster.suse.de/suse-repos.git + auto_update: true + destination: repos + whitelist: + - SUSE:ALP:Products:Dolomite:1.0:Staging:A_-_standard.yaml + scripts: + auto_update: true + git: https://github.com/openSUSE/openSUSE-release-tools.git + whitelist: + - DO_NOT_TRIGGER + destination: scripts + stages: + - Checks: + jobs: + Check.Build.Succeeds: + resources: + - staging-bot + tasks: + - script: |- + export PYTHONPATH=$PWD/scripts + cd scripts/gocd + ./report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s pending + ./verify-repo-built-successful.py -A $STAGING_API -p $STAGING_PROJECT -r standard + Repo.Checker: + environment_variables: + OSC_CONFIG: /home/go/config/oscrc-staging-bot + resources: + - repo-checker + tasks: + - script: ./scripts/staging-installcheck.py -A $STAGING_API -p SUSE:ALP:Products:Dolomite:1.0 -s $STAGING_PROJECT + - Update.000product: + resources: + - repo-checker + tasks: + - script: |- + export PYTHONPATH=$PWD/scripts + cd scripts/gocd + + if ../pkglistgen.py --debug -A $STAGING_API update_and_solve --staging $STAGING_PROJECT --force; then + ./report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s success + else + ./report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s failure + exit 1 + fi + + - Enable.images.repo: + resources: + - staging-bot + tasks: + - script: |- + osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=images&flag=build" + + Dolomite.Staging.B: + environment_variables: + STAGING_PROJECT: SUSE:ALP:Products:Dolomite:1.0:Staging:B + STAGING_API: https://api.suse.de + OSC_CONFIG: /home/go/config/oscrc-staging-bot + group: ALP.Target + lock_behavior: unlockWhenFinished + materials: + stagings: + git: git://botmaster.suse.de/suse-repos.git + auto_update: true + destination: repos + whitelist: + - SUSE:ALP:Products:Dolomite:1.0:Staging:B_-_standard.yaml + scripts: + auto_update: true + git: https://github.com/openSUSE/openSUSE-release-tools.git + whitelist: + - DO_NOT_TRIGGER + destination: scripts + stages: + - Checks: + jobs: + Check.Build.Succeeds: + resources: + - staging-bot + tasks: + - script: |- + export PYTHONPATH=$PWD/scripts + cd scripts/gocd + ./report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s pending + ./verify-repo-built-successful.py -A $STAGING_API -p $STAGING_PROJECT -r standard + Repo.Checker: + environment_variables: + OSC_CONFIG: /home/go/config/oscrc-staging-bot + resources: + - repo-checker + tasks: + - script: ./scripts/staging-installcheck.py -A $STAGING_API -p SUSE:ALP:Products:Dolomite:1.0 -s $STAGING_PROJECT + - Update.000product: + resources: + - repo-checker + tasks: + - script: |- + export PYTHONPATH=$PWD/scripts + cd scripts/gocd + + if ../pkglistgen.py --debug -A $STAGING_API update_and_solve --staging $STAGING_PROJECT --force; then + ./report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s success + else + ./report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s failure + exit 1 + fi + + - Enable.images.repo: + resources: + - staging-bot + tasks: + - script: |- + osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=images&flag=build" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20231213.02b3886/gocd/dolomite-stagings.gocd.yaml.erb new/openSUSE-release-tools-20240110.8329809/gocd/dolomite-stagings.gocd.yaml.erb --- old/openSUSE-release-tools-20231213.02b3886/gocd/dolomite-stagings.gocd.yaml.erb 1970-01-01 01:00:00.000000000 +0100 +++ new/openSUSE-release-tools-20240110.8329809/gocd/dolomite-stagings.gocd.yaml.erb 2024-01-10 11:51:44.000000000 +0100 @@ -0,0 +1,90 @@ +--- +<% stagings = %w(A B) -%> +format_version: 3 +pipelines: + Dolomite.Stagings.RelPkgs: + environment_variables: + OSC_CONFIG: /home/go/config/oscrc-staging-bot + group: ALP.Target + lock_behavior: unlockWhenFinished + timer: + spec: 0 0 * ? * * + only_on_changes: false + materials: + scripts: + git: https://github.com/openSUSE/openSUSE-release-tools.git + stages: + - Generate.Release.Package: + approval: manual + jobs: +<% stagings.each do |letter| -%> + Dolomite.Staging.<%= letter %>: + resources: + - repo-checker + tasks: + - script: ./pkglistgen.py -A https://api.suse.de update_and_solve + --staging SUSE:ALP:Products:Dolomite:1.0:Staging:<%= letter %> + --only-release-packages --force +<% end -%> +<% stagings.each do |letter| %> + Dolomite.Staging.<%= letter %>: + environment_variables: + STAGING_PROJECT: SUSE:ALP:Products:Dolomite:1.0:Staging:<%= letter %> + STAGING_API: https://api.suse.de + OSC_CONFIG: /home/go/config/oscrc-staging-bot + group: ALP.Target + lock_behavior: unlockWhenFinished + materials: + stagings: + git: git://botmaster.suse.de/suse-repos.git + auto_update: true + destination: repos + whitelist: + - SUSE:ALP:Products:Dolomite:1.0:Staging:<%= letter %>_-_standard.yaml + scripts: + auto_update: true + git: https://github.com/openSUSE/openSUSE-release-tools.git + whitelist: + - DO_NOT_TRIGGER + destination: scripts + stages: + - Checks: + jobs: + Check.Build.Succeeds: + resources: + - staging-bot + tasks: + - script: |- + export PYTHONPATH=$PWD/scripts + cd scripts/gocd + ./report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s pending + ./verify-repo-built-successful.py -A $STAGING_API -p $STAGING_PROJECT -r standard + Repo.Checker: + environment_variables: + OSC_CONFIG: /home/go/config/oscrc-staging-bot + resources: + - repo-checker + tasks: + - script: ./scripts/staging-installcheck.py -A $STAGING_API -p SUSE:ALP:Products:Dolomite:1.0 -s $STAGING_PROJECT + - Update.000product: + resources: + - repo-checker + tasks: + - script: |- + export PYTHONPATH=$PWD/scripts + cd scripts/gocd + + if ../pkglistgen.py --debug -A $STAGING_API update_and_solve --staging $STAGING_PROJECT --force; then + ./report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s success + else + ./report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s failure + exit 1 + fi + + - Enable.images.repo: + resources: + - staging-bot + tasks: + - script: |- + osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=images&flag=build" +<% end -%> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20231213.02b3886/gocd/microos.target.gocd.yaml new/openSUSE-release-tools-20240110.8329809/gocd/microos.target.gocd.yaml --- old/openSUSE-release-tools-20231213.02b3886/gocd/microos.target.gocd.yaml 2023-12-13 08:16:21.000000000 +0100 +++ new/openSUSE-release-tools-20240110.8329809/gocd/microos.target.gocd.yaml 2024-01-10 11:51:44.000000000 +0100 @@ -40,6 +40,12 @@ for product in 000product SLE-Micro; do osc -A https://api.suse.de release SUSE:ALP:Products:Marble:6.0 $product done + sleep 600 + while (osc -A https://api.suse.de/ api "/build/SUSE:ALP:Products:Marble:6.0:ToTest/_result?view=summary&repository=images" | grep "result project" | grep -v 'code="published" state="published">'); do + echo PENDING + sleep 600 + done + osc -A https://api.suse.de/ api "/build/SUSE:ALP:Products:Marble:6.0:ToTest/_result?view=summary&repository=images" | grep "result project" | grep 'code="published" state="published">' && echo PUBLISHED - Release.Images.To.Publish: approval: manual @@ -50,4 +56,11 @@ resources: - staging-bot tasks: - - script: osc -A https://api.suse.de release SUSE:ALP:Products:Marble:6.0:ToTest + - script: |- + osc -A https://api.suse.de release SUSE:ALP:Products:Marble:6.0:ToTest + sleep 600 + while (osc -A https://api.suse.de/ api "/build/SUSE:ALP:Products:Marble:6.0:PUBLISH/_result?view=summary&repository=images" | grep "result project" | grep -v 'code="published" state="published">'); do + echo PENDING + sleep 600 + done + osc -A https://api.suse.de/ api "/build/SUSE:ALP:Products:Marble:6.0:PUBLISH/_result?view=summary&repository=images" | grep "result project" | grep 'code="published" state="published">' && echo PUBLISHED ++++++ openSUSE-release-tools.obsinfo ++++++ --- /var/tmp/diff_new_pack.dFUV0l/_old 2024-01-17 22:19:17.287788612 +0100 +++ /var/tmp/diff_new_pack.dFUV0l/_new 2024-01-17 22:19:17.291788758 +0100 @@ -1,5 +1,5 @@ name: openSUSE-release-tools -version: 20231213.02b3886 -mtime: 1702451781 -commit: 02b3886bf34722f94374432766a37e7630f5d835 +version: 20240110.8329809 +mtime: 1704883904 +commit: 8329809782a420f197f3e7b17fd37ea864c13650