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 - [email protected]
+
+- 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 - [email protected]
+
+- 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 - [email protected]
+
+- 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