Skip to content

Commit 1bda427

Browse files
committed
Enabling use of podman
1 parent 884fed2 commit 1bda427

2 files changed

Lines changed: 154 additions & 137 deletions

File tree

Makefile

Lines changed: 45 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,16 @@ include $(abspath $(PROJECT_DIR)/build/automation/init.mk)
44
# ==============================================================================
55
# Development workflow targets
66

7+
docker_cmd:
8+
DOCKER_CMD=$(DOCKER_CMD)
9+
10+
# docker_get_reg:
11+
# echo $(_docker-get-reg)
12+
13+
# build_ts:
14+
# echo $(or $(BUILD_DATE), $(shell date -u +"%Y-%m-%dT%H:%M:%S%z"))
15+
# echo $(shell date -j -f "%Y-%m-%dT%H:%M:%S%z" "$(BUILD_DATE)" -u +"%Y%m%d%H%M%S" 2>/dev/null)
16+
717
setup: project-config # Set up project
818
make tester-build
919

@@ -51,8 +61,7 @@ populate-tagging-variables:
5161
echo "export TF_VAR_distribution_list=$$(echo $$DEPLOYMENT_SECRETS | jq -r '.$(DISTRIBUTION_LIST_KEY)')"
5262

5363
unit-test:
54-
# make -s docker-run-tester \
55-
make -s podman-run-tester \
64+
make -s docker-run-tester \
5665
CMD="python -m pytest application --junitxml=./testresults.xml --cov-report term-missing --cov-report xml:coverage.xml --cov=application -vv" \
5766
ARGS=$(UNIT_TEST_ARGS)
5867

@@ -336,8 +345,7 @@ batch-delete-ecr-images: # Mandatory - LIST_OF_DIGESTS: [list of "sha:digest" se
336345

