org.hl7.fhir.core/test-unit-jobs-template.yml

57 lines
2.3 KiB
YAML
Raw Normal View History

Refactor Pull Request Pipeline (#1273) * Try multiple module target directories * Try different format * Try displaying cache task name + multiple caches * Name the maven artifact cache step + add all modules * Start consuming cached builds + targets * Fix job list * Fix other bad params * Fix bad indent * Try test task * Try different value syntax * Add all modules * See if cacheing works from linux to windows * Refactor as testUnits * Trim tested modules * missing colon * It's not an image anymore, it's a unit * Test exec * Test exec for real * Fix parameters format * Fix r5 url for package fetch (#1260) * Fix r5 url for package fetch * Revert previous commit * Make r6 the only packages fetched from build.fhir.org * Update RELEASE_NOTES.md * Update RELEASE_NOTES.md * Release: v6.0.6 ## Validator Changes * no changes ## Other code changes * Update R6 package tgz fetching ***NO_CI*** * Updating version to: 6.0.7-SNAPSHOT and incrementing test cases dependency. * Try using parameters * Try another way * Try third way * Try fourth way * Try fifth way * Try 6 * Try 7 * Apply refactor * Try iterating over images * Try iterating over images 2 * Test all images * Conditionally test multiplatform modules * Test JDKs too * Fix and() * Add JDK image to job names + test JDKs for exec * Better job name for setup * Fix names * more granular test configs * fix repeated jobs * name for exec jobs * fix missing s * Add placeholder Codecov job * Fix complaint about job name * Try moving codecov to test template * Add explicit module for test * Try setting up job name * Try setting up job name * Change job names to use underscore and alphanum * Move codecov job back to master-branch * Fix condition to match ubuntu_java_11 * Publish test reports * Publish test reports * use value for artifact name * Use variable for skipJaCoCo conditions * Skip validation temporarily * Change artifact names. * add jacoco:report-aggregate task * remove leftover cut and paste line * Improve test job display name * Add jacoco results + codecov upload * Fix accidental inclusions in module loop * Remove JaCoCo coverage condition * Bump down JaCoCo plugin * Rearrange JaCoCo plugin * Fix surefire and jacoco output * Add jacoco to pipeline * Try skipping maven cache step * Add codecov token * Add missing MAVEN_CACHE_FOLDER * Change variable syntax * Move setup to own template * Change setup template * rearrange pipeline yml, re-enable validation test module * Update core version bumps * Temporarily disable tests * Move to PR pipeline + Fix unused pool declaration * Disable some more. * Restore disabled and ignored tests * Fix task name + clean up old prototype --------- Co-authored-by: markiantorno <markiantorno@gmail.com>
2023-05-24 13:09:13 -04:00
jobs:
- ${{ each unit in parameters.testUnits }}:
- ${{ each value in unit.modules }}:
- job: ${{unit.name}}_${{value}}
dependsOn: [ 'setup' ]
displayName: Test ${{value}} on ${{unit.name}}
pool:
vmImage: ${{unit.vmImage}}
variables:
JAVA_TOOL_OPTIONS: ${{unit.javaToolOptions}}
skipJaCoCo: $[eq(${{unit.skipJaCoCo}}, true)]
steps:
- task: Cache@2
displayName: Cache maven artifacts
inputs:
key: maven | $(Build.BuildId) | artifacts
path: $(MAVEN_CACHE_FOLDER)
- template: cache-target-tasks-template.yml
parameters:
modules:
- org.hl7.fhir.${{ value }}
# Runs 'mvn install'
- task: Maven@3
inputs:
mavenPomFile: 'pom.xml'
options: '-Dmaven.repo.local=$(MAVEN_CACHE_FOLDER) -pl org.hl7.fhir.${{value}} -Djacoco.skip=${{unit.skipJaCoCo}} -P JACOCO'
mavenOptions: '-Xmx768m -Dmaven.resolver.transport=wagon'
javaHomeOption: 'JDKVersion'
jdkVersionOption: '${{unit.jdkVersion}}'
jdkArchitectureOption: 'x64'
publishJUnitResults: true
testResultsFiles: '**/surefire-reports/TEST-*.xml'
goals: 'verify jacoco:report'
- task: CopyFiles@2
condition: eq(variables.skipJaCoCo, false)
inputs:
sourceFolder: '$(System.DefaultWorkingDirectory)/'
contents: '**/target/*-reports/*.txt'
targetFolder: '$(Build.ArtifactStagingDirectory)'
- task: PublishPipelineArtifact@1
displayName: 'Publish Full Test Output'
condition: eq(variables.skipJaCoCo, false)
inputs:
targetPath: '$(Build.ArtifactStagingDirectory)/'
artifactName: '${{value}}_full_logs_$(Build.BuildId)_$(Build.BuildNumber)_$(System.JobId).zip'
- task: PublishBuildArtifacts@1
displayName: 'Publish generated build files'
condition: eq(variables.skipJaCoCo, false)
continueOnError: true
inputs:
pathToPublish: '$(System.DefaultWorkingDirectory)/org.hl7.fhir.${{ value }}/target/'
parallel: true
artifactName: 'org.hl7.fhir.${{ value }}_target'