- job:
    name: jdkX-build-and-test
    project-type: multijob
    defaults: global
    description: |
        * This jobs builds the jdk images and runs tests and benchmarks against the built images.<br>
        * <b>Note:</b> this job is usually triggered by a source change (ie. the "jdkX-update-src-tree" job).<br>
        If it is run manually it will use the source tarball from the last successful build of that job.<br>
        * If this jobs runs to completion the results are published to http://openjdk.linaro.org/.
    properties:
        - authorization:
            anonymous:
                - job-read
                - job-extended-read
            openjdk-members:
                - job-build
                - job-cancel
        - build-discarder:
            days-to-keep: 30
            num-to-keep: 10
            artifact-num-to-keep: 5
    parameters:
        - string:
            name: YEAR
            default: 'default'
        - string:
            name: DAY_OF_YEAR
            default: 'default'
    disabled: true
    node: master
    display-name: 'DELETE ME'
    wrappers:
        - workspace-cleanup:
            dirmatch: false
        - timestamps
    builders:
        - multijob:
            name: 'OpenJDK Clean job'
            condition: SUCCESSFUL
            projects:
                - name: jdk-clean-job
                  current-parameters: true
                  kill-phase-on: NEVER
        - multijob:
            name: 'Build jdk images'
            condition: SUCCESSFUL
            projects:
              - name: jdkX-build-image
                current-parameters: true
                kill-phase-on: FAILURE
        # Get depenencies for subsequent jobs.
        - multijob:
            name: 'Get Deps'
            condition: ALWAYS
            projects:
              - name: jdkX-get-deps
                current-parameters: true
                kill-phase-on: FAILURE
# FIXME - set SPECjbb2015 benchmark continuation condition from SUCCESSFUL to ALWAYS
# Exception in thread "main" java.util.ServiceConfigurationError:
# org.spec.jbb.core.comm.connectivity.ConnectivityProvider:
# Provider org.spec.jbb.core.comm.connectivity.GrizzlyNioProvider could not be instantiated
# Caused by: java.lang.IllegalStateException: java.lang.RuntimeException: java.lang.NullPointerException
        - multijob:
            name: 'SPECjbb2015 benchmark'
            condition: ALWAYS
            projects:
              - name: jdkX-specjbb2015-benchmark
                current-parameters: true
                kill-phase-on: FAILURE
        - multijob:
            name: '1GB Terasort benchmark'
            condition: SUCCESSFUL
            projects:
              - name: jdkX-terasort-benchmark
                current-parameters: true
                kill-phase-on: NEVER
        - multijob:
            name: 'JTREG tests'
            condition: SUCCESSFUL
            projects:
              - name: jdkX-jtreg-test
                current-parameters: true
                predefined-parameters: 'XJTREG_SUBCATEGORIES=tools/javap/typeAnnotations'
                kill-phase-on: NEVER
        - multijob:
            name: 'jcstress'
            condition: COMPLETED
            projects:
              - name: jdkX-jcstress-test
                current-parameters: true
                kill-phase-on: FAILURE
        - multijob:
            name: 'Publish results to openjdk.linaro.org'
            condition: SUCCESSFUL
            projects:
              - name: jdkX-publish-and-report
                current-parameters: true
                kill-phase-on: FAILURE
        - copyartifact:
            project: jdkX-update-src-tree
            filter: 'out/*'
            target: out
            flatten: true
        - copyartifact:
            project: jdkX-build-image
            filter: 'out/**/*'
            target: out
            flatten: true
        - copyartifact:
            project: jdkX-specjbb2015-benchmark
            filter: 'out/**/*'
            target: out
            flatten: true
        - copyartifact:
            project: jdkX-terasort-benchmark
            filter: 'out/**/*'
            target: out
            flatten: true
        - copyartifact:
            project: jdkX-jtreg-test
            filter: 'out/**/*'
            target: out
            flatten: true
            stable: true
        - copyartifact:
            project: jdkX-jcstress-test
            filter: 'out/**/*'
            target: out
            flatten: true
    publishers:
        - archive:
            artifacts: 'out/**/*'