337346
tester-build: ### Build tester docker image
338347
cat $(APPLICATION_DIR)/*/requirements.txt $(APPLICATION_DIR)/requirements-dev.txt | sort --unique > $(DOCKER_DIR)/tester/assets/requirements.txt
339-
# make -s docker-image NAME=tester
340-
make -s podman-image NAME=tester
348+
make -s docker-image NAME=tester
341349

342350
tester-clean:
343351
rm -fv $(DOCKER_DIR)/tester/assets/*.txt
@@ -498,43 +506,12 @@ commit-date-hash-tag:
498506

499507
######### Trial for podman #############
500508

501-
podman-run-tester: ### Run Python container with Podman
502-
make docker-config > /dev/null 2>&1
503-
mkdir -p $(TMP_DIR)/.python/pip/{cache,packages}
504-
lib_volume_mount=$$(([ $(BUILD_ID) -eq 0 ] || [ "$(LIB_VOLUME_MOUNT)" == true ]) && echo "--volume=$(TMP_DIR)/.python/pip/cache:/tmp/.cache/pip --volume=$(TMP_DIR)/.python/pip/packages:/tmp/.packages" ||:)
505-
container=$$([ -n "$(CONTAINER)" ] && echo $(CONTAINER) || echo tester-$(BUILD_COMMIT_HASH)-$(BUILD_ID)-$$(date -u +"%Y%m%d%H%M%S")-$$(make secret-random LENGTH=8))
506-
/opt/podman/bin/podman run --interactive $(_TTY) --rm \
507-
--name $$container \
508-
--user $$(id -u):$$(id -g) \
509-
--env-file /tmp/env_aws_tx.env \
510-
--env-file /tmp/env_db_api.env \
511-
--env-file /tmp/env_profile.env \
512-
--env-file /tmp/env_custom.env \
513-
--env HOME=/tmp \
514-
--env PIP_TARGET=/tmp/.packages \
515-
--env PYTHONPATH=/tmp/.packages \
516-
--env XDG_CACHE_HOME=/tmp/.cache \
517-
--volume $(PROJECT_DIR):/project \
518-
--volume $(HOME)/.aws:/tmp/.aws \
519-
--volume $(HOME)/bin:/tmp/bin \
520-
--volume $(HOME)/etc:/tmp/etc \
521-
--volume $(HOME)/usr:/tmp/usr \
522-
$$lib_volume_mount \
523-
--network $(DOCKER_NETWORK) \
524-
--workdir /project/$(shell echo $(abspath $(DIR)) | sed "s;$(PROJECT_DIR);;g") \
525-
$(ARGS) \
526-
$$(make _docker-get-reg)/tester:latest \
527-
$(CMD)
528-
529-
530-
######### Trial for podman #############
531-
532-
# docker-run-tester: ### Run python container - mandatory: CMD; optional: SH=true,DIR,ARGS=[Docker args],LIB_VOLUME_MOUNT=true,VARS_FILE=[Makefile vars file],IMAGE=[image name],CONTAINER=[container name]
509+
# podman-run-tester: ### Run Python container with Podman
533510
# make docker-config > /dev/null 2>&1
534511
# mkdir -p $(TMP_DIR)/.python/pip/{cache,packages}
535512
# lib_volume_mount=$$(([ $(BUILD_ID) -eq 0 ] || [ "$(LIB_VOLUME_MOUNT)" == true ]) && echo "--volume $(TMP_DIR)/.python/pip/cache:/tmp/.cache/pip --volume $(TMP_DIR)/.python/pip/packages:/tmp/.packages" ||:)
536513
# container=$$([ -n "$(CONTAINER)" ] && echo $(CONTAINER) || echo tester-$(BUILD_COMMIT_HASH)-$(BUILD_ID)-$$(date --date=$$(date -u +"%Y-%m-%dT%H:%M:%S%z") -u +"%Y%m%d%H%M%S" 2> /dev/null)-$$(make secret-random LENGTH=8))
537-
# docker run --interactive $(_TTY) --rm \
514+
# /opt/podman/bin/podman run --interactive $(_TTY) --rm \
538515
# --name $$container \
539516
# --user $$(id -u):$$(id -g) \
540517
# --env-file <(make _list-variables PATTERN="^(AWS|TX|TEXAS|NHSD|TERRAFORM)") \
@@ -558,6 +535,37 @@ podman-run-tester: ### Run Python container with Podman
558535
# $(CMD)
559536

560537

538+
######### Trial for podman #############
539+
540+
docker-run-tester: ### Run python container - mandatory: CMD; optional: SH=true,DIR,ARGS=[Docker args],LIB_VOLUME_MOUNT=true,VARS_FILE=[Makefile vars file],IMAGE=[image name],CONTAINER=[container name]
541+
make docker-config > /dev/null 2>&1
542+
mkdir -p $(TMP_DIR)/.python/pip/{cache,packages}
543+
lib_volume_mount=$$(([ $(BUILD_ID) -eq 0 ] || [ "$(LIB_VOLUME_MOUNT)" == true ]) && echo "--volume $(TMP_DIR)/.python/pip/cache:/tmp/.cache/pip --volume $(TMP_DIR)/.python/pip/packages:/tmp/.packages" ||:)
544+
container=$$([ -n "$(CONTAINER)" ] && echo $(CONTAINER) || echo tester-$(BUILD_COMMIT_HASH)-$(BUILD_ID)-$$(date --date=$$(date -u +"%Y-%m-%dT%H:%M:%S%z") -u +"%Y%m%d%H%M%S" 2> /dev/null)-$$(make secret-random LENGTH=8))
545+
$(DOCKER_CMD) run --interactive $(_TTY) --rm \
546+
--name $$container \
547+
--user $$(id -u):$$(id -g) \
548+
--env-file <(make _list-variables PATTERN="^(AWS|TX|TEXAS|NHSD|TERRAFORM)") \
549+
--env-file <(make _list-variables PATTERN="^(DB|DATABASE|SMTP|APP|APPLICATION|UI|API|SERVER|HOST|URL)") \
550+
--env-file <(make _list-variables PATTERN="^(PROFILE|ENVIRONMENT|BUILD|PROGRAMME|ORG|SERVICE|PROJECT)") \
551+
--env-file <(make _docker-get-variables-from-file VARS_FILE=$(VARS_FILE)) \
552+
--env HOME=/tmp \
553+
--env PIP_TARGET=/tmp/.packages \
554+
--env PYTHONPATH=/tmp/.packages \
555+
--env XDG_CACHE_HOME=/tmp/.cache \
556+
--volume $(PROJECT_DIR):/project \
557+
--volume $(HOME)/.aws:/tmp/.aws \
558+
--volume $(HOME)/bin:/tmp/bin \
559+
--volume $(HOME)/etc:/tmp/etc \
560+
--volume $(HOME)/usr:/tmp/usr \
561+
$$lib_volume_mount \
562+
--network $(DOCKER_NETWORK) \
563+
--workdir /project/$(shell echo $(abspath $(DIR)) | sed "s;$(PROJECT_DIR);;g") \
564+
$(ARGS) \
565+
$$(make _docker-get-reg)/tester:latest \
566+
$(CMD)
567+
568+
561569
# ==============================================================================
562570
# Python Targets (including Ruff)
563571

0 commit comments

Comments
 (0)