diff --git a/.ci/internal-image.gitlab-ci.yml b/.ci/internal-image.gitlab-ci.yml new file mode 100644 index 00000000..7219006a --- /dev/null +++ b/.ci/internal-image.gitlab-ci.yml @@ -0,0 +1,34 @@ +include: + - local: .ci/commons.gitlab-ci.yml + + ########################################################################### + ### Build and Push Internal Image (commit SHA on master, version on tag) ### + ########################################################################### + - component: $CI_SERVER_FQDN/cloudflare/ci/docker-image/build-push-image@~latest + inputs: + stage: release-internal + jobPrefix: internal-image + runOnMR: false + runOnBranches: '^master$' + needs: + - generate-internal-image-version + commentImageRefs: false + runner: vm-linux-x86-4cpu-8gb + EXTRA_DIB_ARGS: "--manifest=.docker-images-internal" + +############################################################################### +### Generate Internal Image Version File ### +### Uses `git describe`: version tag on tagged commits, SHA-based on master ### +############################################################################### +generate-internal-image-version: + stage: release-internal + image: $BUILD_IMAGE + rules: + - !reference [.default-rules, run-on-master] + needs: + - ci-image-get-image-ref + script: + - make generate-internal-image-version + artifacts: + paths: + - versions-internal diff --git a/.docker-images-internal b/.docker-images-internal new file mode 100644 index 00000000..d0ba6061 --- /dev/null +++ b/.docker-images-internal @@ -0,0 +1,8 @@ +images: + - name: cloudflared-daemon + dockerfile: Dockerfile.$ARCH + context: . + version_file: versions-internal + architectures: + - amd64 + - arm64 diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index fd2c5c4a..e290fdec 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -63,6 +63,11 @@ include: ##################################################### - local: .ci/apt-internal.gitlab-ci.yml + ##################################################### + ########## Release Internal Docker Image ############ + ##################################################### + - local: .ci/internal-image.gitlab-ci.yml + ##################################################### ############## Manual Claude Review ################# ##################################################### diff --git a/Makefile b/Makefile index 95619ad0..ed061c39 100644 --- a/Makefile +++ b/Makefile @@ -159,6 +159,10 @@ container: generate-docker-version: echo latest $(VERSION) > versions +.PHONY: generate-internal-image-version +generate-internal-image-version: + echo $(VERSION) > versions-internal + .PHONY: test test: vet