- project:
    name: builder-jobs
    jobs:
        - 'builder-verify-jjb'
        - 'builder-merge'
        - 'artifacts-api'

    project: 'releng'

- job-template:
    name: builder-verify-jjb

    parameters:
        - project-parameter:
            project: '{project}'
        - gerrit-parameter:
            branch: 'master'
    scm:
        - gerrit-trigger-scm:
            credentials-id: '{ssh-credentials}'
            refspec: '$GERRIT_REFSPEC'
            choosing-strategy: 'gerrit'

    triggers:
        - gerrit:
            trigger-on:
                - patchset-created-event:
                    exclude-drafts: 'false'
                    exclude-trivial-rebase: 'false'
                    exclude-no-code-change: 'false'
                - draft-published-event
                - comment-added-contains-event:
                    comment-contains-value: 'recheck'
                - comment-added-contains-event:
                    comment-contains-value: 'reverify'
            projects:
              - project-compare-type: 'ANT'
                project-pattern: 'releng'
                branches:
                  - branch-compare-type: 'ANT'
                    branch-pattern: '**/master'
                file-paths:
                    - compare-type: ANT
                      pattern: jjb/**
                    - compare-type: ANT
                      pattern: jjb-templates/**
                    - compare-type: ANT
                      pattern: utils/**


    builders:
        - shell:
            !include-raw: verify-releng

    publishers:
        - archive-artifacts:
            artifacts: 'job_output/*'

- job-template:
    name: 'builder-merge'

    # builder-merge job to run JJB update
    #
    # This job's purpose is to update all the JJB

    parameters:
        - project-parameter:
            project: '{project}'
        - gerrit-parameter:
            branch: 'master'

    scm:
        - gerrit-trigger-scm:
            credentials-id: '{ssh-credentials}'
            refspec: ''
            choosing-strategy: 'default'

    triggers:
        - gerrit:
            trigger-on:
                - change-merged-event
                - comment-added-contains-event:
                    comment-contains-value: 'remerge'
            projects:
              - project-compare-type: 'ANT'
                project-pattern: 'releng'
                branches:
                    - branch-compare-type: 'ANT'
                      branch-pattern: '**/master'
                file-paths:
                    - compare-type: ANT
                      pattern: jjb/**
                    - compare-type: ANT
                      pattern: utils/**

    builders:
        - shell: |
                source /opt/virtualenv/jenkins-job-builder/bin/activate
                cd /opt/jenkins-ci/releng
                git pull
                jenkins-jobs update --delete-old jjb/

- job-template:
    name: 'artifacts-api'

    # Generate and upload the JSON file to used for artifacts site

    parameters:
        - project-parameter:
            project: '{project}'
        - gerrit-parameter:
            branch: 'master'

    triggers:
        - timed: '@hourly'

    builders:
        - build-and-upload-artifacts-json-api