org.hl7.fhir.core/pull-request-pipeline-parameterized.yml
dotasek 1fee28fe84
Feature - run JUnit tests from validator_cli (#835)
* WIP add initial test running code

* Importing test modules fix breaking tests 1

* Clean up pom dependencies, move execution before context load

* Re-org and document cli pom

* Set more dependencies to compile. Print entries in classpath

* Try running via internal Executors

* Clearer class names + provide clear output

* Clean up test summarys and output + update class regex to junit default

* Refactor to avoid having to extend class

* Trim down dependency additions in pom + javadoc

* Add the rest of the modules to TestExecutor

* Parse additional params for classname filter and module

* Add experimental JUnit 4 runner in case JUnit 5 hates us.

* Include JUnit4 tests via adapters. Need to refactor for better naming.

* Update LoadIgTests to JUnit 5

* Gentle refactor, print execution time

* Remove unnecessary interface, organize packages

* Remove cached resources (need to fix this)

* Allow setting of txCache globally for tests + fix r5 tests

* Mild refactor of TestExecutor + Reorder test execution

* Add fhirTestCasesDirectory to testConfig + get r4 tests working

* Add dstu2016may and dstu3 tests

* Add dstu2 tests

* Add convertors tests

* Refactor resourceNameForFile + don't copy existing files

* Get all txCache directories centrally and allow all to live in same dir

* Start extracting txCache resources

* Finish extracting txCache resources

* Fix failing GraphQLEngineTest

* Try an mvn install for the pull pipeline

* Clean and refactor

* Test coverage

* Fix GraphQLEngineTests for local jar run

* More refactoring, more tests

* Add bare test for TxCacheResourceExtractor

Co-authored-by: dotasek <david.otasek@smilecdr.com>
2022-06-14 17:04:00 -04:00

53 lines
2.0 KiB
YAML

jobs:
- ${{ each image in parameters.images }}:
- ${{ each jdkVersion in image.jdkVersions }}:
- job:
displayName: ${{image.name}}_${{jdkVersion}}
pool:
vmImage: ${{image.name}}
variables:
currentImage: ${{image.name}}
codecov: $(CODECOV_TOKEN)
VERSION:
steps:
# Runs 'mvn clean install'
- task: Maven@3
inputs:
mavenPomFile: 'pom.xml'
mavenOptions: '-Xmx3072m'
javaHomeOption: 'JDKVersion'
jdkVersionOption: '${{jdkVersion}}'
jdkArchitectureOption: 'x64'
publishJUnitResults: true
testResultsFiles: '**/surefire-reports/TEST-*.xml'
goals: 'install'
- task: Maven@3
inputs:
mavenPomFile: 'pom.xml'
mavenOptions: '-Xmx3072m'
javaHomeOption: 'JDKVersion'
jdkVersionOption: '${{jdkVersion}}'
jdkArchitectureOption: 'x64'
options: '-pl org.hl7.fhir.validation.cli'
publishJUnitResults: false
testResultsFiles: '**/surefire-reports/TEST-*.xml'
goals: 'exec:exec'
# Upload test results to codecov
- script: bash <(curl https://codecov.io/bash) -t $(codecov)
displayName: 'codecov Bash Uploader'
condition: eq(variables.currentImage, 'ubuntu-latest')
# Publishes the test results to build artifacts.
- task: PublishCodeCoverageResults@1
displayName: 'Publish JaCoCo test results'
condition: eq(variables.currentImage, 'ubuntu-latest')
inputs:
codeCoverageTool: 'JaCoCo'
summaryFileLocation: '$(System.DefaultWorkingDirectory)/org.hl7.fhir.report/target/site/jacoco-aggregate/jacoco.xml'
reportDirectory: '$(System.DefaultWorkingDirectory)/org.hl7.fhir.report/target/site/jacoco-aggregate/'