- defaults:
    name: g-i-installation
    description: '{my_description}{do_not_edit}'
    # disabled: true
    logrotate:
      daysToKeep: 90
      numToKeep: 20
      artifactDaysToKeep: -1
      artifactNumToKeep: -1
    triggers:
      - timed: '{my_time}'
    builders:
      - shell: '/srv/jenkins/bin/g-i-installation.sh {my_disksize} {my_inst_url}'
    publishers:
      - trigger:
          project: '{my_trigger}'
      - logparser:
          parse-rules: '/srv/jenkins/logparse/debian.rules'
          unstable-on-warning: 'true'
          fail-on-error: 'true'
      - email-ext:
          recipients: '{my_recipients}'
          first-failure: true
          fixed: true
          subject: '$BUILD_STATUS: $JOB_NAME/$BUILD_NUMBER'
          attach-build-log: false
          body: 'See $BUILD_URL and $BUILD_URL/console and $BUILD_URL/artifact/results/ if there are any.'
      - archive:
          artifacts: 'results/*.*, results/log/*, results/log/installer/*'
          latest-only: false
      - image-gallery:
          - title: '{my_title}'
            includes: 'results/*.png'
            image-width: 300
    wrappers:
      - live-screenshot
      - timeout:
          timeout: 480
    properties:
      - sidebar: &sb01
          url: https://jenkins.debian.net/userContent/about.html
          text: About jenkins.debian.net
          icon: /userContent/images/debian-swirl-24x24.png
      - sidebar: &sb10
          url: https://jenkins.debian.net/view/g-i-installation/
          text: All g-i-installation jobs
          icon: /userContent/images/debian-jenkins-24x24.png
      - sidebar: &sb99
          url: http://www.profitbricks.co.uk
          text: Sponsored by Profitbricks
          icon: /userContent/images/profitbricks-24x24.png
      - priority-sorter:
          priority: '140'
      - throttle:
          max-total: 3
          max-per-node: 3
          enabled: true
          option: category
          categories:
            - g-i-installation
- defaults:
    name: g-i-installation-maintenance
    description: 'Cleanup and monitor so that there is a predictable environment.{do_not_edit}'
    logrotate:
      daysToKeep: 90
      numToKeep: 20
      artifactDaysToKeep: -1
      artifactNumToKeep: -1
    triggers:
      - timed: '0 6 * * *'
    builders:
      - shell: '/srv/jenkins/bin/maintenance.sh {name}'
    publishers:
      - logparser:
          parse-rules: '/srv/jenkins/logparse/debian.rules'
          unstable-on-warning: 'true'
          fail-on-error: 'true'
      - email:
          recipients: 'qa-jenkins-scm@lists.alioth.debian.org'
    properties:
      - sidebar: *sb01
      - sidebar: *sb10
      - sidebar: *sb99
      - priority-sorter:
          priority: '175'

- job-template:
    defaults: g-i-installation-maintenance
    name: '{name}_maintenance'

- job-template:
    defaults: g-i-installation
    name: '{name}_debian_{my_ver}_{my_desktop}'

- job-template:
    defaults: g-i-installation
    name: '{name}_{my_dist}_{my_ver}_{my_profile}'

- job-template:
    defaults: g-i-installation
    name: '{name}_{my_dist}_{my_ver}_{my_profile}_{my_desktop}'

- job-template:
    defaults: g-i-installation
    name: '{name}_debian_sid_daily_rescue_{my_langname}'

- job-template:
    defaults: g-i-installation
    name: '{name}_debian_{my_ver}_presentation'

- job-template:
    defaults: g-i-installation
    name: '{name}_debian_{my_ver}_{my_profile}_{my_theme}'

- job-group:
    name: '{name}_{my_dist}_group'
    my_disksize: 25
    jobs:
      - '{name}_{my_dist}_{my_ver}_{my_profile}':
          my_title: '{my_distname} ({my_ver}) {my_profile}'
          my_description: 'Do a fully automated installation of a {my_distname} {my_ver} {my_profile} profile - via d-i preseeding (with <a href="https://jenkins.debian.net/d-i-preseed-cfgs/{my_dist}_{my_ver}_{my_profile}_preseed.cfg">this preseed.cfg</a>) using the netinst CD image.'
          my_trigger: ''
          my_recipients: 'jenkins+debian-edu debian-edu-commits@lists.alioth.debian.org'

- job-group:
    name: '{name}_{my_dist}_desktop_group'
    my_disksize: 25
    jobs:
      - '{name}_{my_dist}_{my_ver}_{my_profile}_{my_desktop}':
          my_title: '{my_distname} ({my_ver}) {my_profile} ({my_desktop})'
          my_description: 'Do a fully automated installation of a {my_distname} {my_ver} {my_profile} profile - via d-i preseeding (with <a href="https://jenkins.debian.net/d-i-preseed-cfgs/{my_dist}_{my_ver}_{my_profile}_preseed.cfg">this preseed.cfg</a>) using the netinst CD image.'
          my_trigger: ''
          my_recipients: 'jenkins+debian-edu debian-edu-commits@lists.alioth.debian.org'

