If installcheck or packagelists check fails, there is no point (normally) to build the media - so let the release manager disable the images repo (which also hides uninteresting fails) while the checks are failing and have gocd enable the images repo afterwards to start the build (and the openqa sync)
94 lines
3.1 KiB
Plaintext
94 lines
3.1 KiB
Plaintext
---
|
|
<% stagings = %w(A B C D E F G H S V Y) -%>
|
|
format_version: 3
|
|
pipelines:
|
|
SLE15.SP2.Stagings.RelPkgs:
|
|
environment_variables:
|
|
OSC_CONFIG: /home/go/config/oscrc-staging-bot
|
|
group: SLE15.SP2.Stagings
|
|
lock_behavior: unlockWhenFinished
|
|
timer:
|
|
spec: 0 */10 * ? * *
|
|
only_on_changes: false
|
|
materials:
|
|
scripts:
|
|
git: https://github.com/openSUSE/openSUSE-release-tools.git
|
|
stages:
|
|
- Generate.Release.Package:
|
|
approval: manual
|
|
jobs:
|
|
<% stagings.each do |letter| -%>
|
|
SLE.15.SP2.Staging.<%= letter %>:
|
|
resources:
|
|
- repo-checker
|
|
tasks:
|
|
- script: ./pkglistgen.py -A https://api.suse.de update_and_solve
|
|
--staging SUSE:SLE-15-SP2:GA:Staging:<%= letter %>
|
|
--only-release-packages --force
|
|
<% end -%>
|
|
<% stagings.each do |letter| %>
|
|
SLE15.SP2.Staging.<%= letter %>:
|
|
environment_variables:
|
|
STAGING_PROJECT: SUSE:SLE-15-SP2:GA:Staging:<%= letter %>
|
|
STAGING_API: https://api.suse.de
|
|
OSC_CONFIG: /home/go/config/oscrc-staging-bot
|
|
group: SLE15.SP2.Stagings
|
|
lock_behavior: unlockWhenFinished
|
|
materials:
|
|
stagings:
|
|
git: git://botmaster.suse.de/suse-repos.git
|
|
auto_update: true
|
|
destination: repos
|
|
whitelist:
|
|
- SUSE:SLE-15-SP2:GA: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 SUSE:SLE-15-SP2:GA -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 --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
|
|
|
|
- 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"
|
|
|
|
<% end -%>
|