# Copyright 2023 Google LLC
#
# 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.
steps:
  # Generate shadowJar for the instrumented test server
  - name: "gradle:8.0.2-jdk11"
    id: generate-jar
    entrypoint: "gradle"
    timeout: 4m
    args: [":e2e-test-server:build"]

  # Zip the generated JAR file
  - name: ubuntu
    id: zip-jar
    entrypoint: bash
    args:
      - '-c'
      - |
         apt-get update && \
         apt-get install zip --assume-yes && \
         cd e2e-test-server/build/libs && \
         zip function-source e2e-test-server-0.1.0-SNAPSHOT-all.jar

  # Run the test
  - name: $_TEST_RUNNER_IMAGE
    id: run-tests-cloudfunction
    dir: /
    env: ["PROJECT_ID=$PROJECT_ID"]
    args:
      - cloud-functions-gen2
      - --functionsource=/workspace/e2e-test-server/build/libs/function-source.zip
      - --runtime=java11
      - --entrypoint=com.google.cloud.opentelemetry.endtoend.CloudFunctionHandler

logsBucket: gs://opentelemetry-ops-e2e-cloud-build-logs
substitutions:
  _TEST_RUNNER_IMAGE: us-central1-docker.pkg.dev/${PROJECT_ID}/e2e-testing/opentelemetry-operations-e2e-testing:0.20.1
  _TEST_SERVER_IMAGE: us-central1-docker.pkg.dev/${PROJECT_ID}/e2e-testing/opentelemetry-operations-java-e2e-test-server:${SHORT_SHA}