- job-group:
    name: '{name}_{my_dist}_{my_ver}_group'
    my_time: ''
    my_desktop: ''
    my_trigger: ''
    my_trigdesc: ''
    my_title_extra: ''
    jobs:
      - '{name}_{my_dist}_{my_ver}_{my_profile}':
         my_title: '{my_distname} ({my_ver}) {my_profile}{my_title_extra}'
         my_description: 'Do a fully automated installation of a {my_distname} {my_verdesc} {my_profile} profile - via d-i preseeding (with <a href="https://jenkins.debian.net/d-i-preseed-cfgs/{my_dist}_{my_ver}_{my_profile}_preseed.cfg">this preseed.cfg</a>) using the {my_ver} image.{my_trigdesc}'

- job-group:
    name: '{name}_debian_{my_ver}_desktops_group'
    my_optdesc: ''
    my_trigger: ''
    my_time: ''
    my_trigdesc: ''
    my_optdesc2: ''
    my_recipients: 'qa-jenkins-scm@lists.alioth.debian.org'
    jobs:
      - '{name}_debian_{my_ver}_{my_desktop}':
          my_title: 'Debian ({my_verdesc}) {my_desktop} desktop install{my_optdesc}'
          my_description: 'Do a fully automated installation of Debian {my_desktop} desktop{my_optdesc}{my_optdesc2} - via d-i preseeding (with <a href="https://jenkins.debian.net/d-i-preseed-cfgs/debian_{my_ver}_{my_desktop}_preseed.cfg">this preseed.cfg</a>){my_instdesc}.{my_trigdesc}'
          my_disksize: 10


- job-group:
    name: '{name}_debian_sid_daily_rescue_translations_group'
    my_langname: ''
    my_time: ''
    my_trigger: ''
    my_langname:
      - spanish:    { my_locale: es es_ES, my_time: '23 7 18 * *' }
      - japanese:   { my_locale: ja ja_JA, my_time: '42 7 18 * *' }
      - chinese:    { my_locale: zh zh_CN, my_time: '23 8 18 * *' }
      - korean:     { my_locale: ko ko_KR, my_time: '42 8 18 * *' }
      - russian:    { my_locale: ru ru_RU, my_time: '42 9 18 * *' }
      - greek:      { my_locale: el el_GR, my_time: '42 9 18 * *' }
      - vietnamese: { my_locale: vi vi_VI, my_time: '42 9 18 * *' }
      - hebrew:     { my_locale: he he_IL, my_time: '23 10 18 * *' }
      - hindi:      { my_locale: hi hi_IN, my_time: '23 10 18 * *' }
      - tamil:      { my_locale: ta ta_IN, my_time: '42 10 18 * *' }
      - tibetan:    { my_locale: bo bo_IN, my_time: '23 11 18 * *' }
      - gujarati:   { my_locale: gu gu_IN, my_time: '42 11 18 * *' }
      - kannada:    { my_locale: kn kn_IN, my_time: '23 12 18 * *' }
      - malayalam:  { my_locale: ml ml_IN, my_time: '42 12 18 * *' }
      - marathi:    { my_locale: mr mr_IN, my_time: '23 13 18 * *' }
      - punjabi:    { my_locale: pa pa_IN, my_time: '42 13 18 * *' }
      - telugu:     { my_locale: te te_IN, my_time: '23 14 18 * *' }
      - arabic:     { my_locale: ar ar_EG, my_time: '42 14 18 * *' }
    jobs:
      - '{name}_debian_sid_daily_rescue_{my_langname}':
          my_title: 'Debian (sid daily build CD) rescue mode in {my_langname}'
          my_disksize: 1
          my_inst_url: 'http://cdimage.debian.org/cdimage/daily-builds/sid_d-i/arch-latest/amd64/iso-cd/debian-testing-amd64-netinst.iso {my_locale}'
          my_description: 'Just go into rescue mode, via d-i preseeding (with <a href="https://jenkins.debian.net/d-i-preseed-cfgs/debian_sid_daily_rescue_preseed.cfg">this preseed.cfg</a>) using netboot gtk.'
          my_recipients: 'qa-jenkins-scm@lists.alioth.debian.org'

