| # Licensed to the Apache Software Foundation (ASF) under one or more |
| # contributor license agreements. See the NOTICE file distributed with |
| # this work for additional information regarding copyright ownership. |
| # The ASF licenses this file to You under the Apache License, Version 2.0 |
| # (the "License"); you may not use this file except in compliance with |
| # the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| |
| trigger: |
| branches: |
| include: |
| - '*' # must quote since "*" is a YAML reserved character; we want a string |
| |
| pool: |
| vmImage: 'ubuntu-16.04' |
| |
| variables: |
| MAVEN_CACHE_FOLDER: $(Pipeline.Workspace)/.m2/repository |
| MAVEN_OPTS: '-Dmaven.repo.local=$(MAVEN_CACHE_FOLDER)' |
| SPARK_VERSION: '2.4.4' |
| HADOOP_VERSION: '2.7' |
| SPARK_HOME: $(Pipeline.Workspace)/spark-$(SPARK_VERSION)-bin-hadoop$(HADOOP_VERSION) |
| SKIP_IT: true |
| |
| stages: |
| - stage: test |
| displayName: "Run tests" |
| jobs: |
| - job: unit_tests_spark_client |
| steps: |
| - task: Maven@3 |
| inputs: |
| mavenPomFile: 'pom.xml' |
| goals: 'clean install' |
| options: -DskipTests |
| publishJUnitResults: false |
| javaHomeOption: 'JDKVersion' |
| jdkVersionOption: '1.8' |
| jdkArchitectureOption: 'x64' |
| mavenOptions: '-Xmx2g $(MAVEN_OPTS)' |
| - task: Cache@2 |
| inputs: |
| key: 'maven | "$(Agent.OS)" | **/pom.xml' |
| restoreKeys: | |
| maven | "$(Agent.OS)" |
| maven |
| path: $(MAVEN_CACHE_FOLDER) |
| displayName: Cache Maven local repo |
| - task: Maven@3 |
| inputs: |
| mavenPomFile: 'pom.xml' |
| goals: 'test' |
| options: -Pazp-unit-tests -pl hudi-client/hudi-spark-client |
| publishJUnitResults: false |
| testResultsFiles: '**/surefire-reports/TEST-*.xml' |
| testRunTitle: 'unit tests spark client' |
| javaHomeOption: 'JDKVersion' |
| jdkVersionOption: '1.8' |
| jdkArchitectureOption: 'x64' |
| mavenOptions: '-Xmx2g $(MAVEN_OPTS)' |
| - job: unit_tests_utilities |
| steps: |
| - task: Maven@3 |
| inputs: |
| mavenPomFile: 'pom.xml' |
| goals: 'clean install' |
| options: -DskipTests |
| publishJUnitResults: false |
| javaHomeOption: 'JDKVersion' |
| jdkVersionOption: '1.8' |
| jdkArchitectureOption: 'x64' |
| mavenOptions: '-Xmx2g $(MAVEN_OPTS)' |
| - task: Cache@2 |
| inputs: |
| key: 'maven | "$(Agent.OS)" | **/pom.xml' |
| restoreKeys: | |
| maven | "$(Agent.OS)" |
| maven |
| path: $(MAVEN_CACHE_FOLDER) |
| displayName: Cache Maven local repo |
| - task: Maven@3 |
| inputs: |
| mavenPomFile: 'pom.xml' |
| goals: 'test' |
| options: -Pazp-unit-tests -pl hudi-utilities |
| publishJUnitResults: false |
| testResultsFiles: '**/surefire-reports/TEST-*.xml' |
| testRunTitle: 'unit tests utilities' |
| javaHomeOption: 'JDKVersion' |
| jdkVersionOption: '1.8' |
| jdkArchitectureOption: 'x64' |
| mavenOptions: '-Xmx2g $(MAVEN_OPTS)' |
| - job: unit_tests_other_modules |
| steps: |
| - task: Maven@3 |
| inputs: |
| mavenPomFile: 'pom.xml' |
| goals: 'clean install' |
| options: -DskipTests |
| publishJUnitResults: false |
| javaHomeOption: 'JDKVersion' |
| jdkVersionOption: '1.8' |
| jdkArchitectureOption: 'x64' |
| mavenOptions: '-Xmx2g $(MAVEN_OPTS)' |
| - task: Cache@2 |
| inputs: |
| key: 'maven | "$(Agent.OS)" | **/pom.xml' |
| restoreKeys: | |
| maven | "$(Agent.OS)" |
| maven |
| path: $(MAVEN_CACHE_FOLDER) |
| displayName: Cache Maven local repo |
| - task: Maven@3 |
| inputs: |
| mavenPomFile: 'pom.xml' |
| goals: 'test' |
| options: -Pazp-unit-tests -pl !hudi-utilities,!hudi-client/hudi-spark-client |
| publishJUnitResults: false |
| testResultsFiles: '**/surefire-reports/TEST-*.xml' |
| testRunTitle: 'unit tests other modules' |
| javaHomeOption: 'JDKVersion' |
| jdkVersionOption: '1.8' |
| jdkArchitectureOption: 'x64' |
| mavenOptions: '-Xmx2g $(MAVEN_OPTS)' |
| - job: functional_tests |
| steps: |
| - task: Maven@3 |
| inputs: |
| mavenPomFile: 'pom.xml' |
| goals: 'test' |
| options: -Pfunctional-tests |
| publishJUnitResults: false |
| testResultsFiles: '**/surefire-reports/TEST-*.xml' |
| testRunTitle: 'functional tests' |
| javaHomeOption: 'JDKVersion' |
| jdkVersionOption: '1.8' |
| jdkArchitectureOption: 'x64' |
| mavenOptions: '-Xmx2g $(MAVEN_OPTS)' |
| - job: integration_tests |
| condition: eq(variables.SKIP_IT, false) |
| steps: |
| - script: | |
| echo 'Downloading spark-$(SPARK_VERSION)-bin-hadoop$(HADOOP_VERSION)' |
| wget http://archive.apache.org/dist/spark/spark-$(SPARK_VERSION)/spark-$(SPARK_VERSION)-bin-hadoop$(HADOOP_VERSION).tgz -O /tmp/spark-$(SPARK_VERSION).tgz |
| tar -xvf /tmp/spark-$(SPARK_VERSION).tgz |
| mkdir /tmp/spark-events/ |
| - task: Maven@3 |
| inputs: |
| mavenPomFile: 'pom.xml' |
| goals: 'verify' |
| options: -Pintegration-tests |
| publishJUnitResults: false |
| testResultsFiles: '**/surefire-reports/TEST-*.xml' |
| testRunTitle: 'unit tests utilities' |
| javaHomeOption: 'JDKVersion' |
| jdkVersionOption: '1.8' |
| jdkArchitectureOption: 'x64' |
| mavenOptions: '-Xmx2g $(MAVEN_OPTS)' |