diff --git a/.circleci/config.yml b/.circleci/config.yml index 3ce55961df38..6ee839e5e26a 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -40,6 +40,7 @@ jobs: - run: name: Run integration tests for google-cloud-compute command: ./utilities/verify_single_it.sh google-cloud-compute + no_output_timeout: 20m datastore_it: working_directory: ~/googleapis <<: *anchor_docker @@ -62,6 +63,24 @@ jobs: - run: name: Run integration tests for google-cloud-dns command: ./utilities/verify_single_it.sh google-cloud-dns + firestore_it: + working_directory: ~/googleapis + <<: *anchor_docker + environment: + # Firestore can't be turned on in a project with Datastore turned on, + # so we use a distinct project (and distinct service account) for it + GCLOUD_PROJECT: java-review + GOOGLE_APPLICATION_CREDENTIALS: .circleci/firestore-it-service-account.json + steps: + - checkout + - run: + name: Decrypt credentials + command: | + openssl aes-256-cbc -md sha256 -d -in .circleci/firestore-it-service-account.json.enc \ + -out .circleci/firestore-it-service-account.json -k "${SYSTEM_TESTS_ENCRYPTION_KEY}" + - run: + name: Run integration tests for google-cloud-firestore + command: ./utilities/verify_single_it.sh google-cloud-firestore logging_it: working_directory: ~/googleapis <<: *anchor_docker @@ -136,6 +155,7 @@ workflows: - bigquery_it - compute_it - datastore_it + - firestore_it - dns_it - logging_it - notification_it diff --git a/.circleci/firestore-it-service-account.json.enc b/.circleci/firestore-it-service-account.json.enc new file mode 100644 index 000000000000..6a251918b792 Binary files /dev/null and b/.circleci/firestore-it-service-account.json.enc differ diff --git a/utilities/verify_single_it.sh b/utilities/verify_single_it.sh index 5a11a99bd644..8437edf60b46 100755 --- a/utilities/verify_single_it.sh +++ b/utilities/verify_single_it.sh @@ -21,6 +21,8 @@ echo "----- building and installing parent pom -----" mvn -B -N install -DskipTests echo "----- building and installing shared modules -----" +# storage is present because google-cloud-bigquery and google-cloud-notification depend on it +# pubsub is present because google-cloud-notification depends on it 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 -----"