diff --git a/.circleci/config.yml b/.circleci/config.yml index a0adfe7f24e9..3ce55961df38 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -6,16 +6,44 @@ anchor_docker: &anchor_docker environment: TERM: dumb +anchor_auth_vars: &anchor_auth_vars + environment: + GCLOUD_PROJECT: gcloud-devel + GOOGLE_APPLICATION_CREDENTIALS: .circleci/it-service-account.json + anchor_run_decrypt: &anchor_run_decrypt - name: Decrypt credentials. + name: Decrypt credentials command: | openssl aes-256-cbc -md sha256 -d -in .circleci/it-service-account.json.enc \ -out .circleci/it-service-account.json -k "${SYSTEM_TESTS_ENCRYPTION_KEY}" jobs: + bigquery_it: + working_directory: ~/googleapis + <<: *anchor_docker + <<: *anchor_auth_vars + steps: + - checkout + - run: + <<: *anchor_run_decrypt + - run: + name: Run integration tests for google-cloud-bigquery + command: ./utilities/verify_single_it.sh google-cloud-bigquery + compute_it: + working_directory: ~/googleapis + <<: *anchor_docker + <<: *anchor_auth_vars + steps: + - checkout + - run: + <<: *anchor_run_decrypt + - run: + name: Run integration tests for google-cloud-compute + command: ./utilities/verify_single_it.sh google-cloud-compute datastore_it: working_directory: ~/googleapis <<: *anchor_docker + <<: *anchor_auth_vars steps: - checkout - run: @@ -23,9 +51,65 @@ jobs: - run: name: Run integration tests for google-cloud-datastore command: ./utilities/verify_single_it.sh google-cloud-datastore + dns_it: + working_directory: ~/googleapis + <<: *anchor_docker + <<: *anchor_auth_vars + steps: + - checkout + - run: + <<: *anchor_run_decrypt + - run: + name: Run integration tests for google-cloud-dns + command: ./utilities/verify_single_it.sh google-cloud-dns + logging_it: + working_directory: ~/googleapis + <<: *anchor_docker + <<: *anchor_auth_vars + steps: + - checkout + - run: + <<: *anchor_run_decrypt + - run: + name: Run integration tests for google-cloud-logging + command: ./utilities/verify_single_it.sh google-cloud-logging + notification_it: + working_directory: ~/googleapis + <<: *anchor_docker + <<: *anchor_auth_vars + steps: + - checkout + - run: + <<: *anchor_run_decrypt + - run: + name: Run integration tests for google-cloud-notification + command: ./utilities/verify_single_it.sh google-cloud-notification + pubsub_it: + working_directory: ~/googleapis + <<: *anchor_docker + <<: *anchor_auth_vars + steps: + - checkout + - run: + <<: *anchor_run_decrypt + - run: + name: Run integration tests for google-cloud-pubsub + command: ./utilities/verify_single_it.sh google-cloud-pubsub + spanner_it: + working_directory: ~/googleapis + <<: *anchor_docker + <<: *anchor_auth_vars + steps: + - checkout + - run: + <<: *anchor_run_decrypt + - run: + name: Run integration tests for google-cloud-spanner + command: ./utilities/verify_single_it.sh google-cloud-spanner speech_it: working_directory: ~/googleapis <<: *anchor_docker + <<: *anchor_auth_vars steps: - checkout - run: @@ -33,10 +117,29 @@ jobs: - run: name: Run integration tests for google-cloud-speech command: ./utilities/verify_single_it.sh google-cloud-speech + translate_it: + working_directory: ~/googleapis + <<: *anchor_docker + <<: *anchor_auth_vars + steps: + - checkout + - run: + <<: *anchor_run_decrypt + - run: + name: Run integration tests for google-cloud-translate + command: ./utilities/verify_single_it.sh google-cloud-translate workflows: version: 2 build: jobs: + - bigquery_it + - compute_it - datastore_it + - dns_it + - logging_it + - notification_it + - pubsub_it + - spanner_it - speech_it + - translate_it diff --git a/utilities/verify_single_it.sh b/utilities/verify_single_it.sh index 4d3841e4e68f..5a11a99bd644 100755 --- a/utilities/verify_single_it.sh +++ b/utilities/verify_single_it.sh @@ -11,8 +11,8 @@ if [ -z $MODULE ]; then exit 1 fi -export GCLOUD_PROJECT="gcloud-devel" -export GOOGLE_APPLICATION_CREDENTIALS=$(realpath .circleci/it-service-account.json) +export GCLOUD_PROJECT="$GCLOUD_PROJECT" +export GOOGLE_APPLICATION_CREDENTIALS=$(realpath "$GOOGLE_APPLICATION_CREDENTIALS") echo "----- building and installing google-cloud-bom -----" mvn -B -pl google-cloud-bom install -DskipTests @@ -21,7 +21,7 @@ echo "----- building and installing parent pom -----" mvn -B -N install -DskipTests echo "----- building and installing shared modules -----" -mvn -B -pl google-cloud-core,google-cloud-core-http,google-cloud-core-grpc install -DskipTests +mvn -B -pl google-cloud-core,google-cloud-core-http,google-cloud-core-grpc,google-cloud-storage,google-cloud-pubsub install -DskipTests echo "----- running integration tests -----" mvn -B -pl $MODULE -DtrimStackTrace=false -fae verify