# # Copyright © 2018 Apple Inc. and the ServiceTalk project authors # # Licensed 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. # version: "3" services: runtime-setup: image: servicetalk:default build: context: . dockerfile: Dockerfile common: &common image: servicetalk:default depends_on: [runtime-setup] volumes: - ~/.ssh:/root/.ssh - ~/.gradle${EXECUTOR_NUMBER}:/root/.gradle - ..:/code working_dir: /code environment: &environment - CI networks: [test-net] build: << : *common depends_on: [runtime-setup] environment: - CI command: bash -cl "./gradlew --no-daemon clean build" check: << : *common depends_on: [runtime-setup] environment: - CI command: bash -cl "./gradlew --no-daemon clean check" test: << : *common depends_on: [runtime-setup] environment: - CI command: bash -cl "./gradlew --no-daemon --parallel --max-workers=4 clean test" quality: << : *common depends_on: [runtime-setup] environment: - CI command: bash -cl "./gradlew --no-daemon --parallel --max-workers=4 clean quality" publish-snapshot: << : *common depends_on: [runtime-setup] environment: - CI - ORG_GRADLE_PROJECT_signingKey - ORG_GRADLE_PROJECT_signingPassword - SONATYPE_USER - SONATYPE_TOKEN command: > bash -cl "./gradlew --no-daemon --parallel --max-workers=4 clean check && ./gradlew --no-daemon publish" publish-release: << : *common depends_on: [runtime-setup] environment: - CI - ORG_GRADLE_PROJECT_signingKey - ORG_GRADLE_PROJECT_signingPassword - SONATYPE_USER - SONATYPE_TOKEN command: > bash -cl "./gradlew --no-daemon --parallel --max-workers=4 -PreleaseBuild=true clean check && ./gradlew --no-daemon -PreleaseBuild=true publish" shell: << : *common entrypoint: /bin/bash networks: test-net: