diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 4211e09c7ebbd..08c6f39376a41 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -170,365 +170,169 @@ stages: displayName: 'Native Tests' dependsOn: build_artifact_for_native_stage jobs: - - job: amazon_dynamodb - timeoutInMinutes: 20 - pool: - vmImage: 'Ubuntu 16.04' - variables: - imageName: 'quarkus:$(build.buildId)' - steps: - - template: ci-templates/native-build-steps.yaml - parameters: - module: amazon-dynamodb - - - job: amazon_lambda - timeoutInMinutes: 20 - pool: - vmImage: 'Ubuntu 16.04' - variables: - imageName: 'quarkus:$(build.buildId)' - steps: - - template: ci-templates/native-build-steps.yaml - parameters: - module: amazon-lambda - - - job: artemis_core - timeoutInMinutes: 20 - pool: - vmImage: 'Ubuntu 16.04' - variables: - imageName: 'quarkus:$(build.buildId)' - steps: - - template: ci-templates/native-build-steps.yaml - parameters: - module: artemis-core - - - job: artemis_jms - timeoutInMinutes: 20 - pool: - vmImage: 'Ubuntu 16.04' - variables: - imageName: 'quarkus:$(build.buildId)' - steps: - - template: ci-templates/native-build-steps.yaml - parameters: - module: artemis-jms - - - job: elytron_security_oauth2 - timeoutInMinutes: 20 - pool: - vmImage: 'Ubuntu 16.04' - variables: - imageName: 'quarkus:$(build.buildId)' - steps: - - template: ci-templates/native-build-steps.yaml - parameters: - module: elytron-security-oauth2 - - - job: elytron_security - timeoutInMinutes: 20 - pool: - vmImage: 'Ubuntu 16.04' - variables: - imageName: 'quarkus:$(build.buildId)' - steps: - - template: ci-templates/native-build-steps.yaml - parameters: - module: elytron-security - - - job: flyway - timeoutInMinutes: 20 - pool: - vmImage: 'Ubuntu 16.04' - variables: - imageName: 'quarkus:$(build.buildId)' - steps: - - template: ci-templates/native-build-steps.yaml - parameters: - module: flyway - - - job: hibernate_orm_panache - timeoutInMinutes: 20 - pool: - vmImage: 'Ubuntu 16.04' - variables: - imageName: 'quarkus:$(build.buildId)' - steps: - - template: ci-templates/native-build-steps.yaml - parameters: - module: hibernate-orm-panache - - - job: hibernate_search_elasticsearch - timeoutInMinutes: 20 - pool: - vmImage: 'Ubuntu 16.04' - variables: - imageName: 'quarkus:$(build.buildId)' - steps: - - template: ci-templates/native-build-steps.yaml - parameters: - module: hibernate-search-elasticsearch - - - job: hibernate_validator - timeoutInMinutes: 20 - pool: - vmImage: 'Ubuntu 16.04' - variables: - imageName: 'quarkus:$(build.buildId)' - steps: - - template: ci-templates/native-build-steps.yaml - parameters: - module: hibernate-validator - - - job: infinispan_cache_jpa - timeoutInMinutes: 20 - pool: - vmImage: 'Ubuntu 16.04' - variables: - imageName: 'quarkus:$(build.buildId)' - steps: - - template: ci-templates/native-build-steps.yaml - parameters: - module: infinispan-cache-jpa - - - job: infinispan_client - timeoutInMinutes: 20 - pool: - vmImage: 'Ubuntu 16.04' - variables: - imageName: 'quarkus:$(build.buildId)' - steps: - - template: ci-templates/native-build-steps.yaml - parameters: - module: infinispan-client - - - job: jgit - timeoutInMinutes: 20 - pool: - vmImage: 'Ubuntu 16.04' - variables: - imageName: 'quarkus:$(build.buildId)' - steps: - - template: ci-templates/native-build-steps.yaml - parameters: - module: jgit - - - job: jpa_h2 - timeoutInMinutes: 20 - pool: - vmImage: 'Ubuntu 16.04' - variables: - imageName: 'quarkus:$(build.buildId)' - steps: - - template: ci-templates/native-build-steps.yaml - parameters: - module: jpa-h2 - - - job: jpa_mariadb - timeoutInMinutes: 20 - pool: - vmImage: 'Ubuntu 16.04' - variables: - imageName: 'quarkus:$(build.buildId)' - steps: - - template: ci-templates/native-build-steps.yaml - parameters: - module: jpa-mariadb - - - job: jpa_mssql - timeoutInMinutes: 20 - pool: - vmImage: 'Ubuntu 16.04' - variables: - imageName: 'quarkus:$(build.buildId)' - steps: - - template: ci-templates/native-build-steps.yaml - parameters: - module: jpa-mssql - - - job: jpa_postgresql - timeoutInMinutes: 20 - pool: - vmImage: 'Ubuntu 16.04' - variables: - imageName: 'quarkus:$(build.buildId)' - steps: - - template: ci-templates/native-build-steps.yaml - parameters: - module: jpa-postgresql - - - job: jpa - timeoutInMinutes: 20 - pool: - vmImage: 'Ubuntu 16.04' - variables: - imageName: 'quarkus:$(build.buildId)' - steps: - - template: ci-templates/native-build-steps.yaml - parameters: - module: jpa - - - job: kafka - timeoutInMinutes: 20 - pool: - vmImage: 'Ubuntu 16.04' - variables: - imageName: 'quarkus:$(build.buildId)' - steps: - - template: ci-templates/native-build-steps.yaml - parameters: - module: kafka - - - job: keycloak - timeoutInMinutes: 20 - pool: - vmImage: 'Ubuntu 16.04' - variables: - imageName: 'quarkus:$(build.buildId)' - steps: - - template: ci-templates/native-build-steps.yaml - parameters: - module: keycloak - - - job: kogito - timeoutInMinutes: 20 - pool: - vmImage: 'Ubuntu 16.04' - variables: - imageName: 'quarkus:$(build.buildId)' - steps: - - template: ci-templates/native-build-steps.yaml - parameters: - module: kogito - - - job: kubernetes_client - timeoutInMinutes: 20 - pool: - vmImage: 'Ubuntu 16.04' - variables: - imageName: 'quarkus:$(build.buildId)' - steps: - - template: ci-templates/native-build-steps.yaml - parameters: - module: kubernetes-client - - - job: main - timeoutInMinutes: 20 - pool: - vmImage: 'Ubuntu 16.04' - variables: - imageName: 'quarkus:$(build.buildId)' - steps: - - template: ci-templates/native-build-steps.yaml - parameters: - module: main - - - job: mongodb_client - timeoutInMinutes: 20 - pool: - vmImage: 'Ubuntu 16.04' - variables: - imageName: 'quarkus:$(build.buildId)' - steps: - - template: ci-templates/native-build-steps.yaml - parameters: - module: mongodb-client - - - job: neo4j - timeoutInMinutes: 20 - pool: - vmImage: 'Ubuntu 16.04' - variables: - imageName: 'quarkus:$(build.buildId)' - steps: - - template: ci-templates/native-build-steps.yaml - parameters: - module: neo4j - - - job: reactive_pg_client - timeoutInMinutes: 20 - pool: - vmImage: 'Ubuntu 16.04' - variables: - imageName: 'quarkus:$(build.buildId)' - steps: - - template: ci-templates/native-build-steps.yaml - parameters: - module: reactive-pg-client - - - job: resteasy_jackson - timeoutInMinutes: 20 - pool: - vmImage: 'Ubuntu 16.04' - variables: - imageName: 'quarkus:$(build.buildId)' - steps: - - template: ci-templates/native-build-steps.yaml - parameters: - module: resteasy-jackson - - - job: spring_di - timeoutInMinutes: 20 - pool: - vmImage: 'Ubuntu 16.04' - variables: - imageName: 'quarkus:$(build.buildId)' - steps: - - template: ci-templates/native-build-steps.yaml - parameters: - module: spring-di - - - job: spring_web - timeoutInMinutes: 20 - pool: - vmImage: 'Ubuntu 16.04' - variables: - imageName: 'quarkus:$(build.buildId)' - steps: - - template: ci-templates/native-build-steps.yaml - parameters: - module: spring-web - - - job: test_extension - timeoutInMinutes: 20 - pool: - vmImage: 'Ubuntu 16.04' - variables: - imageName: 'quarkus:$(build.buildId)' - steps: - - template: ci-templates/native-build-steps.yaml - parameters: - module: test-extension - - - job: tika - timeoutInMinutes: 20 - pool: - vmImage: 'Ubuntu 16.04' - variables: - imageName: 'quarkus:$(build.buildId)' - steps: - - template: ci-templates/native-build-steps.yaml - parameters: - module: tika - - - job: vertx - timeoutInMinutes: 20 - pool: - vmImage: 'Ubuntu 16.04' - variables: - imageName: 'quarkus:$(build.buildId)' - steps: - - template: ci-templates/native-build-steps.yaml - parameters: - module: vertx - - - job: virtual_http - timeoutInMinutes: 20 - pool: - vmImage: 'Ubuntu 16.04' - variables: - imageName: 'quarkus:$(build.buildId)' - steps: - - template: ci-templates/native-build-steps.yaml - parameters: - module: virtual-http \ No newline at end of file + - template: ci-templates/native-build-steps.yaml + parameters: + module: amazon-dynamodb + name: amazon_dynamodb + dynamodb: true + + - template: ci-templates/native-build-steps.yaml + parameters: + module: amazon-lambda + name: amazon_lambda + + - template: ci-templates/native-build-steps.yaml + parameters: + module: artemis-core + name: artemis_core + + - template: ci-templates/native-build-steps.yaml + parameters: + module: artemis-jms + name: artemis_jms + + - template: ci-templates/native-build-steps.yaml + parameters: + module: elytron-security-oauth2 + name: elytron_security_oauth2 + + - template: ci-templates/native-build-steps.yaml + parameters: + module: elytron-security + name: elytron_security + + - template: ci-templates/native-build-steps.yaml + parameters: + module: flyway + name: flyway + + - template: ci-templates/native-build-steps.yaml + parameters: + module: hibernate-orm-panache + name: hibernate_orm_panache + + - template: ci-templates/native-build-steps.yaml + parameters: + module: hibernate-search-elasticsearch + name: hibernate_search_elasticsearch + + - template: ci-templates/native-build-steps.yaml + parameters: + module: hibernate-validator + name: hibernate_validator + + - template: ci-templates/native-build-steps.yaml + parameters: + module: infinispan-cache-jpa + name: infinispan_cache_jpa + + - template: ci-templates/native-build-steps.yaml + parameters: + module: infinispan-client + name: infinispan_client + + - template: ci-templates/native-build-steps.yaml + parameters: + module: jgit + name: jgit + + - template: ci-templates/native-build-steps.yaml + parameters: + module: jpa-h2 + name: jpa_h2 + + - template: ci-templates/native-build-steps.yaml + parameters: + module: jpa-mariadb + name: jpa_mariadb + + - template: ci-templates/native-build-steps.yaml + parameters: + module: jpa-mssql + name: jpa_mssql + + - template: ci-templates/native-build-steps.yaml + parameters: + module: jpa-postgresql + name: jpa_postgresql + + - template: ci-templates/native-build-steps.yaml + parameters: + module: jpa + name: jpa + + - template: ci-templates/native-build-steps.yaml + parameters: + module: kafka + name: kafka + + - template: ci-templates/native-build-steps.yaml + parameters: + module: keycloak + name: keycloak + + - template: ci-templates/native-build-steps.yaml + parameters: + module: kogito + name: kogito + + - template: ci-templates/native-build-steps.yaml + parameters: + module: kubernetes-client + name: kubernetes_client + + - template: ci-templates/native-build-steps.yaml + parameters: + module: main + name: main + postgres: true + + - template: ci-templates/native-build-steps.yaml + parameters: + module: mongodb-client + name: mongodb_client + + - template: ci-templates/native-build-steps.yaml + parameters: + module: neo4j + name: neo4j + + - template: ci-templates/native-build-steps.yaml + parameters: + module: reactive-pg-client + name: reactive_pg_client + + - template: ci-templates/native-build-steps.yaml + parameters: + module: resteasy-jackson + name: resteasy_jackson + + - template: ci-templates/native-build-steps.yaml + parameters: + module: spring-di + name: spring_di + + - template: ci-templates/native-build-steps.yaml + parameters: + module: spring-web + name: spring_web + + - template: ci-templates/native-build-steps.yaml + parameters: + module: test-extension + name: test_extension + + - template: ci-templates/native-build-steps.yaml + parameters: + module: tika + name: tika + + - template: ci-templates/native-build-steps.yaml + parameters: + module: vertx + name: vertx + + - template: ci-templates/native-build-steps.yaml + parameters: + module: virtual-http + name: virtual_http \ No newline at end of file diff --git a/ci-templates/native-build-steps.yaml b/ci-templates/native-build-steps.yaml index 6ba888ec59ac1..f9e7f5394c7c7 100644 --- a/ci-templates/native-build-steps.yaml +++ b/ci-templates/native-build-steps.yaml @@ -1,21 +1,32 @@ parameters: module: '' + name: '' + postgres: false + dynamodb: false -steps: -- task: DownloadPipelineArtifact@2 - inputs: - artifact: BuiltMavenRepo - path: $(Pipeline.Workspace)/.m2/repository/ +jobs: + - job: ${{ parameters.name }} + timeoutInMinutes: 20 + pool: + vmImage: 'Ubuntu 16.04' + variables: + imageName: 'quarkus:$(build.buildId)' + steps: + - task: DownloadPipelineArtifact@2 + inputs: + artifact: BuiltMavenRepo + path: $(Pipeline.Workspace)/.m2/repository/ -- script: docker run --rm --publish 5432:5432 --name build-postgres -e POSTGRES_USER=hibernate_orm_test -e POSTGRES_PASSWORD=hibernate_orm_test -e POSTGRES_DB=hibernate_orm_test -d postgres:10.5 - displayName: 'start postgres' + - ${{ if eq(parameters.postgres, 'true') }}: + - script: docker run --rm --publish 5432:5432 --name build-postgres -e POSTGRES_USER=hibernate_orm_test -e POSTGRES_PASSWORD=hibernate_orm_test -e POSTGRES_DB=hibernate_orm_test -d postgres:10.5 + displayName: 'start postgres' + - ${{ if eq(parameters.dynamodb, 'true') }}: + - script: docker run --rm --publish 8000:8000 --name build-dynamodb -d amazon/dynamodb-local:1.11.477 + displayName: 'start dynamodb' -- script: docker run --rm --publish 8000:8000 --name build-dynamodb -d amazon/dynamodb-local:1.11.477 - displayName: 'start dynamodb' - -- task: Maven@3 - displayName: 'Maven Build' - inputs: - goals: 'install' - mavenOptions: $(MAVEN_OPTS) - options: '-pl integration-tests/${{ parameters.module }} -B --settings azure-mvn-settings.xml -Dnative-image.docker-build -Dtest-postgresql -Dtest-elasticsearch -Dtest-dynamodb -Ddynamodb-local.port=8000 -Dnative-image.xmx=6g -Dnative -Dno-format' + - task: Maven@3 + displayName: 'Maven Build' + inputs: + goals: 'install' + mavenOptions: $(MAVEN_OPTS) + options: '-pl integration-tests/${{ parameters.module }} -B --settings azure-mvn-settings.xml -Dnative-image.docker-build -Dtest-postgresql -Dtest-elasticsearch -Dtest-dynamodb -Ddynamodb-local.port=8000 -Dnative-image.xmx=6g -Dnative -Dno-format'