format_version: 3
pipelines:
  openSUSE.openQA:
    group: Monitors
    lock_behavior: unlockWhenFinished
    timer:
      spec: 0 */5 * ? * *
    environment_variables:
      OSC_CONFIG: /home/go/config/oscrc-staging-bot
    materials:
      git:
        git: https://github.com/openSUSE/openSUSE-release-tools.git
        branch: master
        destination: scripts
    stages:
    - Run:
        approval:
          type: manual
        jobs:
          Run:
            timeout: 30
            resources:
            - monitor
            tasks:
            - script: |-
                install -D /home/go/config/openqa-client.conf /home/go/.config/openqa/client.conf
                export PYTHONPATH=$PWD/scripts
                ./scripts/gocd/rabbit-openqa.py -A https://api.opensuse.org
  SUSE.openQA:
    group: Monitors
    lock_behavior: unlockWhenFinished
    timer:
      spec: 0 */5 * ? * *
    environment_variables:
      OSC_CONFIG: /home/go/config/oscrc-staging-bot
    materials:
      git:
        git: https://github.com/openSUSE/openSUSE-release-tools.git
        branch: master
        destination: scripts
    stages:
    - Run:
        approval:
          type: manual
        jobs:
          Run:
            timeout: 30
            resources:
            - monitor
            tasks:
            # endless loop
            - script: |-
                install -D /home/go/config/openqa-client.conf /home/go/.config/openqa/client.conf
                export PYTHONPATH=$PWD/scripts
                ./scripts/gocd/rabbit-openqa.py -A https://api.suse.de
  SUSE.Repo.Monitor:
    group: Monitors
    lock_behavior: unlockWhenFinished
    timer:
      spec: 0 */5 * ? * *
    environment_variables:
      OSC_CONFIG: /home/go/config/oscrc-staging-bot
    materials:
      scripts:
        git: https://github.com/openSUSE/openSUSE-release-tools.git
        branch: master
        destination: scripts
      repos:
        git: git://botmaster.suse.de/suse-repos.git
        branch: master
        destination: repos
      notifications:
        git: git://botmaster.suse.de/suse-notifications.git
        branch: master
        destination: notifications
    stages:
    - Run:
        approval:
          type: manual
        jobs:
          Run:
            timeout: 30
            resources:
            - monitor
            tasks:
            # endless loop
            - script: |-
                export PYTHONPATH=$PWD/scripts
                git config --global user.email "coolo@suse.de"
                git config --global user.name "GoCD Repo Monitor"
                cd repos
                ../scripts/gocd/rabbit-repoid.py -A https://api.suse.de SUSE:SLE
  openSUSE.Repo.Monitor:
    group: Monitors
    lock_behavior: unlockWhenFinished
    timer:
      spec: 0 */5 * ? * *
    environment_variables:
      OSC_CONFIG: /home/go/config/oscrc-staging-bot
    materials:
      scripts:
        git: https://github.com/openSUSE/openSUSE-release-tools.git
        branch: master
        destination: scripts
      repos:
        git: git://botmaster.suse.de/opensuse-repos.git
        branch: master
        destination: repos
    stages:
    - Run:
        approval:
          type: manual
        jobs:
          Run:
            timeout: 30
            resources:
            - monitor
            tasks:
            - script: |-
                export PYTHONPATH=$PWD/scripts
                git config --global user.email "coolo@suse.de"
                git config --global user.name "GoCD Repo Monitor"
                cd repos
                ../scripts/gocd/rabbit-repoid.py -A https://api.opensuse.org openSUSE:Factory openSUSE:Leap openSUSE:Backports Virtualization:WSL KDE:Medias
  openSUSE.ObsRsync:
    group: Monitors
    lock_behavior: unlockWhenFinished
    environment_variables:
      OSC_CONFIG: /home/go/config/oscrc-staging-bot
    materials:
      scripts:
        git: https://github.com/openSUSE/openSUSE-release-tools.git
        branch: master
        destination: scripts
      repos:
        git: git://botmaster.suse.de/opensuse-repos.git
        branch: master
        destination: repos
      notifications:
        git: git://botmaster.suse.de/opensuse-notifications.git
        branch: master
        destination: notifications
        whitelist:
          - nothing
    stages:
    - Run:
        jobs:
          Run:
            resources:
            - staging-bot
            tasks:
            - script: |-
                export PYTHONPATH=$PWD/scripts
                git config --global user.email "coolo@suse.de"
                git config --global user.name "GoCD Repo Monitor"
                scripts/gocd/notify-obs_rsync.py --openqa https://openqa.opensuse.org --repos repos --to notifications
  SUSE.ObsRsync:
    group: Monitors
    lock_behavior: unlockWhenFinished
    environment_variables:
      OSC_CONFIG: /home/go/config/oscrc-staging-bot
    materials:
      scripts:
        git: https://github.com/openSUSE/openSUSE-release-tools.git
        branch: master
        destination: scripts
      repos:
        git: git://botmaster.suse.de/suse-repos.git
        branch: master
        destination: repos
      notifications:
        git: git://botmaster.suse.de/suse-notifications.git
        branch: master
        destination: notifications
        whitelist:
          - nothing
    stages:
    - Run:
        jobs:
          Run:
            resources:
            - staging-bot
            tasks:
            # endless loop
            - script: |-
                export PYTHONPATH=$PWD/scripts
                git config --global user.email "coolo@suse.de"
                git config --global user.name "GoCD Repo Monitor"
                scripts/gocd/notify-obs_rsync.py --openqa https://openqa.suse.de --repos repos --to notifications

  openSUSE.OriginManagerUpdate:
    group: Monitors
    lock_behavior: unlockWhenFinished
    timer:
      spec: 0 */5 * ? * *
    environment_variables:
      OSC_CONFIG: /home/go/config/oscrc-origin-manager
    materials:
      script:
        git: https://github.com/openSUSE/openSUSE-release-tools.git
    stages:
    - Run:
        approval:
          type: manual
        jobs:
          Run:
            timeout: 10 # 5 minute still alive message
            resources:
            - monitor
            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.opensuse.org origin update --listen --listen-seconds 43200
                rm -rf $tempdir
  SUSE.OriginManagerUpdate:
    group: Monitors
    lock_behavior: unlockWhenFinished
    timer:
      spec: 0 */5 * ? * *
    environment_variables:
      OSC_CONFIG: /home/go/config/oscrc-origin-manager
    materials:
      script:
        git: https://github.com/openSUSE/openSUSE-release-tools.git
    stages:
    - Run:
        approval:
          type: manual
        jobs:
          Run:
            timeout: 10 # 5 minute still alive message
            resources:
            - monitor
            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 --listen --listen-seconds 43200
                rm -rf $tempdir
