@@ -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+
717setup : 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
5363unit-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
337346tester-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
342350tester-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