From: Thanh Ha Date: Mon, 16 Oct 2017 02:05:02 +0000 (+0000) Subject: Merge "Migrate node-verify job to global-jjb" X-Git-Tag: v0.10.0~2 X-Git-Url: https://gerrit.linuxfoundation.org/infra/gitweb?a=commitdiff_plain;h=23439aa19a33555114efea80bbe1654be9840f32;hp=228fd6f92c633917139146271f8d8327ca11bffa;p=releng%2Fglobal-jjb.git Merge "Migrate node-verify job to global-jjb" --- diff --git a/.jjb-test/expected-xml/gerrit-python-tox-verify-master b/.jjb-test/expected-xml/gerrit-python-tox-verify-master index eaaf1901..aecf9b7c 100644 --- a/.jjb-test/expected-xml/gerrit-python-tox-verify-master +++ b/.jjb-test/expected-xml/gerrit-python-tox-verify-master @@ -330,6 +330,10 @@ run_tox() { local log_dir="$1" local env="$2" + # Sleep a random 10 second interval to workaround tox sdist + # conflicts due to building in the same dist directory. + sleep $[ ( $RANDOM % 10 ) + 1 ]s + echo "-----> Running tox $env" if ! tox -e $env > "$log_dir/tox-$env.log"; then echo "$env" >> "$log_dir/failed-envs.log" diff --git a/.jjb-test/expected-xml/github-python-tox-verify-master b/.jjb-test/expected-xml/github-python-tox-verify-master index c2663421..34e8959b 100644 --- a/.jjb-test/expected-xml/github-python-tox-verify-master +++ b/.jjb-test/expected-xml/github-python-tox-verify-master @@ -292,6 +292,10 @@ run_tox() { local log_dir="$1" local env="$2" + # Sleep a random 10 second interval to workaround tox sdist + # conflicts due to building in the same dist directory. + sleep $[ ( $RANDOM % 10 ) + 1 ]s + echo "-----> Running tox $env" if ! tox -e $env > "$log_dir/tox-$env.log"; then echo "$env" >> "$log_dir/failed-envs.log" diff --git a/jjb/lf-maven-jobs.yaml b/jjb/lf-maven-jobs.yaml index eaa4ef87..93749cd9 100644 --- a/jjb/lf-maven-jobs.yaml +++ b/jjb/lf-maven-jobs.yaml @@ -100,8 +100,23 @@ # the project. # # Optional parameters: - # mvn-global-settings: The name of the Maven global settings to use for - # Maven configuration. (default: global-settings) + # + # :branch: The branch to build against. (default: master) + # :build-days-to-keep: Days to keep build logs in Jenkins. (default: 7) + # :build-timeout: Timeout in seconds before aborting build. (default: 60) + # :git-url: URL clone project from. (default: $GIT_URL/$PROJECT) + # :java-version: Version of Java to use for the build. (default: openjdk8) + # :mvn-global-settings: The name of the Maven global settings to use for + # Maven configuration. (default: global-settings) + # :mvn-opts: Sets MAVEN_OPTS. (default: '') + # :mvn-params: Additional mvn parameters to pass to the cli. (default: '') + # :mvn-version: Version of maven to use. (default: mvn33) + # :stream: Keyword that can be used to represent a release code-name. + # Often the same as the branch. (default: master) + # :submodule-recursive: Whether to checkout submodules recursively. + # (default: true) + # + # :gerrit_merge_triggers: Override Gerrit Triggers. ###################### # Default parameters # @@ -116,12 +131,10 @@ mvn-opts: '' mvn-params: '' mvn-version: mvn33 + staging-profile-id: '' # Unused in this job stream: master submodule-recursive: true - # Staging repos do not make sense for CLM jobs so set it blank. - staging-profile-id: '' - ##################### # Job Configuration # ##################### @@ -214,10 +227,12 @@ # :mvn-opts: Sets MAVEN_OPTS. (default: '') # :mvn-params: Additional mvn parameters to pass to the cli. (default: '') # :mvn-version: Version of maven to use. (default: mvn33) + # :stream: Keyword that can be used to represent a release code-name. + # Often the same as the branch. (default: master) # :submodule-recursive: Whether to checkout submodules recursively. # (default: true) # - # :gerrit_javadoc_merge_triggers: Override Gerrit Triggers. + # :gerrit_merge_triggers: Override Gerrit Triggers. ###################### # Default parameters # @@ -236,7 +251,7 @@ stream: master submodule-recursive: true - gerrit_javadoc_merge_triggers: + gerrit_merge_triggers: - change-merged-event - comment-added-contains-event: comment-contains-value: remerge$ @@ -283,7 +298,7 @@ triggers: - gerrit: server-name: '{gerrit-server-name}' - trigger-on: '{obj:gerrit_javadoc_merge_triggers}' + trigger-on: '{obj:gerrit_merge_triggers}' projects: - project-compare-type: ANT project-pattern: '{project}' @@ -356,10 +371,12 @@ # :mvn-opts: Sets MAVEN_OPTS. (default: '') # :mvn-params: Additional mvn parameters to pass to the cli. (default: '') # :mvn-version: Version of maven to use. (default: mvn33) + # :stream: Keyword that can be used to represent a release code-name. + # Often the same as the branch. (default: master) # :submodule-recursive: Whether to checkout submodules recursively. # (default: true) # - # :gerrit_javadoc_verify_triggers: Override Gerrit Triggers. + # :gerrit_verify_triggers: Override Gerrit Triggers. ###################### # Default parameters # @@ -378,7 +395,7 @@ stream: master submodule-recursive: true - gerrit_javadoc_verify_triggers: + gerrit_verify_triggers: - patchset-created-event: exclude-drafts: true exclude-trivial-rebase: false @@ -421,7 +438,7 @@ triggers: - gerrit: server-name: '{gerrit-server-name}' - trigger-on: '{obj:gerrit_javadoc_verify_triggers}' + trigger-on: '{obj:gerrit_verify_triggers}' projects: - project-compare-type: ANT project-pattern: '{project}' @@ -475,6 +492,7 @@ # directory can then be reused later to deploy to Nexus. # # 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) @@ -485,12 +503,27 @@ # :staging-profile-id: Profile ID of the project's Nexus staging profile. # # Optional parameters: - # :gerrit_verify_triggers: Override Gerrit Triggers. - # :mvn-global-settings: The name of the Maven global settings to use for - # Maven configuration. (default: global-settings) + # + # :branch: The branch to build against. (default: master) + # :build-days-to-keep: Days to keep build logs in Jenkins. (default: 7) + # :build-timeout: Timeout in seconds before aborting build. (default: 60) # :cron: Cron schedule when to trigger the job. This parameter also # supports multiline input via YAML pipe | character in cases where # one may want to provide more than 1 cron timer. (default: '') + # :deploy-path: The path in Nexus to deploy javadoc to. (default: $PROJECT/$STREAM) + # :git-url: URL clone project from. (default: $GIT_URL/$PROJECT) + # :java-version: Version of Java to use for the build. (default: openjdk8) + # :mvn-global-settings: The name of the Maven global settings to use for + # Maven configuration. (default: global-settings) + # :mvn-opts: Sets MAVEN_OPTS. (default: '') + # :mvn-params: Additional mvn parameters to pass to the cli. (default: '') + # :mvn-version: Version of maven to use. (default: mvn33) + # :stream: Keyword that can be used to represent a release code-name. + # Often the same as the branch. (default: master) + # :submodule-recursive: Whether to checkout submodules recursively. + # (default: true) + # + # :gerrit_release_triggers: Override Gerrit Triggers. ###################### # Default parameters # @@ -499,6 +532,7 @@ branch: master build-days-to-keep: 30 # 30 days in case a release takes long to get approved. build-timeout: 30 + cron: '' git-url: '$GIT_URL/$PROJECT' java-version: openjdk8 mvn-global-settings: global-settings @@ -507,7 +541,6 @@ mvn-version: mvn33 stream: master submodule-recursive: true - cron: '' gerrit_release_triggers: - comment-added-contains-event: @@ -628,6 +661,8 @@ # :mvn-opts: Sets MAVEN_OPTS. (default: '') # :mvn-params: Additional mvn parameters to pass to the cli. (default: '') # :mvn-version: Version of maven to use. (default: mvn33) + # :stream: Keyword that can be used to represent a release code-name. + # Often the same as the branch. (default: master) # :submodule-recursive: Whether to checkout submodules recursively. # (default: true) # @@ -646,6 +681,7 @@ mvn-opts: '' mvn-params: '' mvn-version: mvn33 + staging-profile-id: '' # Unused in this job stream: master submodule-recursive: true @@ -653,9 +689,6 @@ - comment-added-contains-event: comment-contains-value: run-sonar$ - # Staging repos do not make sense for CLM jobs so set it blank. - staging-profile-id: '' - ##################### # Job Configuration # ##################### @@ -806,6 +839,7 @@ mvn-opts: '' mvn-params: '-Dstream=$STREAM' mvn-version: mvn33 + staging-profile-id: '' # Unused in this job stream: master submodule-recursive: true diff --git a/jjb/lf-python-jobs.yaml b/jjb/lf-python-jobs.yaml index 5a58d2de..904a3f16 100644 --- a/jjb/lf-python-jobs.yaml +++ b/jjb/lf-python-jobs.yaml @@ -24,20 +24,38 @@ - lf_tox_verify: &lf_tox_verify name: lf-tox-verify - # Required Variables: - # branch: git branch (default: master) - # tox-dir: directory containing the project's tox.ini relative to - # the workspace. Empty works if tox.ini is at project root. - - project-type: freestyle - node: '{build-node}' - concurrent: true + # Tox runner to verify a project + # + # Runs tox to verify a project. + # + # 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: The branch to build against. (default: master) + # :build-days-to-keep: Days to keep build logs in Jenkins. (default: 7) + # :build-timeout: Timeout in seconds before aborting build. (default: 10) + # :git-url: URL clone project from. (default: $GIT_URL/$PROJECT) + # :stream: Keyword that can be used to represent a release code-name. + # Often the same as the branch. (default: master) + # :submodule-recursive: Whether to checkout submodules recursively. + # (default: true) + # :tox-dir: Directory containing the project's tox.ini relative to + # the workspace. Empty works if tox.ini is at project root. + # (default: '') + # :tox-envs: Tox environments to run. If blank run everything described + # in tox.ini. (default: '') ###################### # Default parameters # ###################### branch: master + build-days-to-keep: 7 build-timeout: 10 git-url: '$GIT_URL/$GERRIT_PROJECT' stream: master @@ -49,9 +67,13 @@ # Job Configuration # ##################### + project-type: freestyle + node: '{build-node}' + concurrent: true + properties: - lf-infra-properties: - build-days-to-keep: 7 + build-days-to-keep: '{build-days-to-keep}' parameters: - lf-infra-parameters: diff --git a/jjb/lf-rtd-jobs.yaml b/jjb/lf-rtd-jobs.yaml index 64c6dac5..9feaec19 100644 --- a/jjb/lf-rtd-jobs.yaml +++ b/jjb/lf-rtd-jobs.yaml @@ -74,18 +74,22 @@ # # 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) # :rtd-project: This is the name of the project on ReadTheDocs.org. # # 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-node: The node to run build on. # :build-timeout: Timeout in seconds before aborting build. (default: 15) # :git-url: base URL of git project. (default: https://github.com) # :project-pattern: Project to trigger build against. (default: **) # :stream: Keyword that can be used to represent a release code-name. # Often the same as the branch. (default: master) + # :submodule-recursive: Whether to checkout submodules recursively. + # (default: true) # # :gerrit_merge_triggers: Override Gerrit Triggers. # :gerrit_trigger_file_paths: Override file paths which can be used to @@ -172,7 +176,13 @@ name: lf-rtd-verify # Verify job which runs a tox build of the docs project # - # Optional parameters: + # 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) diff --git a/shell/tox-run.sh b/shell/tox-run.sh index e24e9740..3bf15760 100644 --- a/shell/tox-run.sh +++ b/shell/tox-run.sh @@ -27,6 +27,10 @@ run_tox() { local log_dir="$1" local env="$2" + # Sleep a random 10 second interval to workaround tox sdist + # conflicts due to building in the same dist directory. + sleep $[ ( $RANDOM % 10 ) + 1 ]s + echo "-----> Running tox $env" if ! tox -e $env > "$log_dir/tox-$env.log"; then echo "$env" >> "$log_dir/failed-envs.log"