From df38b9d726bc4313c4449d56e51d2327b337b246 Mon Sep 17 00:00:00 2001 From: Dmitry Smirnov Date: Mon, 23 Dec 2024 16:50:23 +0200 Subject: [PATCH] debug makefile --- .github/workflows/build-and-test.yml | 4 +-- Makefile | 37 +++++++++++++++++++++------- Makefile.help | 4 --- 3 files changed, 30 insertions(+), 15 deletions(-) diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index 1edccd1a..0f16d168 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -31,8 +31,8 @@ jobs: uses: docker/setup-buildx-action@v3 - name: Run Development Pipeline - # run: make dev-pipeline - run: MULTIPLATFORM=true make dev-pipeline + run: make dev-pipeline + # run: MULTIPLATFORM=true make dev-pipeline working-directory: . env: AZURE_CREDS: ${{ secrets.AZURE_CREDS }} diff --git a/Makefile b/Makefile index f9fb2a5e..c2872ece 100644 --- a/Makefile +++ b/Makefile @@ -24,16 +24,35 @@ build: # Run Docker container (supports interactive mode) run: clean @echo "Running Docker container..." - @docker run $(if $(INTERACTIVE),-it,-d) --rm --name $(CONTAINER_NAME) \ - $(foreach file,$(wildcard *.json),\ - $(eval CREDS_VAR_NAME=$(shell echo "$(file)" | sed -e 's/\.json//g' -e 's/\./_/g' | tr '[:lower:]' '[:upper:]')) \ - $(eval CREDS_VAR_VALUE=$(shell cat "$(file)" | jq -c .)) \ - -e $(CREDS_VAR_NAME)='$(CREDS_VAR_VALUE)' \ - ) \ - $(foreach env_var,$(filter %_CREDS,$(.VARIABLES)),\ - -e $(env_var)=$($(env_var)) \ - ) \ + + @echo "Detecting JSON credentials files..." + $(eval JSON_CREDS_ENV := $(shell \ + for file in $(wildcard *.json); do \ + CREDS_VAR_NAME=$$(echo "$${file}" | sed -e 's/\.json//g' -e 's/\./_/g' | tr '[:lower:]' '[:upper:]'); \ + CREDS_VAR_VALUE=$$(cat "$${file}" | jq -c .); \ + echo "-e $${CREDS_VAR_NAME}='$${CREDS_VAR_VALUE}'"; \ + done \ + )) + @echo "JSON_CREDS_ENV: $(JSON_CREDS_ENV)" + + @echo "Detecting host environment credentials..." + $(eval CREDS_ENV := $(shell bash -c '\ + for env_var in $(filter %_CREDS,$(.VARIABLES)); do \ + creds_value=$${!env_var}; \ + echo "-e $${env_var}='$${stringified_value}'"; \ + done \ + ')) + @echo "CREDS_ENV: $(CREDS_ENV)" + + @echo "Setting Docker volumes if any..." + $(eval DOCKER_VOLUMES := $(if $(VOLUMES),\ $(foreach vol,$(VOLUMES),-v $(vol)) \ + )) + + @docker run $(if $(INTERACTIVE),-it,-d) --rm --name $(CONTAINER_NAME) \ + $(JSON_CREDS_ENV) \ + $(CREDS_ENV) \ + $(DOCKER_VOLUMES) \ $(DOCKER_IMAGE) $(COMMAND) $(if $(filter false,$(INTERACTIVE)),docker logs -f $(CONTAINER_NAME);) diff --git a/Makefile.help b/Makefile.help index e0f6522a..f89db0e6 100644 --- a/Makefile.help +++ b/Makefile.help @@ -8,16 +8,12 @@ HELP_LOG = "View the container logs:" HELP_CLEAN = "Delete the running container:" HELP_TEST = "Run the validation tests:" HELP_DEV_PIPELINE = "Run the development pipeline:" -HELP_STRINGIFY_CREDS = "Stringify JSON credential files and set them as environment variables:" # Help target help: @echo "" @echo "Usage:" @echo "" - @echo "$(HELP_STRINGIFY_CREDS)" - @echo "make stringify-creds" - @echo "" @echo "$(HELP_BUILD)" @echo "make build" @echo ""