- project:
    name: g-i-installation
    do_not_edit: '<br><br>Job  configuration source is <a href="https://anonscm.debian.org/git/qa/jenkins.debian.net.git/tree/job-cfg/g-i-installation.yaml">g-i-installation.yaml</a>.'
    jobs:
      - '{name}_maintenance'
      - '{name}_debian_{my_ver}_desktops_group':
          my_ver: jessie
          my_verdesc: jessie
          my_inst_url: 'http://d-i.debian.org/daily-images/amd64/daily/netboot/gtk/debian-installer/amd64/'
          my_instdesc: ' using netboot gtk'
          my_desktop:
            - kde:
                my_time: '42 15 */2 * *'
            - xfce:
                my_time: '42 16 */2 * *'
            - lxde:
                my_time: '42 19 */2 * *'
            - gnome:
                my_time: '42 19 */2 * *'
                my_trigger: 'g-i-installation_debian_{my_ver}_gnome_brltty, g-i-installation_debian_{my_ver}_gnome_speakup'
            - gnome_brltty:
                my_optdesc: ' with braille display support'
                my_time: ''
                my_recipients: 'qa-jenkins-scm@lists.alioth.debian.org debian-accessibility@lists.debian.org'
            - gnome_speakup:
                my_optdesc: ' with Speakup support'
                my_time: ''
                my_recipients: 'qa-jenkins-scm@lists.alioth.debian.org debian-accessibility@lists.debian.org'
      - '{name}_{my_dist}_group':
          my_dist:
            - debian-edu:
                my_distname: 'Debian Edu'
          my_ver: stretch-daily-netinst
          my_verdesc: Stretch
          my_inst_url: 'http://ftp.skolelinux.org/cd-stretch-amd64-i386-netinst/debian-edu-amd64-i386-NETINST-1.iso'
          my_profile:
            - minimal:      { my_time: '23 20 * * 3,6' }
            - standalone:   { my_time: '42 20 * * 3,6' }
            - workstation:  { my_time: '42 22 * * 3' }
            - combi-server: { my_time: '42 0 * * 3', my_disksize: 70 }
            - main-server:  { my_time: '42 2 * * 3,6', my_disksize: 30 }
      - '{name}_{my_dist}_desktop_group':
          my_dist:
            - debian-edu:
                my_distname: 'Debian Edu'
          my_ver: stretch-daily-netinst
          my_verdesc: Stretch
          my_inst_url: 'http://ftp.skolelinux.org/cd-stretch-amd64-i386-netinst/debian-edu-amd64-i386-NETINST-1.iso'
          my_profile: standalone
          my_desktop:
            - gnome:    { my_time: '42 18 * * 3,6' }
            - lxde:     { my_time: '42 22 * * 3,6' }
            - xfce:     { my_time: '42 2 * * 3,6' }

      - '{name}_debian_{my_ver}_desktops_group':
          my_ver: sid_daily
          my_inst_url: 'http://cdimage.debian.org/cdimage/daily-builds/sid_d-i/arch-latest/amd64/iso-cd/debian-testing-amd64-netinst.iso'
          my_verdesc: 'sid daily build CD'
          my_instdesc: ' using netboot gtk'
          my_desktop:
            - gnome:
                my_time: '42 8 * * *'
                my_trigger: 'g-i-installation_debian_sid_gnome_brltty, g-i-installation_debian_sid_gnome_speakup'
            - gnome_brltty:
                my_optdesc: ' with braille display support'
                my_recipients: 'qa-jenkins-scm@lists.alioth.debian.org debian-accessibility@lists.debian.org'
            - gnome_speakup:
                my_optdesc: ' with Speakup support'
                my_recipients: 'qa-jenkins-scm@lists.alioth.debian.org debian-accessibility@lists.debian.org'
            - xfce:
                my_time: '42 8 * * *'
            - lxde:
                my_time: '42 10 * * *'

      - '{name}_debian_{my_ver}_desktops_group':
          my_desktop: kfreebsd_xfce
          my_instdesc: ' using PXE netboot gtk'
          my_ver:
            - jessie:
                my_verdesc: jessie
                my_inst_url: 'http://deb.debian.org/debian/dists/jessie-kfreebsd-proposed-updates/main/installer-kfreebsd-amd64/current/images/netboot-10/gtk/netboot.tar.gz'
                my_time: '42 16 3,18 * *'
            - sid_daily:
                my_verdesc: 'sid daily build CD'
                my_inst_url: 'http://d-i.debian.org/daily-images/kfreebsd-amd64/daily/netboot-10/gtk/netboot.tar.gz'
                my_time: '42 8 */7 * *'

      - '{name}_debian_{my_ver}_desktops_group':
          my_desktop:
            - hurd_lxde:
                # putting these at the outer level doesn't work for some reason, so put them in here
                my_recipients: 'qa-jenkins-scm@lists.alioth.debian.org debian-hurd@lists.debian.org'
                my_instdesc: ''
          my_ver:
            - jessie:
                my_inst_url: 'http://ftp.debian-ports.org/debian-cd/hurd-i386/debian-hurd-2015/debian-hurd-2015-i386-NETINST-1.iso'
                my_trigdesc: '<br />This job is only triggered manually.'
                my_verdesc: jessie
                my_time: '42 16 31 12 4'
                my_optdesc2: ' on <a href="https://lists.debian.org/debian-devel-announce/2015/04/msg00012.html">Debian GNU/hurd 2015 Jessie release</a>'
            - sid_daily:
                my_inst_url: 'http://people.debian.org/~sthibault/hurd-i386/installer/cdimage/daily/debian-sid-hurd-i386-NETINST-1.iso'
                my_time: '42 10 */2 * *'
                my_verdesc: 'sid daily build CD'

      - '{name}_debian_sid_daily_rescue_translations_group'

      - '{name}_{my_dist}_{my_ver}_group':
          my_dist:
            - debian-edu:
                my_distname: 'Debian Edu'
                my_recipients: 'jenkins+debian-edu debian-edu-commits@lists.alioth.debian.org'
          my_ver:
            - jessie-daily-usb:
                my_verdesc: Jessie
                my_inst_url: http://ftp.skolelinux.org/cd-jessie-usbstick/debian-edu-amd64-i386-BD-1.iso
            - jessie-daily-netinst:
                my_verdesc: Jessie
                my_inst_url: http://ftp.skolelinux.org/cd-jessie-amd64-i386-netinst/debian-edu-amd64-i386-NETINST-1.iso
            - jessie-final-usb:
                my_verdesc: Jessie
                my_inst_url: http://ftp.skolelinux.org/skolelinux-cd/debian-edu-8+edu1/debian-edu-8+edu1-USB.iso
            - jessie-final-netinst:
                my_verdesc: Jessie
                my_inst_url: http://ftp.skolelinux.org/skolelinux-cd/debian-edu-8+edu1/debian-edu-8+edu1-CD.iso
          my_profile:
            - standalone:       { my_time: '42 1 18 * *', my_disksize: 25,
                                  my_title_extra: ' (Default)' }
            - standalone_mate:  { my_time: '23 2 18 * *', my_disksize: 25 }
            - main-server:      { my_time: '23 3 18 * *',   my_disksize: 40 }
            - workstation:  { my_time: '42 22 18 * *', my_disksize: 25 }
            - combi-server: { my_time: '42 0 18 * *',   my_disksize: 60 }

      - '{name}_debian_{my_ver}_presentation':
          my_ver:
            - wheezy:
                my_verdesc: 'wheezy netboot'
                my_inst_url: 'http://deb.debian.org/debian/dists/wheezy/main/installer-amd64/current/images/netboot/debian-installer/amd64/'
                my_time: '44 15 23 * *'
            - jessie:
                my_verdesc: 'jessie netboot'
                my_inst_url: 'http://d-i.debian.org/daily-images/amd64/daily/netboot/debian-installer/amd64/'
                my_time: '43 15 23 * *'
            - sid_daily:
                my_verdesc: 'sid daily build CD'
                my_inst_url: 'http://cdimage.debian.org/cdimage/daily-builds/sid_d-i/arch-latest/amd64/iso-cd/debian-testing-amd64-netinst.iso'
                my_time: '42 15 23 * *'
          my_title: 'Debian-Installer ({my_verdesc}) used for presentations'
          my_disksize: 1
          my_description: 'Use d-i for presentations via d-i preseeding (with <a href="https://jenkins.debian.net/d-i-preseed-cfgs/debian_{my_ver}_presentation_preseed.cfg">this preseed.cfg</a>).'
          my_trigger: ''
          my_recipients: 'qa-jenkins-scm@lists.alioth.debian.org'

      - '{name}_debian_{my_ver}_{my_profile}_{my_theme}':
          my_ver: sid_daily
          my_profile: rescue
          my_theme:
            - 'default_theme':
                my_theme_desc: ''
                my_time: '42 6 * * *'
            - 'dark_theme':
                my_theme_desc: ', using theme=dark'
                my_time: '42 6 * * 7'
          my_title: 'Debian (sid daily build CD) rescue mode{my_theme_desc}'
          my_disksize: 1
          my_inst_url: 'http://cdimage.debian.org/cdimage/daily-builds/sid_d-i/arch-latest/amd64/iso-cd/debian-testing-amd64-netinst.iso'
          my_description: 'Just go into rescue mode{my_theme_desc}, via d-i preseeding (with <a href="https://jenkins.debian.net/d-i-preseed-cfgs/debian_sid_daily_rescue{my_theme}_preseed.cfg">this preseed.cfg</a>) using netboot gtk.'
          my_trigger: ''
          my_recipients: 'qa-jenkins-scm@lists.alioth.debian.org'