format_version: 3
pipelines:
  Run.Changelog.Checker:
    group: SLE.Checkers
    lock_behavior: unlockWhenFinished
    timer:
      spec: 0 */5 * ? * *
    environment_variables:
      OSC_CONFIG: /home/go/config/oscrc-sle-changelog-checker
    materials:
      git:
        git: https://github.com/openSUSE/openSUSE-release-tools.git
    stages:
    - Run:
        approval:
          type: manual
        jobs:
          Run:
            resources:
            - staging-bot
            tasks:
            - script: ./check_tags_in_requests.py -A https://api.suse.de --verbose --user=sle-changelog-checker --review=accept-onpass --factory=openSUSE.org:openSUSE:Factory review
  SLE15SP4.Project:
    group: SLE.Checkers
    lock_behavior: unlockWhenFinished
    timer:
      spec: 0 0 * ? * *
      only_on_changes: false
    materials:
      git:
        git: https://github.com/openSUSE/openSUSE-release-tools.git
    environment_variables:
      OSC_CONFIG: /home/go/config/oscrc-repo-checker
    stages:
    - Run:
        approval: manual
        jobs:
          SLE_15_SP4:
            resources:
            - repo-checker
            tasks:
            - script: ./project-installcheck.py -A https://api.suse.de --debug check --store SUSE:SLE-15-SP4:GA:Staging/dashboard --no-rebuild SUSE:SLE-15-SP4:GA
  MicroOS.Project:
    group: SLE.Checkers
    lock_behavior: unlockWhenFinished
    timer:
      spec: 0 0 * ? * *
      only_on_changes: false
    materials:
      git:
        git: https://github.com/openSUSE/openSUSE-release-tools.git
    environment_variables:
      OSC_CONFIG: /home/go/config/oscrc-repo-checker
    stages:
    - Run:
        approval: manual
        jobs:
          MicroOS:
            resources:
            - repo-checker
            tasks:
            - script: ./project-installcheck.py -A https://api.suse.de --debug check --store SUSE:SLE-15-SP3:Update:Products:MicroOS52:Staging/dashboard --no-rebuild SUSE:SLE-15-SP3:Update:Products:MicroOS52
  SLE.Origin.Manager:
    group: SLE.Checkers
    lock_behavior: unlockWhenFinished
    environment_variables:
      OSC_CONFIG: /home/go/config/oscrc-origin-manager
    materials:
      script:
        git: https://github.com/openSUSE/openSUSE-release-tools.git
    timer:
      spec: 0 */5 * ? * *
      only_on_changes: false
    stages:
    - Run:
        approval: manual
        resources:
          - staging-bot
        tasks:
          - script: ./origin-manager.py -A https://api.suse.de --debug review
  SLE.Origin.Manager.Update:
    group: SLE.Checkers
    lock_behavior: unlockWhenFinished
    environment_variables:
      OSC_CONFIG: /home/go/config/oscrc-origin-manager
    materials:
      script:
        git: https://github.com/openSUSE/openSUSE-release-tools.git
    timer:
      spec: 0 0 7 ? * *
      only_on_changes: false
    stages:
    - Run:
        approval: manual
        resources:
          - staging-bot
        tasks:
          - script: |-
              tempdir=$(mktemp -d)
              mkdir -p $tempdir/.osc-plugins
              ln -s $PWD/osc-origin.py $tempdir/.osc-plugins
              ln -s $PWD/osclib $tempdir/.osc-plugins
              HOME=$tempdir osc -A https://api.suse.de origin update
              rm -rf $tempdir
  S15.SP4.Staging.Bot.Regular:
    group: SLE.Checkers
    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:
            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.suse.de staging -p SUSE:SLE-15-SP4:GA rebuild
               osc -A https://api.suse.de staging -p SUSE:SLE-15-SP4:GA list --supersede
               osc -A https://api.suse.de staging -p SUSE:SLE-15-SP4:GA select --non-interactive --merge --try-strategies
               osc -A https://api.suse.de staging -p SUSE:SLE-15-SP4:GA unselect --cleanup
               osc -A https://api.suse.de staging -p SUSE:SLE-15-SP4:GA repair --cleanup
               rm -rf $tempdir
  MicroOS.Staging.Bot.Regular:
    group: SLE.Checkers
    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:
            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.suse.de staging -p SUSE:SLE-15-SP3:Update:Products:MicroOS52 rebuild
               osc -A https://api.suse.de staging -p SUSE:SLE-15-SP3:Update:Products:MicroOS52 list --supersede
               osc -A https://api.suse.de staging -p SUSE:SLE-15-SP3:Update:Products:MicroOS52 select --non-interactive --merge --try-strategies
               osc -A https://api.suse.de staging -p SUSE:SLE-15-SP3:Update:Products:MicroOS52 unselect --cleanup
               osc -A https://api.suse.de staging -p SUSE:SLE-15-SP3:Update:Products:MicroOS52 repair --cleanup
               rm -rf $tempdir
  S15.SP4.Staging.Bot.Report:
    group: SLE.Checkers
    lock_behavior: unlockWhenFinished
    timer:
      spec: 0 */3 * ? * *
    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:
            resources:
            - staging-bot
            tasks:
            - script: ./staging-report.py --debug -A https://api.suse.de -p SUSE:SLE-15-SP4:GA
  MicroOS.Staging.Bot.Report:
    group: SLE.Checkers
    lock_behavior: unlockWhenFinished
    timer:
      spec: 0 */3 * ? * *
    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:
            resources:
            - staging-bot
            tasks:
            - script: ./staging-report.py --debug -A https://api.suse.de -p SUSE:SLE-15-SP3:Update:Products:MicroOS52
  SLE.Source.Check:
    group: SLE.Checkers
    lock_behavior: unlockWhenFinished
    timer:
      spec: 0 */5 * ? * *
    environment_variables:
      OSC_CONFIG: /home/go/config/oscrc-factory-auto
    materials:
      git:
        git: https://github.com/openSUSE/openSUSE-release-tools.git
    stages:
    - Run:
        approval:
          type: manual
        jobs:
          Run:
            resources:
            - staging-bot
            tasks:
            - script: ./check_source.py -A https://api.suse.de --verbose --skip-add-reviews --group factory-auto --user factory-auto review
  SLE.Legal.Check:
    group: SLE.Checkers
    lock_behavior: unlockWhenFinished
    timer:
      spec: 0 */5 * ? * *
    environment_variables:
      OSC_CONFIG: /home/go/config/oscrc-legal-auto
    materials:
      git:
        git: https://github.com/openSUSE/openSUSE-release-tools.git
    stages:
    - Run:
        approval:
          type: manual
        jobs:
          Run:
            resources:
            - staging-bot
            tasks:
            - script: ./legal-auto.py -A https://api.suse.de --debug --legaldb https://legaldb.suse.de --group=legal-auto review
            - script: ./legal-auto.py -A https://api.suse.de --debug --legaldb https://legaldb.suse.de --user=licensedigger review
  SLE.Legal.Import:
    group: SLE.Checkers
    lock_behavior: unlockWhenFinished
    timer:
      spec: 0 0 0 ? * *
    environment_variables:
      OSC_CONFIG: /home/go/config/oscrc-legal-auto
    materials:
      git:
        git: https://github.com/openSUSE/openSUSE-release-tools.git
    stages:
    - Run:
        approval:
          type: manual
        jobs:
          Run:
            resources:
            - staging-bot
            tasks:
            - script: ./legal-auto.py -A https://api.suse.de --debug --legaldb https://legaldb.suse.de project $(cat /home/go/config/legal-auto-projects-suse)
