From: Andrew Grimberg Date: Mon, 20 Aug 2018 17:00:49 +0000 (+0000) Subject: Merge "Require IMAGE_NAME and HARDWARE_ID" X-Git-Tag: v0.24.0~7 X-Git-Url: https://gerrit.linuxfoundation.org/infra/gitweb?a=commitdiff_plain;h=8841efc244283ee218495fb303a4632328665c9e;hp=40baa00e9dfc838fd7f8b47b5906158a7c6f4d85;p=releng%2Fglobal-jjb.git Merge "Require IMAGE_NAME and HARDWARE_ID" --- diff --git a/docs/jjb/lf-ci-jobs.rst b/docs/jjb/lf-ci-jobs.rst index 88a69ade..e818e32d 100644 --- a/docs/jjb/lf-ci-jobs.rst +++ b/docs/jjb/lf-ci-jobs.rst @@ -392,8 +392,6 @@ Runs `jenkins-jobs update` to update production job configuration :build-node: The node to run build on. :jenkins-ssh-credential: Credential to use for SSH. (Generally should be configured in defaults.yaml) - :mvn-settings: The name of settings file containing credentials for - the project. :Optional parameters: @@ -430,8 +428,6 @@ Runs `jenkins-jobs test` to validate JJB syntax :build-node: The node to run build on. :jenkins-ssh-credential: Credential to use for SSH. (Generally should be configured in defaults.yaml) - :mvn-settings: The name of settings file containing credentials for - the project. :Optional parameters: @@ -450,6 +446,37 @@ Runs `jenkins-jobs test` to validate JJB syntax filter which file modifications will trigger a build. (default defined by lf_jjb_common) +.. _jjb-verify-upstream-gjjb: + +JJB Verify Upstream Global JJB +------------------------------ + +Runs ``jenkins-jobs test`` to validate JJB syntax for upstream global-jjb +patches. This job is useful to notify upstream that they may be breaking +project level jobs. + +:Template Names: + - {project-name}-jjb-verify-upstream-gjjb + - gerrit-jjb-verify-upstream-gjjb + +:Comment Trigger: recheck|reverify + +:Required parameters: + + :build-node: The node to run build on. + :jenkins-ssh-credential: Credential to use for SSH. (Generally should + be configured in defaults.yaml) + +:Optional parameters: + + :branch: Git branch to fetch for the build. (default: master) + :build-days-to-keep: Days to keep build logs in Jenkins. (default: 7) + :build-timeout: Timeout in minutes before aborting build. (default: 10) + :git-url: URL clone project from. (default: $GIT_URL/$PROJECT) + :jjb-version: JJB version to install. (default: see job-template) + :stream: Keyword that can be used to represent a release code-name. + Often the same as the branch. (default: master) + .. _info-yaml-verify: Info YAML Verify diff --git a/jjb/lf-c-cpp-jobs.yaml b/jjb/lf-c-cpp-jobs.yaml index 6b24038f..5e854484 100644 --- a/jjb/lf-c-cpp-jobs.yaml +++ b/jjb/lf-c-cpp-jobs.yaml @@ -15,6 +15,7 @@ build-dir: '$WORKSPACE/target' build-timeout: 15 cmake-opts: '' + cron: '@daily' git-url: '$GIT_URL/$PROJECT' github-url: 'https://github.com' install-prefix: '$BUILD_DIR/output' @@ -116,6 +117,7 @@ choosing-strategy: gerrit triggers: + - timed: '{obj:cron}' - gerrit: server-name: '{gerrit-server-name}' trigger-on: @@ -150,6 +152,7 @@ jenkins-ssh-credential: '{jenkins-ssh-credential}' triggers: + - timed: '{obj:cron}' - github-pull-request: trigger-phrase: '^(stage-release)$' only-trigger-phrase: true diff --git a/jjb/lf-ci-jobs.yaml b/jjb/lf-ci-jobs.yaml index 5532a3e0..3ebe6a3a 100644 --- a/jjb/lf-ci-jobs.yaml +++ b/jjb/lf-ci-jobs.yaml @@ -798,6 +798,82 @@ white-list-target-branches: - '{branch}' +############################ +# JJB Verify Upstream GJJB # +############################ + +- lf_jjb_verify: &lf_jjb_verify_upstream_gjjb + name: lf-jjb-verify-upstream-gjjb + + ##################### + # Job Configuration # + ##################### + + concurrent: true + + builders: + - shell: | + cd jjb/global-jjb + git fetch https://gerrit.linuxfoundation.org/infra/releng/global-jjb $GERRIT_REFSPEC + git cherry-pick FETCH_HEAD + - lf-infra-jjbini + - shell: !include-raw-escape: + - ../shell/git-validate-jira-urls.sh + - ../shell/jjb-install.sh + - ../shell/jjb-verify-job.sh + - ../shell/jjb-check-unicode.sh + - ../shell/jjb-cleanup.sh + - lf-infra-gpg-verify-git-signature + +- job-template: + name: '{project-name}-jjb-verify-upstream-gjjb' + id: gerrit-jjb-verify-upstream-gjjb + <<: *lf_jjb_common + # yamllint disable-line rule:key-duplicates + <<: *lf_jjb_verify_upstream_gjjb + + ###################### + # Default parameters # + ###################### + + git-url: '$GIT_URL/$PROJECT' + + ##################### + # Job Configuration # + ##################### + + scm: + - lf-infra-gerrit-scm: + git-url: '{git-url}' + refspec: '' + branch: 'master' + submodule-recursive: true + choosing-strategy: default + jenkins-ssh-credential: '{jenkins-ssh-credential}' + + triggers: + - gerrit: + server-name: 'LinuxFoundation' + trigger-on: + - patchset-created-event: + exclude-drafts: true + exclude-trivial-rebase: false + exclude-no-code-change: false + - draft-published-event + - comment-added-contains-event: + comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$' + projects: + - project-compare-type: ANT + project-pattern: 'releng/global-jjb' + branches: + - branch-compare-type: ANT + branch-pattern: '**/master' + override-votes: true + gerrit-build-failed-codereview-value: -1 + gerrit-build-failed-verified-value: 0 + gerrit-build-successful-codereview-value: 1 + gerrit-build-successful-verified-value: 0 + ################# # License Check # ################# diff --git a/jjb/lf-macros.yaml b/jjb/lf-macros.yaml index 6f77339f..16cd33c6 100644 --- a/jjb/lf-macros.yaml +++ b/jjb/lf-macros.yaml @@ -310,12 +310,6 @@ # yamllint disable-line rule:line-length default: '/w/tools/hudson.tasks.Maven_MavenInstallation/{mvn-version}/bin/mvn' description: 'Maven selector to be used by shell scripts' - - string: - name: STAGING_PROFILE_ID - default: '{staging-profile-id}' - description: | - Nexus staging profile ID. - - parameter: name: lf-infra-openstack-parameters diff --git a/jjb/lf-maven-jobs.yaml b/jjb/lf-maven-jobs.yaml index 7a574700..61fc2b93 100644 --- a/jjb/lf-maven-jobs.yaml +++ b/jjb/lf-maven-jobs.yaml @@ -128,8 +128,6 @@ mvn-opts: '{mvn-opts}' mvn-params: '{mvn-params}' mvn-version: '{mvn-version}' - # Staging repos do not make sense for CLM jobs so set it blank. - staging-profile-id: '{staging-profile-id}' - string: name: ARCHIVE_ARTIFACTS default: '{archive-artifacts}' @@ -169,7 +167,6 @@ mvn-params: '' mvn-version: mvn35 nexus-iq-stage: 'build' - staging-profile-id: '' # Unused in this job stream: master submodule-recursive: true @@ -194,8 +191,6 @@ mvn-opts: '{mvn-opts}' mvn-params: '{mvn-params}' mvn-version: '{mvn-version}' - # Staging repos do not make sense for CLM jobs so set it blank. - staging-profile-id: '{staging-profile-id}' - string: name: ARCHIVE_ARTIFACTS default: '{archive-artifacts}' @@ -320,7 +315,6 @@ mvn-opts: '' mvn-params: '' mvn-version: mvn35 - staging-profile-id: '' # Unused by the javadoc jobs stream: master submodule-recursive: true @@ -441,7 +435,6 @@ mvn-opts: '' mvn-params: '' mvn-version: mvn35 - staging-profile-id: '' # Unused by the javadoc jobs stream: master submodule-recursive: true @@ -546,7 +539,7 @@ branch: master build-days-to-keep: 30 # 30 days in case we need to troubleshoot build-timeout: 60 - cron: 'H H * * 0' # push fresh snapshot weekly + cron: '@daily' git-url: '$GIT_URL/$PROJECT' github-url: 'https://github.com' java-version: openjdk8 @@ -556,7 +549,6 @@ mvn-params: '-Dmerge' mvn-version: mvn35 nexus-cut-dirs: 6 # Number of dirs in the Nexus path to remove for wget -r. - staging-profile-id: '' # Unused by this job. stream: master submodule-recursive: true @@ -660,6 +652,7 @@ jenkins-ssh-credential: '{jenkins-ssh-credential}' triggers: + - timed: '{obj:cron}' - github - pollscm: cron: '' @@ -691,7 +684,7 @@ branch: master build-days-to-keep: 30 # 30 days in case a release takes long to get approved. build-timeout: 60 - cron: '' + cron: '@daily' git-url: '$GIT_URL/$PROJECT' github-url: 'https://github.com' java-version: openjdk8 @@ -711,6 +704,26 @@ # Job Configuration # ##################### + parameters: + - lf-infra-parameters: + project: '{project}' + branch: '{branch}' + stream: '{stream}' + lftools-version: '{lftools-version}' + - lf-infra-maven-parameters: + mvn-opts: '{mvn-opts}' + mvn-params: '{mvn-params}' + mvn-version: '{mvn-version}' + staging-profile-id: '{staging-profile-id}' + - string: + name: ARCHIVE_ARTIFACTS + default: '{archive-artifacts}' + description: Artifacts to archive to the logs server. + - string: + name: STAGING_PROFILE_ID + default: '{staging-profile-id}' + description: Nexus staging profile ID. + builders: - lf-jacoco-nojava-workaround - lf-maven-install: @@ -814,7 +827,6 @@ mvn-params: '' mvn-version: mvn35 sonar-mvn-goal: 'sonar:sonar' - staging-profile-id: '' # Unused in this job stream: master submodule-recursive: true @@ -836,8 +848,6 @@ mvn-opts: '{mvn-opts}' mvn-params: '{mvn-params}' mvn-version: '{mvn-version}' - # Staging repos do not make sense for Sonar jobs so set it blank. - staging-profile-id: '' - string: name: ARCHIVE_ARTIFACTS default: '{archive-artifacts}' @@ -967,7 +977,6 @@ mvn-opts: '' mvn-params: '-Dstream=$STREAM' mvn-version: mvn35 - staging-profile-id: '' # Unused in this job stream: master submodule-recursive: true @@ -1097,7 +1106,6 @@ mvn-opts: '' mvn-params: '-Dstream=$STREAM' mvn-version: mvn35 - staging-profile-id: '' # Unused by this job stream: master submodule-recursive: true diff --git a/jjb/lf-python-jobs.yaml b/jjb/lf-python-jobs.yaml index 441e5381..a191c094 100644 --- a/jjb/lf-python-jobs.yaml +++ b/jjb/lf-python-jobs.yaml @@ -96,7 +96,6 @@ github-url: 'https://github.com' java-version: openjdk8 nexus-iq-cli-version: 1.44.0-01 - staging-profile-id: '' # Unused in this job stream: master submodule-recursive: true