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:
            timeout: 30
            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
  Run.Bugowner.Checker:
    group: SLE.Checkers
    lock_behavior: unlockWhenFinished
    timer:
      spec: 0 */5 * ? * *
    environment_variables:
      OSC_CONFIG: /home/go/config/oscrc-bugowner-checker
    materials:
      git:
        git: https://github.com/openSUSE/openSUSE-release-tools.git
    stages:
    - Run:
        approval:
          type: manual
        jobs:
          Run:
            timeout: 30
            resources:
            - staging-bot
            tasks:
            - script: ./check_bugowner.py -A https://api.suse.de --verbose --user=bugowner-checker review
  SLE15SP7.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_SP7:
            resources:
            - repo-checker
            tasks:
            - script: ./project-installcheck.py -A https://api.suse.de --debug check --store SUSE:SLE-15-SP7:GA:Staging/dashboard --no-rebuild SUSE:SLE-15-SP7:GA
  SUSE.SLFO.Main.Staging.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:
      SLFO_PROJECT: SUSE:SLFO:Main
      STAGING_API: https://api.suse.de
      OSC_CONFIG: /home/go/config/oscrc-repo-checker
    stages:
    - Run:
        timeout: 30
        approval: manual
        jobs:
          SLFO.Main:
            resources:
            - repo-checker
            tasks:
            - script: ./project-installcheck.py -A $STAGING_API --debug check --store $SLFO_PROJECT:Staging/dashboard --no-rebuild $SLFO_PROJECT:Build
  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:
        timeout: 30
        approval: manual
        resources:
          - staging-bot
        tasks:
          - script: ./origin-manager.py -A https://api.suse.de --debug review
  S15.SP7.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:
            timeout: 30
            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-SP7:GA rebuild
                osc -A https://api.suse.de staging -p SUSE:SLE-15-SP7:GA list --supersede
                osc -A https://api.suse.de staging -p SUSE:SLE-15-SP7:GA unselect --cleanup
                osc -A https://api.suse.de staging -p SUSE:SLE-15-SP7:GA repair --cleanup
                rm -rf $tempdir
  SUSE.SLFO.Main.Staging.Bot.Regular:
    group: SLE.Checkers
    lock_behavior: unlockWhenFinished
    timer:
      spec: 0 0 * ? * *
    environment_variables:
      SLFO_PROJECT: SUSE:SLFO:Main
      STAGING_API: https://api.suse.de
      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: 30
            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 $STAGING_API staging -p $SLFO_PROJECT rebuild
                osc -A $STAGING_API staging -p $SLFO_PROJECT list --supersede
                osc -A $STAGING_API staging -p $SLFO_PROJECT select --non-interactive --merge --try-strategies
                osc -A $STAGING_API staging -p $SLFO_PROJECT unselect --cleanup
                osc -A $STAGING_API staging -p $SLFO_PROJECT repair --cleanup
                rm -rf $tempdir
  S15.SP7.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:
            timeout: 30
            resources:
            - staging-bot
            tasks:
            - script: ./staging-report.py --debug -A https://api.suse.de -p SUSE:SLE-15-SP7:GA
  SUSE.SLFO.Main.Staging.Bot.Report:
    group: SLE.Checkers
    lock_behavior: unlockWhenFinished
    timer:
      spec: 0 */3 * ? * *
    environment_variables:
      SLFO_PROJECT: SUSE:SLFO:Main
      STAGING_API: https://api.suse.de
      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: 30
            resources:
            - staging-bot
            tasks:
            - script: ./staging-report.py --debug -A $STAGING_API -p $SLFO_PROJECT
  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:
            timeout: 30
            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: SUSE.Legal
    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:
            timeout: 30
            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: SUSE.Legal
    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:
            timeout: 60
            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)