<% ['SP1', 'SP2', 'SP3'].each do |servicepack| -%>
  SLE15.<%= servicepack %>.QR:
    group: SLE.Checkers
    lock_behavior: unlockWhenFinished
    environment_variables:
      OSC_CONFIG: /home/go/config/oscrc-maintenance-installcheck
    timer:
      spec: 0 0 0 ? * THU
    materials:
      scripts:
        git: https://github.com/openSUSE/openSUSE-release-tools.git
        destination: scripts
    stages:
    - Run:
        approval:
          type: manual
        jobs:
          Run:
            resources:
            - repo-checker
            tasks:
            - script: |-
                cd scripts
                ./pkglistgen.py -A https://api.suse.de --debug update_and_solve -p home:maintenance-installcheck:15-<%= servicepack %>:QR -s target --force
                osc -A https://api.suse.de co home:maintenance-installcheck:15-<%= servicepack %>:QR 000product
                cd home:maintenance-installcheck:15-<%= servicepack %>:QR/000product
                sed -e 's,home:maintenance-installcheck:15-<%= servicepack %>:QR,SUSE:SLE-15-<%= servicepack %>:Update:QR,' -i *
                osc ci -m 'Fix repoid'
                osc sr --yes SUSE:SLE-15-<%= servicepack %>:Update:QR -m 'Update Package List'
<% end -%>
<% ['SP3'].each do |servicepack| -%>
  SLE15.<%= servicepack %>.QR.Setup:
    group: SLE.Checkers
    lock_behavior: unlockWhenFinished
    environment_variables:
      OSC_CONFIG: /home/go/config/oscrc-maintenance-installcheck
    materials:
      scripts:
        git: https://github.com/openSUSE/openSUSE-release-tools.git
        destination: scripts
    stages:
    - Run:
        approval:
          type: manual
        jobs:
          Run:
            resources:
            - repo-checker
            tasks:
            - script: |-
                osc -A https://api.suse.de bco SUSE:SLE-15-<%= servicepack %>:Update:QR 000package-groups home:maintenance-installcheck:15-<%= servicepack %>:QR
                for package in 000product 000release-packages; do
                  osc -A https://api.suse.de copypac SUSE:SLE-15-<%= servicepack %>:GA $package home:maintenance-installcheck:15-<%= servicepack %>:QR
                done
<% end -%>
