| # 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 |
| EOF |
| - name: 'bazel' |
| args: ['test', '--remote_cache=${_BUILD_TOOLS_CACHE}', '--google_default_credentials', '--spawn_strategy=standalone','--','...','-//src/pkg/tools/...'] |
| - name: 'bazel' |
| args: ['run', '--remote_cache=${_BUILD_TOOLS_CACHE}', '--google_default_credentials', '--spawn_strategy=standalone', ':cos_customizer', '--', '--norun'] |
| - name: 'gcr.io/cloud-builders/docker' |
| args: ['tag', 'bazel:cos_customizer', 'gcr.io/${_OUTPUT_PROJECT}/cos-customizer:${TAG_NAME}'] |
| - name: 'gcr.io/cloud-builders/docker' |
| args: ['tag', 'bazel:cos_customizer', 'gcr.io/${_OUTPUT_PROJECT}/cos-customizer:latest'] |
| - name: 'gcr.io/louhi-prod-1/louhi-helper-v2@sha256:fbbe0b03e00a783350d06c97e0ac6dbcd0d52e6053fafd14c7a8f3d6725e4517' |
| args: ['sbom_scan_image', '--regex', 'gcr\\.io/${_OUTPUT_PROJECT}/cos-customizer:${TAG_NAME}'] |
| options: |
| machineType: 'N1_HIGHCPU_8' |
| substitutionOption: 'MUST_MATCH' |
| substitutions: |
| _BUILD_TOOLS_CACHE: 'https://storage.googleapis.com/cos-infra-prod_cloudbuild/cos-tools-cache' |
| _SBOM_BUCKET: 'cos-container-sbom-staging' # default value |
| # 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' |
| artifacts: |
| objects: |
| location: 'gs://${_SBOM_BUCKET}/cos-customizer/' |
| paths: ['/workspace/cos-customizer:${TAG_NAME}_sbom.spdx.json'] |