| # Provide instructions for google Cloud Build to auto-build flutter |
| # dashboard to flutter-dashboard project. Auto-build will be triggered |
| # by daily schedule on `main` branch. |
| # |
| # The auto-build will be skipped if no new commits since last deployment. |
| |
| steps: |
| # Get recently pushed docker image and associated provenance, along with the |
| # correct docker digest url, including the hash. |
| - name: gcr.io/cloud-builders/gcloud |
| entrypoint: '/bin/bash' |
| args: |
| - '-c' |
| - |- |
| cloud_build/get_docker_image_provenance.sh \ |
| us-docker.pkg.dev/$PROJECT_ID/appengine/default.version-$SHORT_SHA:latest \ |
| unverified_provenance.json |
| |
| # Verify provenance is valid before proceeding with deployment. |
| - name: 'golang:stretch' |
| entrypoint: '/bin/bash' |
| args: |
| - '-c' |
| - |- |
| cloud_build/verify_provenance.sh unverified_provenance.json |
| |
| # Deploy a new version to google cloud. |
| - name: gcr.io/cloud-builders/gcloud |
| entrypoint: '/bin/bash' |
| args: |
| - '-c' |
| - |- |
| gcloud config set project $PROJECT_ID |
| latest_version=$(gcloud app versions list --hide-no-traffic --format 'value(version.id)') |
| if [ "$latest_version" = "version-$SHORT_SHA" ]; then |
| echo "No updates since last deployment." |
| else |
| bash cloud_build/deploy_app_dart.sh $PROJECT_ID $SHORT_SHA $_GAE_PROMOTE |
| fi |
| |
| timeout: 1200s |