diff --git a/examples/allocation-endpoint/Makefile b/examples/allocation-endpoint/Makefile index 2cc1cf03ae..179c7c14bb 100644 --- a/examples/allocation-endpoint/Makefile +++ b/examples/allocation-endpoint/Makefile @@ -55,4 +55,4 @@ echo-image-tag: # Push the docker image push: build - docker push $(server_tag) + docker push $(server_tag) \ No newline at end of file diff --git a/examples/crd-client/Makefile b/examples/crd-client/Makefile index 951a0a0f50..7dc12eb9ee 100644 --- a/examples/crd-client/Makefile +++ b/examples/crd-client/Makefile @@ -47,4 +47,4 @@ gar-check: #output the tag for this image echo-image-tag: - @echo $(server_tag) + @echo $(server_tag) \ No newline at end of file diff --git a/examples/xonotic/Makefile b/examples/xonotic/Makefile index c99dc0ef8f..01b8dd426c 100644 --- a/examples/xonotic/Makefile +++ b/examples/xonotic/Makefile @@ -23,12 +23,17 @@ # \_/ \__,_|_| |_|\__,_|_.__/|_|\___|___/ # -REPOSITORY = us-docker.pkg.dev/agones-images/examples +REPOSITORY ?= +PROD_REPO ?= us-docker.pkg.dev/agones-images/examples mkfile_path := $(abspath $(lastword $(MAKEFILE_LIST))) project_path := $(dir $(mkfile_path)) root_path := $(realpath $(project_path)/../..) -image_tag = $(REPOSITORY)/xonotic-example:1.1 +ifeq ($(REPOSITORY),) + image_tag := xonotic-example:1.1 +else + image_tag := $(REPOSITORY)/xonotic-example:1.1 +endif # _____ _ # |_ _|_ _ _ __ __ _ ___| |_ ___ @@ -47,8 +52,12 @@ push: build # check if hosted on Google Artifact Registry gar-check: - gcloud container images describe $(image_tag) + gcloud container images describe $(PROD_REPO)/$(image_tag) #output the tag for this image echo-image-tag: - @echo $(image_tag) + @echo $(PROD_REPO)/$(image_tag) + +# build and push the xonotic image with specified tag +cloud-build: + gcloud builds submit --config=cloudbuild.yaml diff --git a/examples/xonotic/cloudbuild.yaml b/examples/xonotic/cloudbuild.yaml new file mode 100644 index 0000000000..66555128ca --- /dev/null +++ b/examples/xonotic/cloudbuild.yaml @@ -0,0 +1,42 @@ +# 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 +# +# 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: + # + # Creates the initial make + docker build platform + # + - name: "ubuntu" + script: | + echo 'FROM gcr.io/cloud-builders/docker\nRUN apt-get install make\nENTRYPOINT [\"/usr/bin/make\"]' > Dockerfile.build + + - name: gcr.io/cloud-builders/docker + id: build-make-docker + entrypoint: "docker" + args: ["build", "-f", "Dockerfile.build", "-t", "make-docker", "."] + + # build and push xonotic image to GCR + - name: "make-docker" + id: push + dir: "." + env: + - REPOSITORY=${_REPOSITORY} + script: | + make push + +options: + dynamic_substitutions: true + +substitutions: + _REPOSITORY: us-docker.pkg.dev/${PROJECT_ID}/examples +timeout: 1800s