| # Copyright 2018 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: |
| - name: 'gcr.io/cloud-builders/docker' |
| entrypoint: 'bash' |
| args: |
| - '-c' |
| - | |
| cat <<EOF | docker build -t bazel - |
| FROM gcr.io/cloud-builders/bazel |
| RUN apt-get update && apt-get install -y mtools dosfstools |
| EOF |
| - name: 'bazel' |
| args: ['test', '--remote_cache=${_BUILD_TOOLS_CACHE}', '--google_default_credentials', '--spawn_strategy=standalone','--','...','-//src/pkg/tools/...'] |
| - name: 'gcr.io/cloud-builders/docker' |
| args: ['build', |
| '-t', 'gcr.io/${_OUTPUT_PROJECT}/cos-customizer:${TAG_NAME}', |
| '-t', 'gcr.io/${_OUTPUT_PROJECT}/cos-customizer:latest', |
| '-f', 'src/cmd/cos_customizer/Dockerfile', |
| '--build-arg', '_BUILD_TOOLS_CACHE=${_BUILD_TOOLS_CACHE}', |
| '.'] |
| options: |
| machineType: 'N1_HIGHCPU_8' |
| substitutionOption: 'MUST_MATCH' |
| substitutions: |
| _BUILD_TOOLS_CACHE: 'https://storage.googleapis.com/cos-infra-prod_cloudbuild/cos-tools-cache' |
| # 25 minute timeout; concurrent arm64/amd64 builds take time |
| timeout: '1500s' |
| images: |
| - 'gcr.io/${_OUTPUT_PROJECT}/cos-customizer:${TAG_NAME}' |
| - 'gcr.io/${_OUTPUT_PROJECT}/cos-customizer:latest' |