Zack Williams | cee76d2 | 2019-04-29 13:08:20 -0700 | [diff] [blame] | 1 | --- |
| 2 | # Makefile based unit test |
| 3 | |
| 4 | - job-template: |
| 5 | id: 'make-unit-test' |
| 6 | name: 'verify_{project}_unit-test{name-extension}' |
| 7 | |
| 8 | description: | |
| 9 | Created by {id} job-template from ci-management/jjb/make-unit.yaml<br/> |
| 10 | Runs make with the following unit tests targets - '{unit-test-targets}' |
| 11 | |
| 12 | triggers: |
| 13 | - cord-infra-gerrit-trigger-patchset: |
| 14 | gerrit-server-name: '{gerrit-server-name}' |
| 15 | project-regexp: '^{project}$' |
| 16 | branch-regexp: '{branch-regexp}' |
| 17 | dependency-jobs: '{dependency-jobs}' |
| 18 | file-include-regexp: '{all-files-regexp}' |
| 19 | |
| 20 | properties: |
| 21 | - cord-infra-properties: |
| 22 | build-days-to-keep: '{build-days-to-keep}' |
| 23 | artifact-num-to-keep: '{artifact-num-to-keep}' |
| 24 | |
| 25 | wrappers: |
| 26 | - lf-infra-wrappers: |
| 27 | build-timeout: '{build-timeout}' |
| 28 | jenkins-ssh-credential: '{jenkins-ssh-credential}' |
| 29 | |
| 30 | scm: |
| 31 | - cord-infra-gerrit-scm: |
| 32 | git-url: '$GIT_URL/$GERRIT_PROJECT' |
| 33 | refspec: '$GERRIT_REFSPEC' |
| 34 | branch: '$GERRIT_BRANCH' |
| 35 | submodule-recursive: 'false' |
| 36 | choosing-strategy: gerrit |
| 37 | jenkins-ssh-credential: '{jenkins-ssh-credential}' |
| 38 | basedir: '{project}' |
| 39 | |
| 40 | node: '{build-node}' |
| 41 | project-type: freestyle |
| 42 | concurrent: true |
| 43 | |
| 44 | builders: |
| 45 | - inject: |
| 46 | properties-content: | |
| 47 | DEST_GOPATH={dest-gopath} |
| 48 | UNIT_TEST_TARGETS={unit-test-targets} |
| 49 | UNIT_TEST_KEEP_GOING={unit-test-keep-going} |
Andy Bavier | 028398c | 2019-09-30 17:44:19 -0700 | [diff] [blame] | 50 | GOPROXY=https://proxy.golang.org |
Zack Williams | cee76d2 | 2019-04-29 13:08:20 -0700 | [diff] [blame] | 51 | - shell: !include-raw-escape: shell/make-unit.sh |
| 52 | |
| 53 | publishers: |
| 54 | - junit: |
| 55 | results: "**/*results.xml,**/*report.xml" |
| 56 | allow-empty-results: '{junit-allow-empty-results}' |
Zack Williams | 0d19657 | 2021-04-12 08:42:24 -0700 | [diff] [blame] | 57 | # NOTE: circa 2020-04-11, the Jenkins xUnit plugin version 3.x.x changed the |
| 58 | # config XML to not be JJB compatible, replacing the previous XML <types> tag |
| 59 | # with a <tools> tag. |
| 60 | # |
| 61 | # Temporarily switch to using raw XML to configure xUnit. |
| 62 | # |
| 63 | # The following xunit and XML should be equivalent, except that the variable |
| 64 | # `xunit-skip-if-no-test-files` is assumed to always be true. |
| 65 | # |
| 66 | # - xunit: |
| 67 | # types: |
| 68 | # - gtest: |
| 69 | # pattern: "**/*xunit.xml" |
| 70 | # deleteoutput: false |
| 71 | # skip-if-no-test-files: '{xunit-skip-if-no-test-files}' |
| 72 | # |
| 73 | - raw: |
| 74 | xml: | |
| 75 | <xunit plugin="xunit"> |
| 76 | <tools> |
| 77 | <GoogleTestType> |
| 78 | <pattern>**/*xunit.xml</pattern> |
| 79 | <failIfNotNew>true</failIfNotNew> |
| 80 | <deleteOutputFiles>false</deleteOutputFiles> |
| 81 | <skipNoTestFiles>True</skipNoTestFiles> |
| 82 | <stopProcessingIfError>true</stopProcessingIfError> |
| 83 | </GoogleTestType> |
| 84 | </tools> |
| 85 | <thresholds/> |
| 86 | <thresholdMode>1</thresholdMode> |
| 87 | <extraConfiguration> |
| 88 | <testTimeMargin>3000</testTimeMargin> |
| 89 | </extraConfiguration> |
| 90 | </xunit> |
Zack Williams | cee76d2 | 2019-04-29 13:08:20 -0700 | [diff] [blame] | 91 | - cobertura: |
| 92 | report-file: "**/*coverage.xml" |
| 93 | targets: |
| 94 | - files: |
| 95 | healthy: 80 |
| 96 | unhealthy: 0 |
| 97 | failing: 0 |
| 98 | - method: |
| 99 | healthy: 50 |
| 100 | unhealthy: 0 |
| 101 | failing: 0 |