format_version: 3
pipelines:
  Pkglistgen.openSUSE_Factory:
    group: Factory.pkglistgen
    lock_behavior: unlockWhenFinished
    environment_variables:
      OSC_CONFIG: /home/go/config/oscrc-staging-bot
    timer:
      spec: 0 40 * ? * *
      only_on_changes: false
    materials:
      git:
        git: https://github.com/openSUSE/openSUSE-release-tools.git
    stages:
    - pkglistgen:
        approval:
          type: manual
        jobs:
<% ['openSUSE:Factory/target', 'openSUSE:Factory/rings', 'openSUSE:Factory:ARM/target', 'openSUSE:Factory:ARM/rings', 'openSUSE:Factory:PowerPC', 'openSUSE:Factory:zSystems', 'openSUSE:Factory:RISCV'].each do |project|
  project=project.split('/')
  name=project[0].gsub(':', '_')
  if project.size > 1
    options=" -s #{project[1]}"
    name = name + "_#{project[1]}"
  end
  -%>
          <%= name %>:
            resources:
            - repo-checker
            tasks:
              - script: |
                  python3 -u ./pkglistgen.py -d -A https://api.opensuse.org update_and_solve -p <%= project[0] %><%= options %> --only-release-packages
                  python3 -u ./pkglistgen.py -d -A https://api.opensuse.org update_and_solve -p <%= project[0] %><%= options %>
<% end -%>
  Update.Repos.Factory:
    group: Factory.pkglistgen
    lock_behavior: unlockWhenFinished
    environment_variables:
      OSC_CONFIG: /home/go/config/oscrc-staging-bot
    timer:
      spec: 0 0 21 ? * *
      only_on_changes: false
    materials:
      git:
        git: https://github.com/openSUSE/openSUSE-release-tools.git
    stages:
    - Update:
        approval:
          type: manual
        jobs:
<% %w(openSUSE:Factory openSUSE:Factory:ARM openSUSE:Factory:PowerPC openSUSE:Factory:RISCV).each do |project| -%>
          <%= project.gsub(':', '_') %>:
            resources:
            - repo-checker
            tasks:
             - script: python3 -u ./pkglistgen.py --apiurl https://api.opensuse.org handle_update_repos <%= project %>
<% end -%>
  Pkglistgen.openSUSE_Leap_15.4:
    group: Leap.pkglistgen
    lock_behavior: unlockWhenFinished
    environment_variables:
      OSC_CONFIG: /home/go/config/oscrc-staging-bot
    timer:
      spec: 0 40 * ? * *
      only_on_changes: false
    materials:
      git:
        git: https://github.com/openSUSE/openSUSE-release-tools.git
    stages:
    - pkglistgen:
        approval:
          type: manual
        jobs:
<% ['openSUSE:Leap:15.4/target'].each do |project|
  project=project.split('/')
  name=project[0].gsub(':', '_')
  if project.size > 1
    options=" -s #{project[1]}"
    name = name + "_#{project[1]}"
  end
  -%>
          <%= name %>:
            resources:
            - repo-checker
            tasks:
            - script: python3 ./skippkg-finder.py -A https://api.opensuse.org -o openSUSE:Leap:15.4 -s SUSE:SLE-15-SP4:GA
            - script: python3 ./pkglistgen.py -d -A https://api.opensuse.org update_and_solve -p <%= project[0] %><%= options %>
<% end -%>
  Pkglistgen.openSUSE_Leap_15.3_Update_Respin:
    group: Leap.pkglistgen
    lock_behavior: unlockWhenFinished
    environment_variables:
      OSC_CONFIG: /home/go/config/oscrc-staging-bot
    timer:
      spec: 0 40 * ? * *
      only_on_changes: false
    materials:
      git:
        git: https://github.com/openSUSE/openSUSE-release-tools.git
    stages:
    - pkglistgen:
        approval:
          type: manual
        jobs:
<% ['openSUSE:Leap:15.3:Update:Respin/target'].each do |project|
  project=project.split('/')
  name=project[0].gsub(':', '_')
  if project.size > 1
    options=" -s #{project[1]}"
    name = name + "_#{project[1]}"
  end
  -%>
          <%= name %>:
            resources:
            - repo-checker
            tasks:
            - script: python3 ./skippkg-finder.py -A https://api.opensuse.org -o openSUSE:Leap:15.3:Update:Respin -t openSUSE:Leap:15.3:Update -s SUSE:SLE-15-SP3:Update
            - script: python3 ./pkglistgen.py -d -A https://api.opensuse.org update_and_solve -p <%= project[0] %><%= options %>
<% end -%>

  Update.Repos.Leap:
    group: Leap.pkglistgen
    lock_behavior: unlockWhenFinished
    environment_variables:
      OSC_CONFIG: /home/go/config/oscrc-staging-bot
    timer:
      spec: 0 0 0 */3 * ?
      only_on_changes: false
    materials:
      git:
        git: https://github.com/openSUSE/openSUSE-release-tools.git
    stages:
    - Update:
        approval:
          type: manual
        jobs:
<% %w(openSUSE:Leap:15.4 openSUSE:Leap:15.3:Update:Respin).each do |project| -%>
          <%= project.gsub(':', '_') %>:
            resources:
            - repo-checker
            tasks:
             - script: python3 ./pkglistgen.py --apiurl https://api.opensuse.org handle_update_repos <%= project %>
<% end -%>
