Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.
 
 
 

75 wiersze
2.4 KiB

  1. #!/bin/bash
  2. export GOOGLE_APPLICATION_CREDENTIALS=$KOKORO_KEYSTORE_DIR/72523_go_integration_service_account
  3. # Removing the GCLOUD_TESTS_GOLANG_PROJECT_ID setting may make some integration
  4. # tests (like profiler's) silently skipped, so make sure you know what you are
  5. # doing when changing / removing the next line.
  6. export GCLOUD_TESTS_GOLANG_PROJECT_ID=dulcet-port-762
  7. export GCLOUD_TESTS_GOLANG_KEY=$GOOGLE_APPLICATION_CREDENTIALS
  8. export GCLOUD_TESTS_GOLANG_FIRESTORE_PROJECT_ID=gcloud-golang-firestore-tests
  9. export GCLOUD_TESTS_GOLANG_FIRESTORE_KEY=$KOKORO_KEYSTORE_DIR/72523_go_firestore_integration_service_account
  10. export GCLOUD_TESTS_API_KEY=`cat $KOKORO_KEYSTORE_DIR/72523_go_gcloud_tests_api_key`
  11. export GCLOUD_TESTS_GOLANG_KEYRING=projects/dulcet-port-762/locations/global/keyRings/go-integration-test
  12. export GCLOUD_TESTS_GOLANG_PROFILER_ZONE="us-west1-b"
  13. # Fail on any error
  14. set -eo pipefail
  15. # Display commands being run
  16. set -x
  17. # cd to project dir on Kokoro instance
  18. cd git/gocloud
  19. go version
  20. # Set $GOPATH
  21. export GOPATH="$HOME/go"
  22. export GOCLOUD_HOME=$GOPATH/src/cloud.google.com/go/
  23. export PATH="$GOPATH/bin:$PATH"
  24. # Move code into $GOPATH and get dependencies
  25. mkdir -p $GOCLOUD_HOME
  26. git clone . $GOCLOUD_HOME
  27. cd $GOCLOUD_HOME
  28. try3() { eval "$*" || eval "$*" || eval "$*"; }
  29. download_deps() {
  30. if [[ `go version` == *"go1.11"* ]] || [[ `go version` == *"go1.12"* ]]; then
  31. export GO111MODULE=on
  32. # All packages, including +build tools, are fetched.
  33. try3 go mod download
  34. else
  35. # Because we don't provide -tags tools, the +build tools
  36. # dependencies aren't fetched.
  37. try3 go get -v -t ./...
  38. go get github.com/jstemmer/go-junit-report
  39. fi
  40. }
  41. download_deps
  42. go install github.com/jstemmer/go-junit-report
  43. ./internal/kokoro/vet.sh
  44. mkdir $KOKORO_ARTIFACTS_DIR/tests
  45. # Takes the kokoro output log (raw stdout) and creates a machine-parseable xml
  46. # file (xUnit). Then it exits with whatever exit code the last command had.
  47. create_junit_xml() {
  48. last_status_code=$?
  49. cat $KOKORO_ARTIFACTS_DIR/$KOKORO_GERRIT_CHANGE_NUMBER.txt \
  50. | go-junit-report > $KOKORO_ARTIFACTS_DIR/tests/sponge_log.xml
  51. exit $last_status_code
  52. }
  53. trap create_junit_xml EXIT ERR
  54. # Run tests and tee output to log file, to be pushed to GCS as artifact.
  55. go test -race -v -timeout 45m ./... 2>&1 \
  56. | tee $KOKORO_ARTIFACTS_DIR/$KOKORO_GERRIT_CHANGE_NUMBER.txt