--- # Global macros # PARAMETERS - parameter: name: agl-infra-parameters parameters: - string: name: PROJECT default: '{project}' # yamllint disable rule:line-length description: "JJB configured PROJECT parameter to identify a Gerrit project" # yamllint enable - string: name: GERRIT_BRANCH default: '{branch}' description: "JJB configured GERRIT_BRANCH parameter" - string: name: GERRIT_PROJECT default: '{project}' description: "GERRIT_PROJECT parameter if not given by trigger" - string: name: GERRIT_REFSPEC default: '{refspec}' description: "GERRIT_REFSPEC parameter if not given by trigger" # SCMS - scm: name: git-scm scm: - git: credentials-id: 'd28b1f3b-3603-49bc-b837-bb0a2e85d4b8' url: '$GIT_BASE' refspec: '' branches: - 'origin/${branch}' skip-tag: true wipe-workspace: true - scm: name: gerrit-trigger-scm scm: - git: credentials-id: 'd28b1f3b-3603-49bc-b837-bb0a2e85d4b8' url: '$GIT_BASE' refspec: '{refspec}' branches: - 'origin/$GERRIT_BRANCH' skip-tag: true choosing-strategy: '{choosing-strategy}' - scm: name: gerrit-trigger-scm-basedir scm: - git: credentials-id: 'd28b1f3b-3603-49bc-b837-bb0a2e85d4b8' url: '$GIT_BASE' refspec: '{refspec}' branches: - 'origin/$GERRIT_BRANCH' skip-tag: true choosing-strategy: '{choosing-strategy}' basedir: '{basedir}' - scm: name: git-branch-scm scm: - git: credentials-id: 'd28b1f3b-3603-49bc-b837-bb0a2e85d4b8' url: '$GIT_BASE' refspec: '' branches: - 'origin/{branch}' skip-tag: true wipe-workspace: true # TRIGGERS - trigger: name: gerrit-trigger-patch-submitted triggers: - gerrit: server-name: 'gerrit.automotivelinux.org' trigger-on: - patchset-created-event: exclude-drafts: 'true' exclude-trivial-rebase: 'true' exclude-no-code-change: 'true' exclude-private: 'true' exclude-wip: 'true' - draft-published-event - comment-added-contains-event: comment-contains-value: 'recheck$' - comment-added-contains-event: comment-contains-value: 'rebuild$' - comment-added-contains-event: comment-contains-value: 'reverify$' - comment-added-contains-event: comment-contains-value: 'RECHECK$' - comment-added-contains-event: comment-contains-value: 'REBUILD$' - comment-added-contains-event: comment-contains-value: 'REVERIFY$' projects: - project-compare-type: 'ANT' project-pattern: '{name}' branches: - branch-compare-type: 'ANT' branch-pattern: '**/{branch}' file-paths: - compare-type: ANT pattern: '{files}' - trigger: name: gerrit-trigger-patch-submitted-manual-verified-silent triggers: - gerrit: server-name: 'gerrit.automotivelinux.org' trigger-on: - patchset-created-event: exclude-drafts: 'true' exclude-trivial-rebase: 'true' exclude-no-code-change: 'true' exclude-private: 'true' exclude-wip: 'true' - draft-published-event - comment-added-contains-event: comment-contains-value: 'recheck$' - comment-added-contains-event: comment-contains-value: 'rebuild$' - comment-added-contains-event: comment-contains-value: 'reverify$' - comment-added-contains-event: comment-contains-value: 'RECHECK$' - comment-added-contains-event: comment-contains-value: 'REBUILD$' - comment-added-contains-event: comment-contains-value: 'REVERIFY$' projects: - project-compare-type: 'ANT' project-pattern: '{name}' branches: - branch-compare-type: 'ANT' branch-pattern: '**/{branch}' gerrit-build-started-verified-value: 0 gerrit-build-successful-verified-value: 1 gerrit-build-failed-verified-value: 0 skip-vote: successful: true failed: true unstable: true notbuilt: true silent: 'true' - trigger: name: gerrit-trigger-patch-submitted-manual-verified triggers: - gerrit: server-name: 'gerrit.automotivelinux.org' trigger-on: - patchset-created-event: exclude-drafts: 'true' exclude-trivial-rebase: 'true' exclude-no-code-change: 'true' exclude-private: 'true' exclude-wip: 'true' - draft-published-event - comment-added-contains-event: comment-contains-value: 'recheck$' - comment-added-contains-event: comment-contains-value: 'rebuild$' - comment-added-contains-event: comment-contains-value: 'reverify$' - comment-added-contains-event: comment-contains-value: 'RECHECK$' - comment-added-contains-event: comment-contains-value: 'REBUILD$' - comment-added-contains-event: comment-contains-value: 'REVERIFY$' projects: - project-compare-type: 'ANT' project-pattern: '{name}' branches: - branch-compare-type: 'ANT' branch-pattern: '**/{branch}' gerrit-build-started-verified-value: 0 gerrit-build-successful-verified-value: 1 gerrit-build-failed-verified-value: 0 skip-vote: successful: true failed: true unstable: true notbuilt: true silent: 'true' - trigger: name: gerrit-trigger-patch-submitted-silent triggers: - gerrit: server-name: 'gerrit.automotivelinux.org' trigger-on: - patchset-created-event: exclude-drafts: 'true' exclude-trivial-rebase: 'true' exclude-no-code-change: 'true' exclude-private: 'true' exclude-wip: 'true' - draft-published-event - comment-added-contains-event: comment-contains-value: 'recheck$' - comment-added-contains-event: comment-contains-value: 'rebuild$' - comment-added-contains-event: comment-contains-value: 'reverify$' - comment-added-contains-event: comment-contains-value: 'RECHECK$' - comment-added-contains-event: comment-contains-value: 'REBUILD$' - comment-added-contains-event: comment-contains-value: 'REVERIFY$' projects: - project-compare-type: 'ANT' project-pattern: '{name}' branches: - branch-compare-type: 'ANT' branch-pattern: '**/{branch}' silent: 'true' - trigger: name: gerrit-trigger-patch-submitted-silent-start triggers: - gerrit: server-name: 'gerrit.automotivelinux.org' trigger-on: - patchset-created-event: exclude-drafts: 'true' exclude-trivial-rebase: 'true' exclude-no-code-change: 'true' exclude-private: 'true' exclude-wip: 'true' - draft-published-event - comment-added-contains-event: comment-contains-value: 'recheck$' - comment-added-contains-event: comment-contains-value: 'rebuild$' - comment-added-contains-event: comment-contains-value: 'reverify$' - comment-added-contains-event: comment-contains-value: 'RECHECK$' - comment-added-contains-event: comment-contains-value: 'REBUILD$' - comment-added-contains-event: comment-contains-value: 'REVERIFY$' projects: - project-compare-type: 'ANT' project-pattern: '{name}' branches: - branch-compare-type: 'ANT' branch-pattern: '**/{branch}' silent-start: 'true' - trigger: name: gerrit-trigger-patch-merged triggers: - gerrit: server-name: 'gerrit.automotivelinux.org' trigger-on: - change-merged-event - comment-added-contains-event: comment-contains-value: 'remerge$' projects: - project-compare-type: 'ANT' project-pattern: '{name}' branches: - branch-compare-type: 'ANT' branch-pattern: '**/{branch}' - trigger: name: gerrit-trigger-patch-abandoned triggers: - gerrit: server-name: 'gerrit.automotivelinux.org' trigger-on: - change-abandoned-event - comment-added-contains-event: comment-contains-value: 'remove-the-artifacts$' projects: - project-compare-type: 'ANT' project-pattern: '{name}' branches: - branch-compare-type: 'ANT' branch-pattern: '**/{branch}' - trigger: name: gerrit-trigger-silent-patch-submitted triggers: - gerrit: server-name: 'gerrit.automotivelinux.org' trigger-on: - patchset-created-event: exclude-drafts: 'true' exclude-trivial-rebase: 'true' exclude-no-code-change: 'true' exclude-private: 'true' exclude-wip: 'true' - 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: '{name}' branches: - branch-compare-type: 'ANT' branch-pattern: '**/{branch}' silent-start: 'true' - trigger: name: gerrit-trigger-silent-full-check triggers: - gerrit: server-name: 'gerrit.automotivelinux.org' trigger-on: - comment-added-contains-event: comment-contains-value: 'fullcheck' projects: - project-compare-type: 'ANT' project-pattern: '{name}' branches: - branch-compare-type: 'ANT' branch-pattern: '**/{branch}' silent-start: 'true' - trigger: name: gerrit-trigger-silent-patch-merged triggers: - gerrit: server-name: 'gerrit.automotivelinux.org' trigger-on: - change-merged-event - comment-added-contains-event: comment-contains-value: 'remerge$' projects: - project-compare-type: 'ANT' project-pattern: '{name}' branches: - branch-compare-type: 'ANT' branch-pattern: '**/{branch}' silent-start: 'true' - trigger: name: gerrit-trigger-silent-patch-merged-abandoned triggers: - gerrit: server-name: 'gerrit.automotivelinux.org' trigger-on: - change-merged-event - change-abandoned-event - comment-added-contains-event: comment-contains-value: 'remove-the-artifacts$' - comment-added-contains-event: comment-contains-value: 'remerge$' projects: - project-compare-type: 'ANT' project-pattern: '{name}' branches: - branch-compare-type: 'ANT' branch-pattern: '**/{branch}' silent-start: 'true' - trigger: name: gerrit-trigger-tag triggers: - gerrit: server-name: 'gerrit.automotivelinux.org' trigger-on: - ref-updated-event projects: - project-compare-type: 'ANT' project-pattern: '{name}' branches: - branch-compare-type: 'ANT' branch-pattern: 'refs/tags/**' # Publishers - publisher: name: archive-artifacts publishers: - archive: artifacts: '{artifacts}' allow-empty: true fingerprint: true latest-only: true - publisher: name: email-notification publishers: - email-ext: recipients: 'jsmoeller@linuxfoundation.org' reply-to: content-type: default # yamllint disable rule:line-length subject: '{email-prefix} $PROJECT_NAME - Build # $BUILD_NUMBER - $BUILD_STATUS!' # yamllint enable body: | $PROJECT_NAME - Build # $BUILD_NUMBER - $BUILD_STATUS: Check console output at $BUILD_URL to view the results. unstable: true fixed: true send-to: - developers - recipients # BUILDERS - builder: name: ci-management-check-unicode builders: - shell: | $WORKSPACE/scripts/check-unicode.sh jjb/ # WRAPPERS - wrapper: name: build-timeout wrappers: - timeout: type: absolute timeout: 420 fail: true - wrapper: # This wrapper is required for all jobs as it configures the wrappers # needed by the automotivelinux.org infra. name: agl-infra-wrappers wrappers: - timeout: type: absolute timeout: '{build-timeout}' timeout-var: 'BUILD_TIMEOUT' fail: true - ssh-agent-credentials: users: - 'd28b1f3b-3603-49bc-b837-bb0a2e85d4b8' - '2d097b8f-bc4a-4222-b496-4ac6332015d7' - ansicolor - openstack: single-use: false - property: name: agl-infra-properties properties: - build-discarder: days-to-keep: '{build-days-to-keep}' num-to-keep: '{build-num-to-keep}' - builder: name: packer-validate builders: - config-file-provider: files: - file-id: 'packer-cloud-env' variable: 'CLOUDENV' - shell: | #!/bin/bash -x cd packer varfiles="../packer/vars/*" templates="../packer/templates/*" provision="../packer/provision/*.sh" for v in $varfiles; do [[ ${v##*/} =~ ^(cloud-env.*|lava-env.*|README.md)$ ]] && continue for t in $templates; do [[ ${t##*/} =~ ^(cloud-env.*|lava-env.*|README.md)$ ]] && continue export PACKER_LOG="yes" && \ export PACKER_LOG_PATH="packer-validate-${v##*/}-${t##*/}.log" && \ packer.io validate -var-file=$CLOUDENV \ -var-file=$v $t if [ $? -ne 0 ]; then exit 1 fi done done # todo: migrate to linting with shellcheck for p in $provision; do /bin/bash -n $p > provision-validate-${p##*/}.log 2>&1 done - builder: name: packer-build builders: - config-file-provider: files: - file-id: 'packer-cloud-env' variable: 'CLOUDENV' - shell: | cd packer export PACKER_LOG="yes" && \ export PACKER_LOG_PATH="packer-build.log" && \ packer.io build -color=false -var-file=$CLOUDENV \ -var-file=../packer/vars/{platform}.json \ -parallel=false \ ../packer/templates/{template}.json