From 8e347067265e351ece9c1c42c759a7bf1c4e14ec Mon Sep 17 00:00:00 2001 From: jerabekjiri Date: Mon, 12 Jan 2026 11:57:40 +0100 Subject: [PATCH 1/5] build devel image and push to quay.io --- .github/workflows/devel_images.yml | 11 +++++++++++ Makefile | 20 ++++++++++++++++++++ 2 files changed, 31 insertions(+) diff --git a/.github/workflows/devel_images.yml b/.github/workflows/devel_images.yml index 213d90b8eca9..37004f2ce68b 100644 --- a/.github/workflows/devel_images.yml +++ b/.github/workflows/devel_images.yml @@ -3,6 +3,7 @@ name: Build/Push Development Images env: LC_ALL: "C.UTF-8" # prevent ERROR: Ansible could not initialize the preferred locale: unsupported locale setting DOCKER_CACHE: "--no-cache" # using the cache will not rebuild git requirements and other things + DOWNSTREAM_REPO: "ansible-automation-platform/tower" on: workflow_dispatch: push: @@ -59,6 +60,11 @@ jobs: run: | echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin + - name: Log in to Quay + run: | + echo "${{ secrets.QUAY_TOKEN }}" | docker login quay.io -u ${{ secrets.QUAY_USER }} --password-stdin + if: github.repository == env.DOWNSTREAM_REPO + - name: Setup node and npm for the new UI build uses: actions/setup-node@v2 with: @@ -77,3 +83,8 @@ jobs: - name: Build and push AWX devel images run: | make ${{ matrix.build-targets.make-target }} + + - name: Build and push AWX devel image to Quay + run: | + make docker-compose-buildx-quay + if: github.repository == env.DOWNSTREAM_REPO && matrix.build-targets.image-name == 'awx_devel' \ No newline at end of file diff --git a/Makefile b/Makefile index fb7f1509d4f7..b8f7a3060e45 100644 --- a/Makefile +++ b/Makefile @@ -69,6 +69,11 @@ DEVEL_IMAGE_NAME ?= $(DEV_DOCKER_TAG_BASE)/$(GIT_REPO_NAME)_devel:$(COMPOSE_TAG) IMAGE_KUBE_DEV=$(DEV_DOCKER_TAG_BASE)/$(GIT_REPO_NAME)_kube_devel:$(COMPOSE_TAG) IMAGE_KUBE=$(DEV_DOCKER_TAG_BASE)/$(GIT_REPO_NAME):$(COMPOSE_TAG) +# quay.io +QUAY_OWNER ?= aap +QUAY_TAG_BASE ?= quay.io/$(QUAY_OWNER) +QUAY_DEVEL_IMAGE_NAME ?= $(QUAY_TAG_BASE)/$(GIT_REPO_NAME)_devel:$(COMPOSE_TAG) + # Common command to use for running ansible-playbook ANSIBLE_PLAYBOOK ?= ansible-playbook -e ansible_python_interpreter=$(PYTHON) @@ -620,6 +625,21 @@ docker-compose-buildx: Dockerfile.dev -f Dockerfile.dev . - docker buildx rm docker-compose-buildx +.PHONY: docker-compose-buildx-quay +## Build image and push to quay.io only (reuse ghcr.io image) +docker-compose-buildx-quay: Dockerfile.dev + - docker buildx create --name docker-compose-buildx-quay + docker buildx use docker-compose-buildx-quay + docker buildx build \ + --ssh default=$(SSH_AUTH_SOCK) \ + --push \ + --build-arg BUILDKIT_INLINE_CACHE=1 \ + --cache-from=$(DEVEL_IMAGE_NAME) \ + --platform=$(PLATFORMS) \ + --tag $(QUAY_DEVEL_IMAGE_NAME) \ + -f Dockerfile.dev . + - docker buildx rm docker-compose-buildx-quay + docker-clean: -$(foreach container_id,$(shell docker ps -f name=tools_awx -aq && docker ps -f name=tools_receptor -aq),docker stop $(container_id); docker rm -f $(container_id);) -$(foreach image_id,$(shell docker images --filter=reference='*/*/*awx_devel*' --filter=reference='*/*awx_devel*' --filter=reference='*awx_devel*' -aq),docker rmi --force $(image_id);) From 0dc09da687a26fa39be0bed6dfe8cd595993af51 Mon Sep 17 00:00:00 2001 From: jerabekjiri Date: Mon, 12 Jan 2026 17:50:06 +0100 Subject: [PATCH 2/5] overwrite DEV_DOCKER_TAG_BASE and reuse existing build cmd --- .github/workflows/devel_images.yml | 15 +++++++++------ Makefile | 20 -------------------- 2 files changed, 9 insertions(+), 26 deletions(-) diff --git a/.github/workflows/devel_images.yml b/.github/workflows/devel_images.yml index 37004f2ce68b..0a9f2f1617d2 100644 --- a/.github/workflows/devel_images.yml +++ b/.github/workflows/devel_images.yml @@ -3,7 +3,8 @@ name: Build/Push Development Images env: LC_ALL: "C.UTF-8" # prevent ERROR: Ansible could not initialize the preferred locale: unsupported locale setting DOCKER_CACHE: "--no-cache" # using the cache will not rebuild git requirements and other things - DOWNSTREAM_REPO: "ansible-automation-platform/tower" + DOWNSTREAM_REPO: "ansible/tower" + QUAY_OWNER: "aap" on: workflow_dispatch: push: @@ -25,6 +26,8 @@ jobs: build-targets: - image-name: awx_devel make-target: docker-compose-buildx + - image-name: tower_devel + make-target: docker-compose-buildx - image-name: awx_kube_devel make-target: awx-kube-dev-buildx - image-name: awx @@ -54,6 +57,11 @@ jobs: env: OWNER: '${{ github.repository_owner }}' + - name: Overwrite DEV_DOCKER_TAG_BASE for tower_devel + run: | + echo "DEV_DOCKER_TAG_BASE=quay.io/${{ env.QUAY_OWNER }}" >> $GITHUB_ENV + if: matrix.build-targets.image-name == 'tower_devel' + - uses: ./.github/actions/setup-python - name: Log in to registry @@ -83,8 +91,3 @@ jobs: - name: Build and push AWX devel images run: | make ${{ matrix.build-targets.make-target }} - - - name: Build and push AWX devel image to Quay - run: | - make docker-compose-buildx-quay - if: github.repository == env.DOWNSTREAM_REPO && matrix.build-targets.image-name == 'awx_devel' \ No newline at end of file diff --git a/Makefile b/Makefile index b8f7a3060e45..fb7f1509d4f7 100644 --- a/Makefile +++ b/Makefile @@ -69,11 +69,6 @@ DEVEL_IMAGE_NAME ?= $(DEV_DOCKER_TAG_BASE)/$(GIT_REPO_NAME)_devel:$(COMPOSE_TAG) IMAGE_KUBE_DEV=$(DEV_DOCKER_TAG_BASE)/$(GIT_REPO_NAME)_kube_devel:$(COMPOSE_TAG) IMAGE_KUBE=$(DEV_DOCKER_TAG_BASE)/$(GIT_REPO_NAME):$(COMPOSE_TAG) -# quay.io -QUAY_OWNER ?= aap -QUAY_TAG_BASE ?= quay.io/$(QUAY_OWNER) -QUAY_DEVEL_IMAGE_NAME ?= $(QUAY_TAG_BASE)/$(GIT_REPO_NAME)_devel:$(COMPOSE_TAG) - # Common command to use for running ansible-playbook ANSIBLE_PLAYBOOK ?= ansible-playbook -e ansible_python_interpreter=$(PYTHON) @@ -625,21 +620,6 @@ docker-compose-buildx: Dockerfile.dev -f Dockerfile.dev . - docker buildx rm docker-compose-buildx -.PHONY: docker-compose-buildx-quay -## Build image and push to quay.io only (reuse ghcr.io image) -docker-compose-buildx-quay: Dockerfile.dev - - docker buildx create --name docker-compose-buildx-quay - docker buildx use docker-compose-buildx-quay - docker buildx build \ - --ssh default=$(SSH_AUTH_SOCK) \ - --push \ - --build-arg BUILDKIT_INLINE_CACHE=1 \ - --cache-from=$(DEVEL_IMAGE_NAME) \ - --platform=$(PLATFORMS) \ - --tag $(QUAY_DEVEL_IMAGE_NAME) \ - -f Dockerfile.dev . - - docker buildx rm docker-compose-buildx-quay - docker-clean: -$(foreach container_id,$(shell docker ps -f name=tools_awx -aq && docker ps -f name=tools_receptor -aq),docker stop $(container_id); docker rm -f $(container_id);) -$(foreach image_id,$(shell docker images --filter=reference='*/*/*awx_devel*' --filter=reference='*/*awx_devel*' --filter=reference='*awx_devel*' -aq),docker rmi --force $(image_id);) From 4d0f253015da56e8af71502b244aef155b20dae4 Mon Sep 17 00:00:00 2001 From: jerabekjiri Date: Mon, 12 Jan 2026 17:54:15 +0100 Subject: [PATCH 3/5] update description and check for tower_devel --- .github/workflows/devel_images.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/devel_images.yml b/.github/workflows/devel_images.yml index 0a9f2f1617d2..6b818c7225b3 100644 --- a/.github/workflows/devel_images.yml +++ b/.github/workflows/devel_images.yml @@ -57,7 +57,7 @@ jobs: env: OWNER: '${{ github.repository_owner }}' - - name: Overwrite DEV_DOCKER_TAG_BASE for tower_devel + - name: Overwrite DEV_DOCKER_TAG_BASE to Quay registry run: | echo "DEV_DOCKER_TAG_BASE=quay.io/${{ env.QUAY_OWNER }}" >> $GITHUB_ENV if: matrix.build-targets.image-name == 'tower_devel' @@ -71,7 +71,7 @@ jobs: - name: Log in to Quay run: | echo "${{ secrets.QUAY_TOKEN }}" | docker login quay.io -u ${{ secrets.QUAY_USER }} --password-stdin - if: github.repository == env.DOWNSTREAM_REPO + if: matrix.build-targets.image-name == 'tower_devel' - name: Setup node and npm for the new UI build uses: actions/setup-node@v2 From 938fd2ebd02255116c90c31b61c335d6a8071ee1 Mon Sep 17 00:00:00 2001 From: jerabekjiri Date: Tue, 13 Jan 2026 09:58:32 +0100 Subject: [PATCH 4/5] remove unusued --- .github/workflows/devel_images.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/devel_images.yml b/.github/workflows/devel_images.yml index 6b818c7225b3..079e18332be5 100644 --- a/.github/workflows/devel_images.yml +++ b/.github/workflows/devel_images.yml @@ -3,7 +3,6 @@ name: Build/Push Development Images env: LC_ALL: "C.UTF-8" # prevent ERROR: Ansible could not initialize the preferred locale: unsupported locale setting DOCKER_CACHE: "--no-cache" # using the cache will not rebuild git requirements and other things - DOWNSTREAM_REPO: "ansible/tower" QUAY_OWNER: "aap" on: workflow_dispatch: From 8b347b6e1345fdd3ae5b3b33571f02eb041d4392 Mon Sep 17 00:00:00 2001 From: jerabekjiri Date: Tue, 13 Jan 2026 16:47:16 +0100 Subject: [PATCH 5/5] use vars for QUAY_USER --- .github/workflows/devel_images.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/devel_images.yml b/.github/workflows/devel_images.yml index 079e18332be5..63f7035fc530 100644 --- a/.github/workflows/devel_images.yml +++ b/.github/workflows/devel_images.yml @@ -69,7 +69,7 @@ jobs: - name: Log in to Quay run: | - echo "${{ secrets.QUAY_TOKEN }}" | docker login quay.io -u ${{ secrets.QUAY_USER }} --password-stdin + echo "${{ secrets.QUAY_TOKEN }}" | docker login quay.io -u ${{ vars.QUAY_USER }} --password-stdin if: matrix.build-targets.image-name == 'tower_devel' - name: Setup node and npm for the new UI build