diff --git a/.cloudbuild/build.yaml b/.cloudbuild/build.yaml new file mode 100644 index 0000000..a58ea26 --- /dev/null +++ b/.cloudbuild/build.yaml @@ -0,0 +1,34 @@ +steps: + - name: 'gcr.io/cloud-builders/docker' + args: ['buildx', 'create', '--driver', 'docker-container', '--name', 'multiarch', '--use'] + + - name: 'gcr.io/cloud-builders/docker' + entrypoint: 'bash' + args: + - '-c' + - | + docker buildx build --platform linux/amd64,linux/arm64 \ + -t ${_AR_REGION}-docker.pkg.dev/$PROJECT_ID/${_AR_REPO_NAME}/${_IMAGE_NAME}:latest \ + -f Dockerfile \ + --push ctx + + - name: 'gcr.io/cloud-builders/docker' + entrypoint: 'bash' + secretEnv: ['GH_PAT'] + args: + - '-c' + - | + echo $$GH_PAT | docker login ghcr.io -u $_REGISTRY_USER --password-stdin && \ + docker buildx imagetools create \ + -t ghcr.io/$_REGISTRY_USER/$_IMAGE_NAME:latest \ + ${_AR_REGION}-docker.pkg.dev/$PROJECT_ID/${_AR_REPO_NAME}/${_IMAGE_NAME}:latest && \ + docker logout ghcr.io + +availableSecrets: + secretManager: + - versionName: projects/$PROJECT_ID/secrets/alpine-cli-ghcr-token/versions/latest + env: 'GH_PAT' + +options: + logging: CLOUD_LOGGING_ONLY + substitutionOption: 'ALLOW_LOOSE'