gocd: Add SUSE:SLFO:1.1 pipelines.
This commit is contained in:
parent
ba61d2071f
commit
2850de1852
@ -14,7 +14,7 @@ done
|
|||||||
|
|
||||||
grep group: *.yaml | cut -d: -f3 | sort -u | while read group; do
|
grep group: *.yaml | cut -d: -f3 | sort -u | while read group; do
|
||||||
case $group in
|
case $group in
|
||||||
BCI|Factory|Leap|Admin|MicroOS|Monitors|openSUSE.Checkers|SLE15.Stagings|SLE15.Target|SLE.Checkers|ALP.Stagings|ALP.Checkers|SLFO.Stagings|SLFO.Target|SLFO.Checkers|openSUSE.Legal|SUSE.Legal|SLES)
|
BCI|Factory|Leap|Admin|MicroOS|Monitors|openSUSE.Checkers|SLE15.Stagings|SLE15.Target|SLE.Checkers|ALP.Stagings|ALP.Checkers|SLFO.Stagings|SLFO.Target|SLFO.Checkers|SLFO.1.1.Stagings|SLFO.1.1.Target|openSUSE.Legal|SUSE.Legal|SLES)
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
echo "Do not create new groups without being admin and knowing the consequences - found $group"
|
echo "Do not create new groups without being admin and knowing the consequences - found $group"
|
||||||
|
@ -983,3 +983,996 @@ pipelines:
|
|||||||
sleep 60
|
sleep 60
|
||||||
done
|
done
|
||||||
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success
|
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success
|
||||||
|
SUSE.SLFO.1.1.Staging.Weekly.Freeze:
|
||||||
|
environment_variables:
|
||||||
|
SLFO_1_1_PROJECT: SUSE:SLFO:1.1
|
||||||
|
SLFO_1_1_RING_1_PROJECT: SUSE:SLFO:1.1:Staging:Rings:1-MinimalX
|
||||||
|
STAGING_API: https://api.suse.de
|
||||||
|
OSC_CONFIG: /home/go/config/oscrc-staging-bot
|
||||||
|
group: SLFO.1.1.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
|
||||||
|
stages:
|
||||||
|
- Check.Ring.1.Finished:
|
||||||
|
timeout: 50
|
||||||
|
resources:
|
||||||
|
- staging-bot
|
||||||
|
tasks:
|
||||||
|
- script: |-
|
||||||
|
set -eu
|
||||||
|
status="$(osc -A $STAGING_API api /build/$SLFO_1_1_RING_1_PROJECT/standard/x86_64?view=status | grep 'code=' | sed -E 's/^.*code="(.*)".*$/\1/')"
|
||||||
|
echo $SLFO_1_1_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
|
||||||
|
|
||||||
|
## Setup osc staging plugin
|
||||||
|
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
|
||||||
|
|
||||||
|
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_1_1_PROJECT}:Staging:${letter}" --attribute OSRT:FreezeTime | grep $(date +%Y-%m-%d); then
|
||||||
|
osc -A $STAGING_API staging freeze -p $SLFO_1_1_PROJECT $letter
|
||||||
|
else
|
||||||
|
echo "${SLFO_1_1_PROJECT}:Staging:${letter}" was frozen today, skipping it...
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
## Tear down osc staging plugin
|
||||||
|
rm -rf $tempdir
|
||||||
|
|
||||||
|
SUSE.SLFO.1.1.Staging.A:
|
||||||
|
environment_variables:
|
||||||
|
SLFO_1_1_PROJECT: SUSE:SLFO:1.1
|
||||||
|
STAGING_PROJECT: SUSE:SLFO:1.1:Staging:A
|
||||||
|
STAGING_API: https://api.suse.de
|
||||||
|
OSC_CONFIG: /home/go/config/oscrc-staging-bot
|
||||||
|
group: SLFO.1.1.Stagings
|
||||||
|
lock_behavior: unlockWhenFinished
|
||||||
|
materials:
|
||||||
|
stagings:
|
||||||
|
git: git://botmaster.suse.de/suse-repos.git
|
||||||
|
auto_update: true
|
||||||
|
destination: repos
|
||||||
|
whitelist:
|
||||||
|
- SUSE:SLFO:1.1: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 $SLFO_1_1_PROJECT -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.1.1.Staging.B:
|
||||||
|
environment_variables:
|
||||||
|
SLFO_1_1_PROJECT: SUSE:SLFO:1.1
|
||||||
|
STAGING_PROJECT: SUSE:SLFO:1.1:Staging:B
|
||||||
|
STAGING_API: https://api.suse.de
|
||||||
|
OSC_CONFIG: /home/go/config/oscrc-staging-bot
|
||||||
|
group: SLFO.1.1.Stagings
|
||||||
|
lock_behavior: unlockWhenFinished
|
||||||
|
materials:
|
||||||
|
stagings:
|
||||||
|
git: git://botmaster.suse.de/suse-repos.git
|
||||||
|
auto_update: true
|
||||||
|
destination: repos
|
||||||
|
whitelist:
|
||||||
|
- SUSE:SLFO:1.1: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 $SLFO_1_1_PROJECT -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.1.1.Staging.C:
|
||||||
|
environment_variables:
|
||||||
|
SLFO_1_1_PROJECT: SUSE:SLFO:1.1
|
||||||
|
STAGING_PROJECT: SUSE:SLFO:1.1:Staging:C
|
||||||
|
STAGING_API: https://api.suse.de
|
||||||
|
OSC_CONFIG: /home/go/config/oscrc-staging-bot
|
||||||
|
group: SLFO.1.1.Stagings
|
||||||
|
lock_behavior: unlockWhenFinished
|
||||||
|
materials:
|
||||||
|
stagings:
|
||||||
|
git: git://botmaster.suse.de/suse-repos.git
|
||||||
|
auto_update: true
|
||||||
|
destination: repos
|
||||||
|
whitelist:
|
||||||
|
- SUSE:SLFO:1.1: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 $SLFO_1_1_PROJECT -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.1.1.Staging.D:
|
||||||
|
environment_variables:
|
||||||
|
SLFO_1_1_PROJECT: SUSE:SLFO:1.1
|
||||||
|
STAGING_PROJECT: SUSE:SLFO:1.1:Staging:D
|
||||||
|
STAGING_API: https://api.suse.de
|
||||||
|
OSC_CONFIG: /home/go/config/oscrc-staging-bot
|
||||||
|
group: SLFO.1.1.Stagings
|
||||||
|
lock_behavior: unlockWhenFinished
|
||||||
|
materials:
|
||||||
|
stagings:
|
||||||
|
git: git://botmaster.suse.de/suse-repos.git
|
||||||
|
auto_update: true
|
||||||
|
destination: repos
|
||||||
|
whitelist:
|
||||||
|
- SUSE:SLFO:1.1: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 $SLFO_1_1_PROJECT -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.1.1.Staging.E:
|
||||||
|
environment_variables:
|
||||||
|
SLFO_1_1_PROJECT: SUSE:SLFO:1.1
|
||||||
|
STAGING_PROJECT: SUSE:SLFO:1.1:Staging:E
|
||||||
|
STAGING_API: https://api.suse.de
|
||||||
|
OSC_CONFIG: /home/go/config/oscrc-staging-bot
|
||||||
|
group: SLFO.1.1.Stagings
|
||||||
|
lock_behavior: unlockWhenFinished
|
||||||
|
materials:
|
||||||
|
stagings:
|
||||||
|
git: git://botmaster.suse.de/suse-repos.git
|
||||||
|
auto_update: true
|
||||||
|
destination: repos
|
||||||
|
whitelist:
|
||||||
|
- SUSE:SLFO:1.1: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 $SLFO_1_1_PROJECT -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.1.1.Staging.F:
|
||||||
|
environment_variables:
|
||||||
|
SLFO_1_1_PROJECT: SUSE:SLFO:1.1
|
||||||
|
STAGING_PROJECT: SUSE:SLFO:1.1:Staging:F
|
||||||
|
STAGING_API: https://api.suse.de
|
||||||
|
OSC_CONFIG: /home/go/config/oscrc-staging-bot
|
||||||
|
group: SLFO.1.1.Stagings
|
||||||
|
lock_behavior: unlockWhenFinished
|
||||||
|
materials:
|
||||||
|
stagings:
|
||||||
|
git: git://botmaster.suse.de/suse-repos.git
|
||||||
|
auto_update: true
|
||||||
|
destination: repos
|
||||||
|
whitelist:
|
||||||
|
- SUSE:SLFO:1.1: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 $SLFO_1_1_PROJECT -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.1.1.Staging.G:
|
||||||
|
environment_variables:
|
||||||
|
SLFO_1_1_PROJECT: SUSE:SLFO:1.1
|
||||||
|
STAGING_PROJECT: SUSE:SLFO:1.1:Staging:G
|
||||||
|
STAGING_API: https://api.suse.de
|
||||||
|
OSC_CONFIG: /home/go/config/oscrc-staging-bot
|
||||||
|
group: SLFO.1.1.Stagings
|
||||||
|
lock_behavior: unlockWhenFinished
|
||||||
|
materials:
|
||||||
|
stagings:
|
||||||
|
git: git://botmaster.suse.de/suse-repos.git
|
||||||
|
auto_update: true
|
||||||
|
destination: repos
|
||||||
|
whitelist:
|
||||||
|
- SUSE:SLFO:1.1: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 $SLFO_1_1_PROJECT -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.1.1.Staging.H:
|
||||||
|
environment_variables:
|
||||||
|
SLFO_1_1_PROJECT: SUSE:SLFO:1.1
|
||||||
|
STAGING_PROJECT: SUSE:SLFO:1.1:Staging:H
|
||||||
|
STAGING_API: https://api.suse.de
|
||||||
|
OSC_CONFIG: /home/go/config/oscrc-staging-bot
|
||||||
|
group: SLFO.1.1.Stagings
|
||||||
|
lock_behavior: unlockWhenFinished
|
||||||
|
materials:
|
||||||
|
stagings:
|
||||||
|
git: git://botmaster.suse.de/suse-repos.git
|
||||||
|
auto_update: true
|
||||||
|
destination: repos
|
||||||
|
whitelist:
|
||||||
|
- SUSE:SLFO:1.1: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 $SLFO_1_1_PROJECT -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.1.1.Staging.S:
|
||||||
|
environment_variables:
|
||||||
|
SLFO_1_1_PROJECT: SUSE:SLFO:1.1
|
||||||
|
STAGING_PROJECT: SUSE:SLFO:1.1:Staging:S
|
||||||
|
STAGING_API: https://api.suse.de
|
||||||
|
OSC_CONFIG: /home/go/config/oscrc-staging-bot
|
||||||
|
group: SLFO.1.1.Stagings
|
||||||
|
lock_behavior: unlockWhenFinished
|
||||||
|
materials:
|
||||||
|
stagings:
|
||||||
|
git: git://botmaster.suse.de/suse-repos.git
|
||||||
|
auto_update: true
|
||||||
|
destination: repos
|
||||||
|
whitelist:
|
||||||
|
- SUSE:SLFO:1.1: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 $SLFO_1_1_PROJECT -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.1.1.Staging.V:
|
||||||
|
environment_variables:
|
||||||
|
SLFO_1_1_PROJECT: SUSE:SLFO:1.1
|
||||||
|
STAGING_PROJECT: SUSE:SLFO:1.1:Staging:V
|
||||||
|
STAGING_API: https://api.suse.de
|
||||||
|
OSC_CONFIG: /home/go/config/oscrc-staging-bot
|
||||||
|
group: SLFO.1.1.Stagings
|
||||||
|
lock_behavior: unlockWhenFinished
|
||||||
|
materials:
|
||||||
|
stagings:
|
||||||
|
git: git://botmaster.suse.de/suse-repos.git
|
||||||
|
auto_update: true
|
||||||
|
destination: repos
|
||||||
|
whitelist:
|
||||||
|
- SUSE:SLFO:1.1: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 $SLFO_1_1_PROJECT -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.1.1.Staging.Y:
|
||||||
|
environment_variables:
|
||||||
|
SLFO_1_1_PROJECT: SUSE:SLFO:1.1
|
||||||
|
STAGING_PROJECT: SUSE:SLFO:1.1:Staging:Y
|
||||||
|
STAGING_API: https://api.suse.de
|
||||||
|
OSC_CONFIG: /home/go/config/oscrc-staging-bot
|
||||||
|
group: SLFO.1.1.Stagings
|
||||||
|
lock_behavior: unlockWhenFinished
|
||||||
|
materials:
|
||||||
|
stagings:
|
||||||
|
git: git://botmaster.suse.de/suse-repos.git
|
||||||
|
auto_update: true
|
||||||
|
destination: repos
|
||||||
|
whitelist:
|
||||||
|
- SUSE:SLFO:1.1: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 $SLFO_1_1_PROJECT -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
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
---
|
---
|
||||||
<% stagings = %w(A B C D E F G H S V Y) -%>
|
|
||||||
format_version: 3
|
format_version: 3
|
||||||
pipelines:
|
pipelines:
|
||||||
|
<% stagings = %w(A B C D E F G H S V Y) -%>
|
||||||
SUSE.SLFO.Main.Staging.Weekly.Freeze:
|
SUSE.SLFO.Main.Staging.Weekly.Freeze:
|
||||||
environment_variables:
|
environment_variables:
|
||||||
SLFO_PROJECT: SUSE:SLFO:Main
|
SLFO_PROJECT: SUSE:SLFO:Main
|
||||||
@ -145,3 +145,148 @@ pipelines:
|
|||||||
done
|
done
|
||||||
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success
|
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success
|
||||||
<% end -%>
|
<% end -%>
|
||||||
|
<% stagings = %w(A B C D E F G H S V Y) -%>
|
||||||
|
SUSE.SLFO.1.1.Staging.Weekly.Freeze:
|
||||||
|
environment_variables:
|
||||||
|
SLFO_1_1_PROJECT: SUSE:SLFO:1.1
|
||||||
|
SLFO_1_1_RING_1_PROJECT: SUSE:SLFO:1.1:Staging:Rings:1-MinimalX
|
||||||
|
STAGING_API: https://api.suse.de
|
||||||
|
OSC_CONFIG: /home/go/config/oscrc-staging-bot
|
||||||
|
group: SLFO.1.1.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
|
||||||
|
stages:
|
||||||
|
- Check.Ring.1.Finished:
|
||||||
|
timeout: 50
|
||||||
|
resources:
|
||||||
|
- staging-bot
|
||||||
|
tasks:
|
||||||
|
- script: |-
|
||||||
|
set -eu
|
||||||
|
status="$(osc -A $STAGING_API api /build/$SLFO_1_1_RING_1_PROJECT/standard/x86_64?view=status | grep 'code=' | sed -E 's/^.*code="(.*)".*$/\1/')"
|
||||||
|
echo $SLFO_1_1_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
|
||||||
|
|
||||||
|
## Setup osc staging plugin
|
||||||
|
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
|
||||||
|
|
||||||
|
for letter in <% stagings.each do |letter| %><%= letter %> <% end -%>; do
|
||||||
|
## if the staging was frozen today, skip it
|
||||||
|
if ! osc -A $STAGING_API meta attribute "${SLFO_1_1_PROJECT}:Staging:${letter}" --attribute OSRT:FreezeTime | grep $(date +%Y-%m-%d); then
|
||||||
|
osc -A $STAGING_API staging freeze -p $SLFO_1_1_PROJECT $letter
|
||||||
|
else
|
||||||
|
echo "${SLFO_1_1_PROJECT}:Staging:${letter}" was frozen today, skipping it...
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
## Tear down osc staging plugin
|
||||||
|
rm -rf $tempdir
|
||||||
|
<% stagings.each do |letter| %>
|
||||||
|
SUSE.SLFO.1.1.Staging.<%= letter %>:
|
||||||
|
environment_variables:
|
||||||
|
SLFO_1_1_PROJECT: SUSE:SLFO:1.1
|
||||||
|
STAGING_PROJECT: SUSE:SLFO:1.1:Staging:<%= letter %>
|
||||||
|
STAGING_API: https://api.suse.de
|
||||||
|
OSC_CONFIG: /home/go/config/oscrc-staging-bot
|
||||||
|
group: SLFO.1.1.Stagings
|
||||||
|
lock_behavior: unlockWhenFinished
|
||||||
|
materials:
|
||||||
|
stagings:
|
||||||
|
git: git://botmaster.suse.de/suse-repos.git
|
||||||
|
auto_update: true
|
||||||
|
destination: repos
|
||||||
|
whitelist:
|
||||||
|
- SUSE:SLFO:1.1: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 $SLFO_1_1_PROJECT -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
|
||||||
|
<% end -%>
|
||||||
|
@ -17,6 +17,7 @@ pipelines:
|
|||||||
- DO_NOT_TRIGGER
|
- DO_NOT_TRIGGER
|
||||||
destination: scripts
|
destination: scripts
|
||||||
environment_variables:
|
environment_variables:
|
||||||
|
SLFO_BUILD_PROJECT: SUSE:SLFO:Main
|
||||||
OSC_CONFIG: /home/go/config/oscrc-staging-bot
|
OSC_CONFIG: /home/go/config/oscrc-staging-bot
|
||||||
stages:
|
stages:
|
||||||
- Expect.Standard.To.Finish:
|
- Expect.Standard.To.Finish:
|
||||||
@ -25,7 +26,7 @@ pipelines:
|
|||||||
tasks:
|
tasks:
|
||||||
- script: |
|
- script: |
|
||||||
export PYTHONPATH=scripts
|
export PYTHONPATH=scripts
|
||||||
./scripts/gocd/verify-repo-built-successful.py -A https://api.suse.de -p SUSE:SLFO:Main:Build -r standard
|
./scripts/gocd/verify-repo-built-successful.py -A https://api.suse.de -p "${SLFO_BUILD_PROJECT}" -r standard
|
||||||
|
|
||||||
- Release.Standard.To.Snapshot:
|
- Release.Standard.To.Snapshot:
|
||||||
roles:
|
roles:
|
||||||
@ -37,10 +38,55 @@ pipelines:
|
|||||||
tasks:
|
tasks:
|
||||||
- script: |-
|
- script: |-
|
||||||
set -e
|
set -e
|
||||||
osc -A https://api.suse.de release SUSE:SLFO:Main:Build
|
osc -A https://api.suse.de release "${SLFO_BUILD_PROJECT}"
|
||||||
sleep 600
|
sleep 600
|
||||||
while (osc -A https://api.suse.de/ api "/build/SUSE:SLFO:Main:Build:Snapshot/_result?view=summary&repository=standard" | grep "result project" | grep -v 'code="published" state="published">'); do
|
while (osc -A https://api.suse.de/ api "/build/${SLFO_BUILD_PROJECT}:Snapshot/_result?view=summary&repository=standard" | grep "result project" | grep -v 'code="published" state="published">'); do
|
||||||
echo PENDING
|
echo PENDING
|
||||||
sleep 600
|
sleep 600
|
||||||
done
|
done
|
||||||
osc -A https://api.suse.de/ api "/build/SUSE:SLFO:Main:Build:Snapshot/_result?view=summary&repository=standard" | grep "result project" | grep 'code="published" state="published">' && echo PUBLISHED
|
osc -A https://api.suse.de/ api "/build/${SLFO_BUILD_PROJECT}:Snapshot/_result?view=summary&repository=standard" | grep "result project" | grep 'code="published" state="published">' && echo PUBLISHED
|
||||||
|
SLFO.1.1.Standard:
|
||||||
|
group: SLFO.1.1.Target
|
||||||
|
lock_behavior: unlockWhenFinished
|
||||||
|
materials:
|
||||||
|
repos:
|
||||||
|
git: git://botmaster.suse.de/suse-repos.git
|
||||||
|
auto_update: true
|
||||||
|
whitelist:
|
||||||
|
- SUSE:SLFO:1.1:Build_-_standard.yaml
|
||||||
|
destination: repos
|
||||||
|
scripts:
|
||||||
|
auto_update: true
|
||||||
|
git: https://github.com/openSUSE/openSUSE-release-tools.git
|
||||||
|
whitelist:
|
||||||
|
- DO_NOT_TRIGGER
|
||||||
|
destination: scripts
|
||||||
|
environment_variables:
|
||||||
|
SLFO_1_1_BUILD_PROJECT: SUSE:SLFO:1.1:Build
|
||||||
|
OSC_CONFIG: /home/go/config/oscrc-staging-bot
|
||||||
|
stages:
|
||||||
|
- Expect.Standard.To.Finish:
|
||||||
|
resources:
|
||||||
|
- staging-bot
|
||||||
|
tasks:
|
||||||
|
- script: |
|
||||||
|
export PYTHONPATH=scripts
|
||||||
|
./scripts/gocd/verify-repo-built-successful.py -A https://api.suse.de -p "${SLFO_1_1_BUILD_PROJECT}" -r standard
|
||||||
|
|
||||||
|
- Release.Standard.To.Snapshot:
|
||||||
|
roles:
|
||||||
|
- SLE
|
||||||
|
environment_variables:
|
||||||
|
OSC_CONFIG: /home/go/config/oscrc-totest-manager
|
||||||
|
resources:
|
||||||
|
- staging-bot
|
||||||
|
tasks:
|
||||||
|
- script: |-
|
||||||
|
set -e
|
||||||
|
osc -A https://api.suse.de release "${SLFO_1_1_BUILD_PROJECT}"
|
||||||
|
sleep 600
|
||||||
|
while (osc -A https://api.suse.de/ api "/build/${SLFO_1_1_BUILD_PROJECT}:Snapshot/_result?view=summary&repository=standard" | grep "result project" | grep -v 'code="published" state="published">'); do
|
||||||
|
echo PENDING
|
||||||
|
sleep 600
|
||||||
|
done
|
||||||
|
osc -A https://api.suse.de/ api "/build/${SLFO_1_1_BUILD_PROJECT}:Snapshot/_result?view=summary&repository=standard" | grep "result project" | grep 'code="published" state="published">' && echo PUBLISHED
|
||||||
|
Loading…
x
Reference in New Issue
Block a user