--- format_version: 3 pipelines: SUSE.SLFO.Main.Staging.Weekly.Freeze: environment_variables: SLFO_PROJECT: SUSE:SLFO:Main SLFO_RING_1_PROJECT: SUSE:SLFO:Main:Staging:Rings:1-MinimalX STAGING_API: https://api.suse.de OSC_CONFIG: /home/go/config/oscrc-staging-bot group: SLFO.Stagings lock_behavior: unlockWhenFinished timer: spec: "0 0 0-23 ? * SUN" materials: scripts: auto_update: true git: https://github.com/openSUSE/openSUSE-release-tools.git whitelist: - DO_NOT_TRIGGER destination: scripts stages: - Check.Ring.1.Finished: timeout: 50 resources: - staging-bot tasks: - script: |- set -eu export PYTHONPATH=$PWD/scripts cd scripts/gocd status="$(osc -A $STAGING_API api /build/$SLFO_RING_1_PROJECT/standard/x86_64?view=status | grep 'code=' | sed -E 's/^.*code="(.*)".*$/\1/')" echo $SLFO_RING_1_PROJECT status: "${status}" if [ printf '%s' "${status}" | grep -q finished ]; then exit 0 else exit 1 fi - Freeze.stagings: ## 6 hours (at most 30 minutes per staging) timeout: 360 resources: - staging-bot tasks: - script: |- set -eu export PYTHONPATH=$PWD/scripts for letter in A B C D E F G H S V Y ; do ## if the staging was frozen today, skip it if ! osc -A $STAGING_API meta attribute "${SLFO_PROJECT}:Staging:${letter}" --attribute OSRT:FreezeTime | grep $(date +%Y-%m-%d); then osc -A $STAGING_API staging freeze -p $SLFO_PROJECT $letter else echo Skipping "${SLFO_PROJECT}:Staging:${letter}" fi done SUSE.SLFO.Main.Staging.A: environment_variables: STAGING_PROJECT: SUSE:SLFO:Main:Staging:A STAGING_API: https://api.suse.de OSC_CONFIG: /home/go/config/oscrc-staging-bot group: SLFO.Stagings lock_behavior: unlockWhenFinished materials: stagings: git: git://botmaster.suse.de/suse-repos.git auto_update: true destination: repos whitelist: - SUSE:SLFO:Main: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:SLFO:Main -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 --engine product_composer --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 - Build.product: timeout: 180 resources: - staging-bot tasks: - script: |- osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=product&flag=build" export PYTHONPATH=$PWD/scripts while ./scripts/gocd/verify-repo-built-successful.py -A $STAGING_API -p $STAGING_PROJECT -r product; ret=$?; [ ${ret} -ne 0 ]; do if [ ${ret} -eq 2 ]; then echo "product repository not found. Project configuration issue?" >&2 exit 1 fi sleep 60 done - 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" export PYTHONPATH=$PWD/scripts while osc -A $STAGING_API api "/build/$STAGING_PROJECT/_result?view=summary&repository=images" | grep 'dirty=.true.'; do sleep 60 done ./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success SUSE.SLFO.Main.Staging.B: environment_variables: STAGING_PROJECT: SUSE:SLFO:Main:Staging:B STAGING_API: https://api.suse.de OSC_CONFIG: /home/go/config/oscrc-staging-bot group: SLFO.Stagings lock_behavior: unlockWhenFinished materials: stagings: git: git://botmaster.suse.de/suse-repos.git auto_update: true destination: repos whitelist: - SUSE:SLFO:Main: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:SLFO:Main -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 --engine product_composer --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 - Build.product: timeout: 180 resources: - staging-bot tasks: - script: |- osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=product&flag=build" export PYTHONPATH=$PWD/scripts while ./scripts/gocd/verify-repo-built-successful.py -A $STAGING_API -p $STAGING_PROJECT -r product; ret=$?; [ ${ret} -ne 0 ]; do if [ ${ret} -eq 2 ]; then echo "product repository not found. Project configuration issue?" >&2 exit 1 fi sleep 60 done - 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" export PYTHONPATH=$PWD/scripts while osc -A $STAGING_API api "/build/$STAGING_PROJECT/_result?view=summary&repository=images" | grep 'dirty=.true.'; do sleep 60 done ./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success SUSE.SLFO.Main.Staging.C: environment_variables: STAGING_PROJECT: SUSE:SLFO:Main:Staging:C STAGING_API: https://api.suse.de OSC_CONFIG: /home/go/config/oscrc-staging-bot group: SLFO.Stagings lock_behavior: unlockWhenFinished materials: stagings: git: git://botmaster.suse.de/suse-repos.git auto_update: true destination: repos whitelist: - SUSE:SLFO:Main:Staging:C_-_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:SLFO:Main -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 --engine product_composer --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 - Build.product: timeout: 180 resources: - staging-bot tasks: - script: |- osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=product&flag=build" export PYTHONPATH=$PWD/scripts while ./scripts/gocd/verify-repo-built-successful.py -A $STAGING_API -p $STAGING_PROJECT -r product; ret=$?; [ ${ret} -ne 0 ]; do if [ ${ret} -eq 2 ]; then echo "product repository not found. Project configuration issue?" >&2 exit 1 fi sleep 60 done - 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" export PYTHONPATH=$PWD/scripts while osc -A $STAGING_API api "/build/$STAGING_PROJECT/_result?view=summary&repository=images" | grep 'dirty=.true.'; do sleep 60 done ./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success SUSE.SLFO.Main.Staging.D: environment_variables: STAGING_PROJECT: SUSE:SLFO:Main:Staging:D STAGING_API: https://api.suse.de OSC_CONFIG: /home/go/config/oscrc-staging-bot group: SLFO.Stagings lock_behavior: unlockWhenFinished materials: stagings: git: git://botmaster.suse.de/suse-repos.git auto_update: true destination: repos whitelist: - SUSE:SLFO:Main:Staging:D_-_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:SLFO:Main -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 --engine product_composer --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 - Build.product: timeout: 180 resources: - staging-bot tasks: - script: |- osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=product&flag=build" export PYTHONPATH=$PWD/scripts while ./scripts/gocd/verify-repo-built-successful.py -A $STAGING_API -p $STAGING_PROJECT -r product; ret=$?; [ ${ret} -ne 0 ]; do if [ ${ret} -eq 2 ]; then echo "product repository not found. Project configuration issue?" >&2 exit 1 fi sleep 60 done - 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" export PYTHONPATH=$PWD/scripts while osc -A $STAGING_API api "/build/$STAGING_PROJECT/_result?view=summary&repository=images" | grep 'dirty=.true.'; do sleep 60 done ./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success SUSE.SLFO.Main.Staging.E: environment_variables: STAGING_PROJECT: SUSE:SLFO:Main:Staging:E STAGING_API: https://api.suse.de OSC_CONFIG: /home/go/config/oscrc-staging-bot group: SLFO.Stagings lock_behavior: unlockWhenFinished materials: stagings: git: git://botmaster.suse.de/suse-repos.git auto_update: true destination: repos whitelist: - SUSE:SLFO:Main:Staging:E_-_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:SLFO:Main -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 --engine product_composer --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 - Build.product: timeout: 180 resources: - staging-bot tasks: - script: |- osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=product&flag=build" export PYTHONPATH=$PWD/scripts while ./scripts/gocd/verify-repo-built-successful.py -A $STAGING_API -p $STAGING_PROJECT -r product; ret=$?; [ ${ret} -ne 0 ]; do if [ ${ret} -eq 2 ]; then echo "product repository not found. Project configuration issue?" >&2 exit 1 fi sleep 60 done - 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" export PYTHONPATH=$PWD/scripts while osc -A $STAGING_API api "/build/$STAGING_PROJECT/_result?view=summary&repository=images" | grep 'dirty=.true.'; do sleep 60 done ./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success SUSE.SLFO.Main.Staging.F: environment_variables: STAGING_PROJECT: SUSE:SLFO:Main:Staging:F STAGING_API: https://api.suse.de OSC_CONFIG: /home/go/config/oscrc-staging-bot group: SLFO.Stagings lock_behavior: unlockWhenFinished materials: stagings: git: git://botmaster.suse.de/suse-repos.git auto_update: true destination: repos whitelist: - SUSE:SLFO:Main:Staging:F_-_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:SLFO:Main -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 --engine product_composer --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 - Build.product: timeout: 180 resources: - staging-bot tasks: - script: |- osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=product&flag=build" export PYTHONPATH=$PWD/scripts while ./scripts/gocd/verify-repo-built-successful.py -A $STAGING_API -p $STAGING_PROJECT -r product; ret=$?; [ ${ret} -ne 0 ]; do if [ ${ret} -eq 2 ]; then echo "product repository not found. Project configuration issue?" >&2 exit 1 fi sleep 60 done - 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" export PYTHONPATH=$PWD/scripts while osc -A $STAGING_API api "/build/$STAGING_PROJECT/_result?view=summary&repository=images" | grep 'dirty=.true.'; do sleep 60 done ./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success SUSE.SLFO.Main.Staging.G: environment_variables: STAGING_PROJECT: SUSE:SLFO:Main:Staging:G STAGING_API: https://api.suse.de OSC_CONFIG: /home/go/config/oscrc-staging-bot group: SLFO.Stagings lock_behavior: unlockWhenFinished materials: stagings: git: git://botmaster.suse.de/suse-repos.git auto_update: true destination: repos whitelist: - SUSE:SLFO:Main:Staging:G_-_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:SLFO:Main -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 --engine product_composer --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 - Build.product: timeout: 180 resources: - staging-bot tasks: - script: |- osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=product&flag=build" export PYTHONPATH=$PWD/scripts while ./scripts/gocd/verify-repo-built-successful.py -A $STAGING_API -p $STAGING_PROJECT -r product; ret=$?; [ ${ret} -ne 0 ]; do if [ ${ret} -eq 2 ]; then echo "product repository not found. Project configuration issue?" >&2 exit 1 fi sleep 60 done - 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" export PYTHONPATH=$PWD/scripts while osc -A $STAGING_API api "/build/$STAGING_PROJECT/_result?view=summary&repository=images" | grep 'dirty=.true.'; do sleep 60 done ./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success SUSE.SLFO.Main.Staging.H: environment_variables: STAGING_PROJECT: SUSE:SLFO:Main:Staging:H STAGING_API: https://api.suse.de OSC_CONFIG: /home/go/config/oscrc-staging-bot group: SLFO.Stagings lock_behavior: unlockWhenFinished materials: stagings: git: git://botmaster.suse.de/suse-repos.git auto_update: true destination: repos whitelist: - SUSE:SLFO:Main:Staging:H_-_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:SLFO:Main -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 --engine product_composer --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 - Build.product: timeout: 180 resources: - staging-bot tasks: - script: |- osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=product&flag=build" export PYTHONPATH=$PWD/scripts while ./scripts/gocd/verify-repo-built-successful.py -A $STAGING_API -p $STAGING_PROJECT -r product; ret=$?; [ ${ret} -ne 0 ]; do if [ ${ret} -eq 2 ]; then echo "product repository not found. Project configuration issue?" >&2 exit 1 fi sleep 60 done - 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" export PYTHONPATH=$PWD/scripts while osc -A $STAGING_API api "/build/$STAGING_PROJECT/_result?view=summary&repository=images" | grep 'dirty=.true.'; do sleep 60 done ./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success SUSE.SLFO.Main.Staging.S: environment_variables: STAGING_PROJECT: SUSE:SLFO:Main:Staging:S STAGING_API: https://api.suse.de OSC_CONFIG: /home/go/config/oscrc-staging-bot group: SLFO.Stagings lock_behavior: unlockWhenFinished materials: stagings: git: git://botmaster.suse.de/suse-repos.git auto_update: true destination: repos whitelist: - SUSE:SLFO:Main:Staging:S_-_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:SLFO:Main -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 --engine product_composer --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 - Build.product: timeout: 180 resources: - staging-bot tasks: - script: |- osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=product&flag=build" export PYTHONPATH=$PWD/scripts while ./scripts/gocd/verify-repo-built-successful.py -A $STAGING_API -p $STAGING_PROJECT -r product; ret=$?; [ ${ret} -ne 0 ]; do if [ ${ret} -eq 2 ]; then echo "product repository not found. Project configuration issue?" >&2 exit 1 fi sleep 60 done - 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" export PYTHONPATH=$PWD/scripts while osc -A $STAGING_API api "/build/$STAGING_PROJECT/_result?view=summary&repository=images" | grep 'dirty=.true.'; do sleep 60 done ./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success SUSE.SLFO.Main.Staging.V: environment_variables: STAGING_PROJECT: SUSE:SLFO:Main:Staging:V STAGING_API: https://api.suse.de OSC_CONFIG: /home/go/config/oscrc-staging-bot group: SLFO.Stagings lock_behavior: unlockWhenFinished materials: stagings: git: git://botmaster.suse.de/suse-repos.git auto_update: true destination: repos whitelist: - SUSE:SLFO:Main:Staging:V_-_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:SLFO:Main -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 --engine product_composer --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 - Build.product: timeout: 180 resources: - staging-bot tasks: - script: |- osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=product&flag=build" export PYTHONPATH=$PWD/scripts while ./scripts/gocd/verify-repo-built-successful.py -A $STAGING_API -p $STAGING_PROJECT -r product; ret=$?; [ ${ret} -ne 0 ]; do if [ ${ret} -eq 2 ]; then echo "product repository not found. Project configuration issue?" >&2 exit 1 fi sleep 60 done - 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" export PYTHONPATH=$PWD/scripts while osc -A $STAGING_API api "/build/$STAGING_PROJECT/_result?view=summary&repository=images" | grep 'dirty=.true.'; do sleep 60 done ./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success SUSE.SLFO.Main.Staging.Y: environment_variables: STAGING_PROJECT: SUSE:SLFO:Main:Staging:Y STAGING_API: https://api.suse.de OSC_CONFIG: /home/go/config/oscrc-staging-bot group: SLFO.Stagings lock_behavior: unlockWhenFinished materials: stagings: git: git://botmaster.suse.de/suse-repos.git auto_update: true destination: repos whitelist: - SUSE:SLFO:Main:Staging:Y_-_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:SLFO:Main -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 --engine product_composer --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 - Build.product: timeout: 180 resources: - staging-bot tasks: - script: |- osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=product&flag=build" export PYTHONPATH=$PWD/scripts while ./scripts/gocd/verify-repo-built-successful.py -A $STAGING_API -p $STAGING_PROJECT -r product; ret=$?; [ ${ret} -ne 0 ]; do if [ ${ret} -eq 2 ]; then echo "product repository not found. Project configuration issue?" >&2 exit 1 fi sleep 60 done - 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" export PYTHONPATH=$PWD/scripts while osc -A $STAGING_API api "/build/$STAGING_PROJECT/_result?view=summary&repository=images" | grep 'dirty=.true.'; do sleep 60 done ./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success