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
|
||||
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"
|
||||
|
@ -983,3 +983,996 @@ pipelines:
|
||||
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.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
|
||||
pipelines:
|
||||
<% stagings = %w(A B C D E F G H S V Y) -%>
|
||||
SUSE.SLFO.Main.Staging.Weekly.Freeze:
|
||||
environment_variables:
|
||||
SLFO_PROJECT: SUSE:SLFO:Main
|
||||
@ -145,3 +145,148 @@ pipelines:
|
||||
done
|
||||
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success
|
||||
<% 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
|
||||
destination: scripts
|
||||
environment_variables:
|
||||
SLFO_BUILD_PROJECT: SUSE:SLFO:Main
|
||||
OSC_CONFIG: /home/go/config/oscrc-staging-bot
|
||||
stages:
|
||||
- Expect.Standard.To.Finish:
|
||||
@ -25,7 +26,7 @@ pipelines:
|
||||
tasks:
|
||||
- script: |
|
||||
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:
|
||||
roles:
|
||||
@ -37,10 +38,55 @@ pipelines:
|
||||
tasks:
|
||||
- script: |-
|
||||
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
|
||||
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
|
||||
sleep 600
|
||||
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