format_version: 3 pipelines: SLE15.SP5.Images: group: SLE15.Target lock_behavior: unlockWhenFinished materials: repos: git: git://botmaster.suse.de/suse-repos.git auto_update: true whitelist: - SUSE:SLE-15-SP5:GA_-_images.yaml destination: repos scripts: auto_update: true git: https://github.com/openSUSE/openSUSE-release-tools.git whitelist: - DO_NOT_TRIGGER destination: scripts environment_variables: OSC_CONFIG: /home/go/config/oscrc-staging-bot stages: - Expect.Images.To.Finish: resources: - staging-bot tasks: - script: | export PYTHONPATH=scripts set -e ./scripts/gocd/verify-repo-built-successful.py -A https://api.suse.de -p SUSE:SLE-15-SP5:GA -r containerfile ./scripts/gocd/verify-repo-built-successful.py -A https://api.suse.de -p SUSE:SLE-15-SP5:GA -r images - Release.Images.To.Test: approval: manual roles: - SLE environment_variables: OSC_CONFIG: /home/go/config/oscrc-totest-manager resources: - staging-bot tasks: - script: |- set -e CONTAINERS=$(osc -A https://api.suse.de ls SUSE:SLE-15-SP5:GA | grep "^\(cdi\|virt\)-.*-container") for container in $CONTAINERS; do osc -A https://api.suse.de release --target-project=SUSE:SLE-15-SP5:GA:TEST --target-repository=containers -r containerfile SUSE:SLE-15-SP5:GA $container done osc -A https://api.suse.de release --target-project=SUSE:SLE-15-SP5:GA:TEST --target-repository=containers -r images SUSE:SLE-15-SP5:GA sles15-image PRODUCTS=$(osc -A https://api.suse.de ls SUSE:SLE-15-SP5:GA | grep "^SLES15-SP5" | grep -v release | grep -v : ||:) if [ -z "${PRODUCTS}" ]; then echo "[WARNNING] There is no cloud image to be released" fi for product in kiwi-templates-Minimal 000product $PRODUCTS; do osc -A https://api.suse.de release SUSE:SLE-15-SP5:GA $product done sleep 600 while (osc -A https://api.suse.de/ api "/build/SUSE:SLE-15-SP5:GA:TEST/_result?view=summary&repository=containers" | grep "result project" | grep -v 'code="published" state="published">'); do echo PENDING sleep 600 done osc -A https://api.suse.de/ api "/build/SUSE:SLE-15-SP5:GA:TEST/_result?view=summary&repository=containers" | grep "result project" | grep 'code="published" state="published">' && echo PUBLISHED while (osc -A https://api.suse.de/ api "/build/SUSE:SLE-15-SP5:GA:TEST/_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:SLE-15-SP5:GA:TEST/_result?view=summary&repository=images" | grep "result project" | grep 'code="published" state="published">' && echo PUBLISHED - Release.Images.To.Publish: approval: manual roles: - SLE environment_variables: OSC_CONFIG: /home/go/config/oscrc-totest-manager resources: - staging-bot tasks: - script: |- osc -A https://api.suse.de release SUSE:SLE-15-SP5:GA:TEST sleep 600 while (osc -A https://api.suse.de/ api "/build/SUSE:SLE-15-SP5:GA:PUBLISH/_result?view=summary&repository=containers" | grep "result project" | grep -v 'code="published" state="published">'); do echo PENDING sleep 600 done osc -A https://api.suse.de/ api "/build/SUSE:SLE-15-SP5:GA:PUBLISH/_result?view=summary&repository=containers" | grep "result project" | grep 'code="published" state="published">' && echo PUBLISHED while (osc -A https://api.suse.de/ api "/build/SUSE:SLE-15-SP5:GA: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:SLE-15-SP5:GA:PUBLISH/_result?view=summary&repository=images" | grep "result project" | grep 'code="published" state="published">' && echo PUBLISHED SLE15.SP5.Images.NEW: group: SLE15.Target lock_behavior: unlockWhenFinished materials: repos: git: git://botmaster.suse.de/suse-repos.git auto_update: true whitelist: - SUSE:SLE-15-SP5:GA_-_images.yaml destination: repos scripts: auto_update: true git: https://github.com/openSUSE/openSUSE-release-tools.git whitelist: - DO_NOT_TRIGGER destination: scripts environment_variables: OSC_CONFIG: /home/go/config/oscrc-staging-bot stages: - Expect.Images.To.Finish: resources: - staging-bot tasks: - script: | export PYTHONPATH=scripts set -e ./scripts/gocd/verify-repo-built-successful.py -A https://api.suse.de -p SUSE:SLE-15-SP5:GA -r containerfile ./scripts/gocd/verify-repo-built-successful.py -A https://api.suse.de -p SUSE:SLE-15-SP5:GA -r images - Release.Images.To.Test: approval: manual roles: - SLE environment_variables: OSC_CONFIG: /home/go/config/oscrc-totest-manager JIRA_PAT: /home/go/config/jira-pat JIRA_INSTANCE: /home/go/config/jira-instance resources: - staging-bot tasks: - script: |- sle-prjmgr-tools --jira-instance $JIRA_INSTANCE --osc-config $OSC_CONFIG ibs_to_jira --jira-pat $JIRA_PAT -p SUSE:SLE-15-SP5:GA - Release.Images.To.Publish: approval: manual roles: - SLE environment_variables: OSC_CONFIG: /home/go/config/oscrc-totest-manager resources: - staging-bot tasks: - script: |- osc -A https://api.suse.de release SUSE:SLE-15-SP5:GA:TEST sleep 600 while (osc -A https://api.suse.de/ api "/build/SUSE:SLE-15-SP5:GA:PUBLISH/_result?view=summary&repository=containers" | grep "result project" | grep -v 'code="published" state="published">'); do echo PENDING sleep 600 done osc -A https://api.suse.de/ api "/build/SUSE:SLE-15-SP5:GA:PUBLISH/_result?view=summary&repository=containers" | grep "result project" | grep 'code="published" state="published">' && echo PUBLISHED while (osc -A https://api.suse.de/ api "/build/SUSE:SLE-15-SP5:GA: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:SLE-15-SP5:GA:PUBLISH/_result?view=summary&repository=images" | grep "result project" | grep 'code="published" state="published">' && echo PUBLISHED SLE15.SP5.ImagesManual: group: SLE15.Target lock_behavior: unlockWhenFinished materials: repos: git: git://botmaster.suse.de/suse-repos.git auto_update: true whitelist: - SUSE:SLE-15-SP5:GA_-_images.yaml destination: repos scripts: auto_update: true git: https://github.com/openSUSE/openSUSE-release-tools.git whitelist: - DO_NOT_TRIGGER destination: scripts environment_variables: OSC_CONFIG: /home/go/config/oscrc-staging-bot stages: - Relase.Images.To.Test: approval: manual roles: - SLE jobs: Check.Images.Finish: resources: - staging-bot tasks: - script: | export PYTHONPATH=scripts while (! ./scripts/gocd/verify-repo-built-successful.py -A https://api.suse.de -p SUSE:SLE-15-SP5:GA -r containerfile); do sleep 300 done while (! ./scripts/gocd/verify-repo-built-successful.py -A https://api.suse.de -p SUSE:SLE-15-SP5:GA -r images); do sleep 300 done Release.To.Test: environment_variables: OSC_CONFIG: /home/go/config/oscrc-totest-manager resources: - staging-bot tasks: - script: |- set -e CONTAINERS=$(osc -A https://api.suse.de ls SUSE:SLE-15-SP5:GA | grep "^\(cdi\|virt\)-.*-container") for container in $CONTAINERS; do osc -A https://api.suse.de release --target-project=SUSE:SLE-15-SP5:GA:TEST --target-repository=containers -r containerfile SUSE:SLE-15-SP5:GA $container done osc -A https://api.suse.de release --target-project=SUSE:SLE-15-SP5:GA:TEST --target-repository=containers -r images SUSE:SLE-15-SP5:GA sles15-image PRODUCTS=$(osc -A https://api.suse.de ls SUSE:SLE-15-SP5:GA | grep "^SLES15-SP5" | grep -v release) for product in kiwi-templates-Minimal 000product $PRODUCTS; do osc -A https://api.suse.de release SUSE:SLE-15-SP5:GA $product done - Release.Images.To.Publish: approval: manual roles: - SLE environment_variables: OSC_CONFIG: /home/go/config/oscrc-totest-manager resources: - staging-bot tasks: - script: osc -A https://api.suse.de release SUSE:SLE-15-SP5:GA:TEST SLE15.SP5.ReleaseScc: group: SLE15.Target parameters: product: sle15sp5 target: MyTarget build: "0.0" materials: scripts: auto_update: true git: https://github.com/openSUSE/openSUSE-release-tools.git whitelist: - DO_NOT_TRIGGER destination: scripts stages: # "ratt" is an alias for the internal IP of the API, only available on botmaster. - Release.Images.Update: approval: manual roles: - SLE resources: - staging-bot tasks: - script: curl --verbose --max-time 3600 "http://ratt:5000/update?product=#{product}&target=#{target}&build=#{build}" - Release.Images.Rename: approval: manual roles: - SLE resources: - staging-bot tasks: - script: curl --verbose --max-time 3600 "http://ratt:5000/rename?product=#{product}&target=#{target}" - Release.Images.Sync: approval: manual roles: - SLE resources: - staging-bot tasks: - script: curl --verbose --max-time 3600 "http://ratt:5000/sync?product=#{product}&target=#{target}" - Release.Images.Release: approval: manual roles: - SLE resources: - staging-bot tasks: - script: curl --verbose --max-time 3600 "http://ratt:5000/release?product=#{product}"