This way we don't rely on installed plugin (to avoid the deployment cycle) and we don't need to install into the real home of the go user to avoid risking that a broken plugin breaks all future jobs of the agent
90 lines
3.0 KiB
Plaintext
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: ./repo_checker.py -A https://api.opensuse.org --debug project_only --post-comments <%= project %>
|
|
<% end -%>
|