modules/silicon/scripts/build/cloudbuild.yaml (55 lines of code) (raw):

# # 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 # # https://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, eithern express or implied. # See the License for the specific language governing permissions and # limitations under the License. timeout: 3600s substitutions: _ZONE: 'asia-northeast1-a' _COMPUTE_IMAGE: 'silicon-design-ubuntu-2004' _CONTAINER_IMAGE: 'silicon-design-ubuntu-2004' _NOTEBOOKS_BUCKET: 'silicon-design-notebooks' _COMPUTE_NETWORK: 'global/networks/default' _COMPUTE_SUBNET: '' _CLOUD_BUILD_SA: '' options: logging: CLOUD_LOGGING_ONLY steps: - id: 'notebooks-build' name: 'python' entrypoint: '/bin/bash' args: - '-c' - |- python3 -m venv env-jupytext/ env-jupytext/bin/python -m pip install jupytext env-jupytext/bin/jupytext --to notebook scripts/build/notebooks/*.md echo 'gsutil cp gs://$_NOTEBOOKS_BUCKET/*.ipynb /home/jupyter/' > scripts/build/notebooks/copy-notebooks.sh waitFor: ['-'] - id: 'compute-image-build' name: 'gcr.io/cloud-builders/gcloud' entrypoint: '/bin/bash' args: - '-c' - |- cd scripts/build/images/ gsutil cp gs://compute-image-tools/release/linux/daisy . chmod +x daisy ./daisy -project $PROJECT_ID -zone $_ZONE -variables image_name=$_COMPUTE_IMAGE,image_tag=$BUILD_ID,network=$_COMPUTE_NETWORK,subnet=$_COMPUTE_SUBNET,service_account=$_CLOUD_BUILD_SA compute_image.wf.json waitFor: ['-'] - id: 'container-image-build' name: 'gcr.io/cloud-builders/docker' args: ['build', '-t', '$_CONTAINER_IMAGE:$BUILD_ID', './scripts/build/images'] waitFor: ['-'] - id: 'container-image-tag' name: 'gcr.io/cloud-builders/docker' args: ['tag', '$_CONTAINER_IMAGE:$BUILD_ID', '$_CONTAINER_IMAGE:latest'] waitFor: ['container-image-build'] - id: 'container-image-test' name: 'gcr.io/cloud-builders/docker' args: ['run', '$_CONTAINER_IMAGE:$BUILD_ID', 'flow.tcl', '-design', 'inverter'] waitFor: ['container-image-tag'] images: - '$_CONTAINER_IMAGE:$BUILD_ID' - '$_CONTAINER_IMAGE:latest' artifacts: objects: location: gs://$_NOTEBOOKS_BUCKET/ paths: - 'scripts/build/notebooks/copy-notebooks.sh' - 'scripts/build/notebooks/*.ipynb'