mirror of
https://github.com/ansible/awx.git
synced 2026-05-14 21:07:39 -02:30
Do not use cache in github image build action (#15308)
* Do not use cache in actual image build action * Add cache args to kube prod builds
This commit is contained in:
1
.github/workflows/devel_images.yml
vendored
1
.github/workflows/devel_images.yml
vendored
@@ -2,6 +2,7 @@
|
|||||||
name: Build/Push Development Images
|
name: Build/Push Development Images
|
||||||
env:
|
env:
|
||||||
LC_ALL: "C.UTF-8" # prevent ERROR: Ansible could not initialize the preferred locale: unsupported locale setting
|
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
|
||||||
on:
|
on:
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
push:
|
push:
|
||||||
|
|||||||
35
Makefile
35
Makefile
@@ -63,6 +63,8 @@ DEV_DOCKER_OWNER ?= ansible
|
|||||||
DEV_DOCKER_OWNER_LOWER = $(shell echo $(DEV_DOCKER_OWNER) | tr A-Z a-z)
|
DEV_DOCKER_OWNER_LOWER = $(shell echo $(DEV_DOCKER_OWNER) | tr A-Z a-z)
|
||||||
DEV_DOCKER_TAG_BASE ?= ghcr.io/$(DEV_DOCKER_OWNER_LOWER)
|
DEV_DOCKER_TAG_BASE ?= ghcr.io/$(DEV_DOCKER_OWNER_LOWER)
|
||||||
DEVEL_IMAGE_NAME ?= $(DEV_DOCKER_TAG_BASE)/awx_devel:$(COMPOSE_TAG)
|
DEVEL_IMAGE_NAME ?= $(DEV_DOCKER_TAG_BASE)/awx_devel:$(COMPOSE_TAG)
|
||||||
|
IMAGE_KUBE_DEV=$(DEV_DOCKER_TAG_BASE)/awx_kube_devel:$(COMPOSE_TAG)
|
||||||
|
IMAGE_KUBE=$(DEV_DOCKER_TAG_BASE)/awx:$(COMPOSE_TAG)
|
||||||
|
|
||||||
# Common command to use for running ansible-playbook
|
# Common command to use for running ansible-playbook
|
||||||
ANSIBLE_PLAYBOOK ?= ansible-playbook -e ansible_python_interpreter=$(PYTHON)
|
ANSIBLE_PLAYBOOK ?= ansible-playbook -e ansible_python_interpreter=$(PYTHON)
|
||||||
@@ -89,6 +91,18 @@ I18N_FLAG_FILE = .i18n_built
|
|||||||
## PLATFORMS defines the target platforms for the manager image be build to provide support to multiple
|
## PLATFORMS defines the target platforms for the manager image be build to provide support to multiple
|
||||||
PLATFORMS ?= linux/amd64,linux/arm64 # linux/ppc64le,linux/s390x
|
PLATFORMS ?= linux/amd64,linux/arm64 # linux/ppc64le,linux/s390x
|
||||||
|
|
||||||
|
# Set up cache variables for image builds, allowing to control whether cache is used or not, ex:
|
||||||
|
# DOCKER_CACHE=--no-cache make docker-compose-build
|
||||||
|
ifeq ($(DOCKER_CACHE),)
|
||||||
|
DOCKER_DEVEL_CACHE_FLAG=--cache-from=$(DEVEL_IMAGE_NAME)
|
||||||
|
DOCKER_KUBE_DEV_CACHE_FLAG=--cache-from=$(IMAGE_KUBE_DEV)
|
||||||
|
DOCKER_KUBE_CACHE_FLAG=--cache-from=$(IMAGE_KUBE)
|
||||||
|
else
|
||||||
|
DOCKER_DEVEL_CACHE_FLAG=$(DOCKER_CACHE)
|
||||||
|
DOCKER_KUBE_DEV_CACHE_FLAG=$(DOCKER_CACHE)
|
||||||
|
DOCKER_KUBE_CACHE_FLAG=$(DOCKER_CACHE)
|
||||||
|
endif
|
||||||
|
|
||||||
.PHONY: awx-link clean clean-tmp clean-venv requirements requirements_dev \
|
.PHONY: awx-link clean clean-tmp clean-venv requirements requirements_dev \
|
||||||
develop refresh adduser migrate dbchange \
|
develop refresh adduser migrate dbchange \
|
||||||
receiver test test_unit test_coverage coverage_html \
|
receiver test test_unit test_coverage coverage_html \
|
||||||
@@ -606,8 +620,7 @@ docker-compose-build: Dockerfile.dev
|
|||||||
-f Dockerfile.dev \
|
-f Dockerfile.dev \
|
||||||
-t $(DEVEL_IMAGE_NAME) \
|
-t $(DEVEL_IMAGE_NAME) \
|
||||||
--build-arg BUILDKIT_INLINE_CACHE=1 \
|
--build-arg BUILDKIT_INLINE_CACHE=1 \
|
||||||
--cache-from=$(DEV_DOCKER_TAG_BASE)/awx_devel:$(COMPOSE_TAG) .
|
$(DOCKER_DEVEL_CACHE_FLAG) .
|
||||||
|
|
||||||
|
|
||||||
.PHONY: docker-compose-buildx
|
.PHONY: docker-compose-buildx
|
||||||
## Build awx_devel image for docker compose development environment for multiple architectures
|
## Build awx_devel image for docker compose development environment for multiple architectures
|
||||||
@@ -617,7 +630,7 @@ docker-compose-buildx: Dockerfile.dev
|
|||||||
- docker buildx build \
|
- docker buildx build \
|
||||||
--push \
|
--push \
|
||||||
--build-arg BUILDKIT_INLINE_CACHE=1 \
|
--build-arg BUILDKIT_INLINE_CACHE=1 \
|
||||||
--cache-from=$(DEV_DOCKER_TAG_BASE)/awx_devel:$(COMPOSE_TAG) \
|
$(DOCKER_DEVEL_CACHE_FLAG) \
|
||||||
--platform=$(PLATFORMS) \
|
--platform=$(PLATFORMS) \
|
||||||
--tag $(DEVEL_IMAGE_NAME) \
|
--tag $(DEVEL_IMAGE_NAME) \
|
||||||
-f Dockerfile.dev .
|
-f Dockerfile.dev .
|
||||||
@@ -680,7 +693,8 @@ awx-kube-build: Dockerfile
|
|||||||
--build-arg VERSION=$(VERSION) \
|
--build-arg VERSION=$(VERSION) \
|
||||||
--build-arg SETUPTOOLS_SCM_PRETEND_VERSION=$(VERSION) \
|
--build-arg SETUPTOOLS_SCM_PRETEND_VERSION=$(VERSION) \
|
||||||
--build-arg HEADLESS=$(HEADLESS) \
|
--build-arg HEADLESS=$(HEADLESS) \
|
||||||
-t $(DEV_DOCKER_TAG_BASE)/awx:$(COMPOSE_TAG) .
|
$(DOCKER_KUBE_CACHE_FLAG) \
|
||||||
|
-t $(IMAGE_KUBE) .
|
||||||
|
|
||||||
## Build multi-arch awx image for deployment on Kubernetes environment.
|
## Build multi-arch awx image for deployment on Kubernetes environment.
|
||||||
awx-kube-buildx: Dockerfile
|
awx-kube-buildx: Dockerfile
|
||||||
@@ -692,7 +706,8 @@ awx-kube-buildx: Dockerfile
|
|||||||
--build-arg SETUPTOOLS_SCM_PRETEND_VERSION=$(VERSION) \
|
--build-arg SETUPTOOLS_SCM_PRETEND_VERSION=$(VERSION) \
|
||||||
--build-arg HEADLESS=$(HEADLESS) \
|
--build-arg HEADLESS=$(HEADLESS) \
|
||||||
--platform=$(PLATFORMS) \
|
--platform=$(PLATFORMS) \
|
||||||
--tag $(DEV_DOCKER_TAG_BASE)/awx:$(COMPOSE_TAG) \
|
$(DOCKER_KUBE_CACHE_FLAG) \
|
||||||
|
--tag $(IMAGE_KUBE) \
|
||||||
-f Dockerfile .
|
-f Dockerfile .
|
||||||
- docker buildx rm awx-kube-buildx
|
- docker buildx rm awx-kube-buildx
|
||||||
|
|
||||||
@@ -710,8 +725,8 @@ Dockerfile.kube-dev: tools/ansible/roles/dockerfile/templates/Dockerfile.j2
|
|||||||
awx-kube-dev-build: Dockerfile.kube-dev
|
awx-kube-dev-build: Dockerfile.kube-dev
|
||||||
DOCKER_BUILDKIT=1 docker build -f Dockerfile.kube-dev \
|
DOCKER_BUILDKIT=1 docker build -f Dockerfile.kube-dev \
|
||||||
--build-arg BUILDKIT_INLINE_CACHE=1 \
|
--build-arg BUILDKIT_INLINE_CACHE=1 \
|
||||||
--cache-from=$(DEV_DOCKER_TAG_BASE)/awx_kube_devel:$(COMPOSE_TAG) \
|
$(DOCKER_KUBE_DEV_CACHE_FLAG) \
|
||||||
-t $(DEV_DOCKER_TAG_BASE)/awx_kube_devel:$(COMPOSE_TAG) .
|
-t $(IMAGE_KUBE_DEV) .
|
||||||
|
|
||||||
## Build and push multi-arch awx_kube_devel image for development on local Kubernetes environment.
|
## Build and push multi-arch awx_kube_devel image for development on local Kubernetes environment.
|
||||||
awx-kube-dev-buildx: Dockerfile.kube-dev
|
awx-kube-dev-buildx: Dockerfile.kube-dev
|
||||||
@@ -720,14 +735,14 @@ awx-kube-dev-buildx: Dockerfile.kube-dev
|
|||||||
- docker buildx build \
|
- docker buildx build \
|
||||||
--push \
|
--push \
|
||||||
--build-arg BUILDKIT_INLINE_CACHE=1 \
|
--build-arg BUILDKIT_INLINE_CACHE=1 \
|
||||||
--cache-from=$(DEV_DOCKER_TAG_BASE)/awx_kube_devel:$(COMPOSE_TAG) \
|
$(DOCKER_KUBE_DEV_CACHE_FLAG) \
|
||||||
--platform=$(PLATFORMS) \
|
--platform=$(PLATFORMS) \
|
||||||
--tag $(DEV_DOCKER_TAG_BASE)/awx_kube_devel:$(COMPOSE_TAG) \
|
--tag $(IMAGE_KUBE_DEV) \
|
||||||
-f Dockerfile.kube-dev .
|
-f Dockerfile.kube-dev .
|
||||||
- docker buildx rm awx-kube-dev-buildx
|
- docker buildx rm awx-kube-dev-buildx
|
||||||
|
|
||||||
kind-dev-load: awx-kube-dev-build
|
kind-dev-load: awx-kube-dev-build
|
||||||
$(KIND_BIN) load docker-image $(DEV_DOCKER_TAG_BASE)/awx_kube_devel:$(COMPOSE_TAG)
|
$(KIND_BIN) load docker-image $(IMAGE_KUBE_DEV)
|
||||||
|
|
||||||
# Translation TASKS
|
# Translation TASKS
|
||||||
# --------------------------------------
|
# --------------------------------------
|
||||||
|
|||||||
Reference in New Issue
Block a user