216 lines
8.8 KiB
YAML
216 lines
8.8 KiB
YAML
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 ||:)
|
|
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.Test.New:
|
|
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}"
|