openSUSE-release-tools/gocd/staging.bot.gocd.yaml.erb
2019-06-06 11:52:46 +02:00

90 lines
3.0 KiB
Plaintext

format_version: 3
pipelines:
<% %w(Factory Leap:15.1).each do |project| -%>
<% nickname = project.gsub(':', '.') -%>
AdiChecker.<%= nickname %>:
group: openSUSE.Checkers
lock_behavior: unlockWhenFinished
environment_variables:
OSC_CONFIG: /home/go/config/oscrc-repo-checker
materials:
script:
git: https://github.com/openSUSE/openSUSE-release-tools.git
destination: scripts
repos:
git: git://botmaster.suse.de/opensuse-repos.git
auto_update: true
whitelist:
- openSUSE:<%= project %>:Staging:adi*.yaml
destination: repos
stages:
- Run:
jobs:
Run:
resources:
- repo-checker
tasks:
- script: |-
./scripts/staging-installcheck.py -A https://api.opensuse.org -p openSUSE:<%= project %>
SBot.Regular.<%= nickname %>:
group: <%= nickname %>.pkglistgen
lock_behavior: unlockWhenFinished
timer:
spec: 0 0 * ? * *
environment_variables:
OSC_CONFIG: /home/go/config/oscrc-staging-bot
materials:
git:
git: https://github.com/openSUSE/openSUSE-release-tools.git
stages:
- Run:
approval:
type: manual
jobs:
Run:
timeout: 0
resources:
- staging-bot
tasks:
- script: |-
set -e
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
osc -A https://api.opensuse.org staging -p openSUSE:<%= project %> rebuild
osc -A https://api.opensuse.org staging -p openSUSE:<%= project %> list --supersede
osc -A https://api.opensuse.org staging -p openSUSE:<%= project %> adi --by-develproject
osc -A https://api.opensuse.org staging -p openSUSE:<%= project %> select --non-interactive --merge --try-strategies
osc -A https://api.opensuse.org staging -p openSUSE:<%= project %> unselect --cleanup
osc -A https://api.opensuse.org staging -p openSUSE:<%= project %> repair --cleanup
rm -rf $tempdir
<% end -%>
Project.Only:
group: openSUSE.Checkers
lock_behavior: unlockWhenFinished
timer:
spec: 0 0 * ? * *
only_on_changes: false
materials:
scripts:
git: https://github.com/openSUSE/openSUSE-release-tools.git
stages:
- Run:
approval:
type: manual
environment_variables:
OSC_CONFIG: /home/go/config/oscrc-repo-checker
jobs:
<% %w(openSUSE:Factory openSUSE:Leap:15.0:Update openSUSE:Leap:42.3:Update openSUSE:Leap:15.1:Update).each do |project| -%>
<%= project.gsub(':', '.') %>:
timeout: 0
resources:
- repo-checker
tasks:
- script: ./project-installcheck.py -A https://api.opensuse.org --debug project_only <%= project %>
<% end -%>