mirror of
https://github.com/kubernetes-sigs/kustomize.git
synced 2026-05-17 18:25:26 +00:00
72 lines
2.3 KiB
YAML
72 lines
2.3 KiB
YAML
# Cloud build should be configured to trigger with this configuration on tags matching:
|
|
# [\w/]+/v\d+\.\d+\.\d+
|
|
#
|
|
steps:
|
|
- name: 'bash'
|
|
args:
|
|
- 'echo'
|
|
- 'Cloud build substitution check: '
|
|
- 'BUILD_ID=$BUILD_ID'
|
|
- 'PROJECT_ID=$PROJECT_ID'
|
|
- 'REVISION_ID=$REVISION_ID'
|
|
- 'REPO_NAME=$REPO_NAME'
|
|
- 'COMMIT_SHA=$COMMIT_SHA'
|
|
- 'BRANCH_NAME=$BRANCH_NAME'
|
|
- 'TAG_NAME=$TAG_NAME'
|
|
|
|
# Cloud build has already copied the repo at the tag that
|
|
# that triggered the build to its /workspace directory, but
|
|
# hasn't actually _cloned_ the repo (there's no .git directory).
|
|
#
|
|
# The goreleaser tool, however, needs the repo and its history
|
|
# to produce release notes.
|
|
#
|
|
# So clone the repo to /workspace/myClone to avoid directory
|
|
# name collision.
|
|
#
|
|
- name: gcr.io/cloud-builders/git
|
|
args:
|
|
- clone
|
|
- https://github.com/kubernetes-sigs/kustomize.git
|
|
- myClone
|
|
|
|
# Checkout the proper tag.
|
|
- name: gcr.io/cloud-builders/git
|
|
dir: myClone
|
|
args:
|
|
- checkout
|
|
- $TAG_NAME
|
|
|
|
# Run goreleaser indirectly via a shell script
|
|
# to configure it properly.
|
|
- name: golang:1.20
|
|
entrypoint: /bin/bash
|
|
dir: myClone
|
|
secretEnv: ['GITHUB_TOKEN']
|
|
env:
|
|
- 'GITHUB_USERNAME=KnVerey' # used to make authenticated curl requests to Github in releasing/compile-changelog.sh
|
|
args:
|
|
- releasing/cloudbuild.sh
|
|
- $TAG_NAME
|
|
# - '--snapshot'
|
|
# Use this final arg in a local build, to suppress
|
|
# the release and leave the 'dist' directory in place.
|
|
|
|
# Overall timeout
|
|
timeout: 14m
|
|
|
|
# golreleaser expects the GITHUB_TOKEN env var to hold the github token
|
|
# it needs to write the released package and notes back to github.
|
|
# The raw token was encrypted by `gcloud kms encrypt` (Key Management Service)
|
|
# The base64 of that is shown below. It's decrypted by cloud build
|
|
# and provided back to goreleaser.
|
|
# IMPORTANT: make sure the token does not end with a newline when you encrypt it!
|
|
# IMPORTANT: update the GITHUB_USERNAME env var above to match the github user whose token this is
|
|
secrets:
|
|
- kmsKeyName: projects/k8s-staging-kustomize/locations/global/keyRings/kust-cloud-key-ring/cryptoKeys/kust-cloud-key-name
|
|
secretEnv:
|
|
GITHUB_TOKEN: CiQAJ+XRLwPj71lnT8zn0UdE7ihQIdCzDUsgEX7+mRN4aJ2ffRUSUQAdel1M9mEzxqs6gln1dzoZkNU3lmh7ya0EY3i3zkyz0jJ7Qok6TZsp29dl2lRnza3KxVGTWXo6YHa2Z5Qe7RwgoQxdwSdR3GWLu4fm1h4aXA==
|
|
|
|
options:
|
|
machineType: 'N1_HIGHCPU_8'
|