From 6de807eb4dd29e9a4f056831598fb5ff53d2fab3 Mon Sep 17 00:00:00 2001 From: Elio Bischof Date: Wed, 18 Jun 2025 13:11:26 +0200 Subject: [PATCH] cache compose tests --- Makefile | 11 ++++++----- apps/login-test-acceptance/.dockerignore | 3 --- apps/login-test-acceptance/docker-compose.yaml | 12 ++++++------ .../login-test-acceptance.Dockerfile.dockerignore | 5 +++++ .../login-test-integration.Dockerfile.dockerignore | 6 ++++++ dockerfiles/login-test-unit.Dockerfile | 2 +- dockerfiles/login-test-unit.Dockerfile.dockerignore | 6 ++++++ dockerfiles/proto-files.Dockerfile.dockerignore | 1 + .../typescript-proto-client.Dockerfile.dockerignore | 2 ++ 9 files changed, 33 insertions(+), 15 deletions(-) delete mode 100644 apps/login-test-acceptance/.dockerignore create mode 100644 dockerfiles/login-test-acceptance.Dockerfile.dockerignore create mode 100644 dockerfiles/login-test-integration.Dockerfile.dockerignore create mode 100644 dockerfiles/login-test-unit.Dockerfile.dockerignore create mode 100644 dockerfiles/proto-files.Dockerfile.dockerignore create mode 100644 dockerfiles/typescript-proto-client.Dockerfile.dockerignore diff --git a/Makefile b/Makefile index d8cc933c3e..595054f02e 100644 --- a/Makefile +++ b/Makefile @@ -1,11 +1,12 @@ XDG_CACHE_HOME ?= $(HOME)/.cache export CACHE_DIR ?= $(XDG_CACHE_HOME)/zitadel-make -export BAKE_CLI ?= docker buildx bake +export BAKE_CLI ?= docker buildx bake --file ./docker-bake.hcl export REF_TAG ?= local export LOGIN_TAG := login:${REF_TAG} export LOGIN_TEST_UNIT_TAG := login-test-unit:${REF_TAG} export LOGIN_TEST_INTEGRATION_TAG ?= login-test-integration:${REF_TAG} +export LOGIN_TEST_ACCEPTANCE_BUILD_CONTEXT := apps/login-test-acceptance export LOGIN_TEST_ACCEPTANCE_TAG := login-test-acceptance:${REF_TAG} export LOGIN_TEST_ACCEPTANCE_SETUP_TAG := login-test-acceptance-setup:${REF_TAG} export LOGIN_TEST_ACCEPTANCE_SINK_TAG := login-test-acceptance-sink:${REF_TAG} @@ -55,8 +56,8 @@ login-test-integration: login-standalone-build login-test-integration-build $(CORE_MOCK_TAG) \ $(LOGIN_TEST_INTEGRATION_TAG)" -login-test-acceptance-build: - $(BAKE_CLI) --file ./apps/login-test-acceptance/docker-compose.yaml setup sink oidcop samlsp samlidp login-standalone login-test-acceptance +login-test-acceptance-build: login-standalone-build + $(BAKE_CLI) --file ./apps/login-test-acceptance/docker-compose.yaml setup sink oidcrp oidcop samlsp samlidp login-test-acceptance login-test-acceptance-run: login-acceptance-cleanup docker compose --file ./apps/login-test-acceptance/docker-compose.yaml run --rm --service-ports acceptance @@ -64,7 +65,7 @@ login-test-acceptance-run: login-acceptance-cleanup login-acceptance-cleanup: docker compose --file ./apps/login-test-acceptance/docker-compose.yaml down --volumes -login-test-acceptance: login-standalone-build login-test-acceptance-build +login-test-acceptance: login-test-acceptance-build ./scripts/run_or_skip.sh login-test-acceptance-run \ "$(LOGIN_TAG) \ $(ZITADEL_TAG) \ @@ -79,7 +80,7 @@ login-test-acceptance: login-standalone-build login-test-acceptance-build $(LOGIN_TEST_ACCEPTANCE_SAMLIDP_TAG)" .PHONY: login-quality -login-quality: login-lint login-test-unit login-test-integration login-test-acceptance +login-quality: login-lint login-test-integration login-test-acceptance @: .PHONY: login-standalone-build diff --git a/apps/login-test-acceptance/.dockerignore b/apps/login-test-acceptance/.dockerignore deleted file mode 100644 index b4a03eb5ea..0000000000 --- a/apps/login-test-acceptance/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -go-command -.env.local -test-results diff --git a/apps/login-test-acceptance/docker-compose.yaml b/apps/login-test-acceptance/docker-compose.yaml index ca9e4f7937..cc32dab4e3 100644 --- a/apps/login-test-acceptance/docker-compose.yaml +++ b/apps/login-test-acceptance/docker-compose.yaml @@ -74,7 +74,7 @@ services: container_name: acceptance-setup image: ${LOGIN_TEST_ACCEPTANCE_SETUP_TAG:-login-test-acceptance-setup:local} build: - context: ./setup + context: ${LOGIN_TEST_ACCEPTANCE_BUILD_CONTEXT:-.}/setup dockerfile: ../go-command.Dockerfile entrypoint: "./setup.sh" environment: @@ -116,7 +116,7 @@ services: image: ${LOGIN_TEST_ACCEPTANCE_SINK_TAG:-login-test-acceptance-sink:local} container_name: acceptance-sink build: - context: ./sink + context: ${LOGIN_TEST_ACCEPTANCE_BUILD_CONTEXT:-.}/sink dockerfile: ../go-command.Dockerfile args: - LOGIN_TEST_ACCEPTANCE_GOLANG_TAG=${LOGIN_TEST_ACCEPTANCE_GOLANG_TAG:-golang:1.24-alpine} @@ -141,7 +141,7 @@ services: image: ${LOGIN_TEST_ACCEPTANCE_OIDCRP_TAG:-login-test-acceptance-oidcrp:local} container_name: acceptance-oidcrp build: - context: ./oidcrp + context: ${LOGIN_TEST_ACCEPTANCE_BUILD_CONTEXT:-.}/oidcrp dockerfile: ../go-command.Dockerfile args: - LOGIN_TEST_ACCEPTANCE_GOLANG_TAG=${LOGIN_TEST_ACCEPTANCE_GOLANG_TAG:-golang:1.24-alpine} @@ -168,7 +168,7 @@ services: image: ${LOGIN_TEST_ACCEPTANCE_OIDCOP_TAG:-login-test-acceptance-oidcop:local} container_name: acceptance-oidcop build: - context: ./idp/oidc + context: ${LOGIN_TEST_ACCEPTANCE_BUILD_CONTEXT:-.}/idp/oidc dockerfile: ../../go-command.Dockerfile args: - LOGIN_TEST_ACCEPTANCE_GOLANG_TAG=${LOGIN_TEST_ACCEPTANCE_GOLANG_TAG:-golang:1.24-alpine} @@ -193,7 +193,7 @@ services: image: ${LOGIN_TEST_ACCEPTANCE_SAMLSP_TAG:-login-test-acceptance-samlsp:local} container_name: acceptance-samlsp build: - context: ./samlsp + context: ${LOGIN_TEST_ACCEPTANCE_BUILD_CONTEXT:-.}/samlsp dockerfile: ../go-command.Dockerfile args: - LOGIN_TEST_ACCEPTANCE_GOLANG_TAG=${LOGIN_TEST_ACCEPTANCE_GOLANG_TAG:-golang:1.24-alpine} @@ -217,7 +217,7 @@ services: image: ${LOGIN_TEST_ACCEPTANCE_SAMLIDP_TAG:-login-test-acceptance-samlidp:local} container_name: acceptance-samlidp build: - context: ./idp/saml + context: ${LOGIN_TEST_ACCEPTANCE_BUILD_CONTEXT:-.}/idp/saml dockerfile: ../../go-command.Dockerfile args: - LOGIN_TEST_ACCEPTANCE_GOLANG_TAG=${LOGIN_TEST_ACCEPTANCE_GOLANG_TAG:-golang:1.24-alpine} diff --git a/dockerfiles/login-test-acceptance.Dockerfile.dockerignore b/dockerfiles/login-test-acceptance.Dockerfile.dockerignore new file mode 100644 index 0000000000..cba55ae91e --- /dev/null +++ b/dockerfiles/login-test-acceptance.Dockerfile.dockerignore @@ -0,0 +1,5 @@ +* +!/apps/login-test-acceptance/*.json +!/apps/login-test-acceptance/*.ts +!/apps/login-test-acceptance/zitadel.yaml +!/apps/login-test-acceptance/tests diff --git a/dockerfiles/login-test-integration.Dockerfile.dockerignore b/dockerfiles/login-test-integration.Dockerfile.dockerignore new file mode 100644 index 0000000000..6af8ddb1f7 --- /dev/null +++ b/dockerfiles/login-test-integration.Dockerfile.dockerignore @@ -0,0 +1,6 @@ +* +!/apps/login-test-integration/*.json +!/apps/login-test-integration/*.ts +!/apps/login-test-integration/integration +!/apps/login-test-integration/fixtures +!/apps/login-test-integration/support diff --git a/dockerfiles/login-test-unit.Dockerfile b/dockerfiles/login-test-unit.Dockerfile index 365c843287..d456a4fac4 100644 --- a/dockerfiles/login-test-unit.Dockerfile +++ b/dockerfiles/login-test-unit.Dockerfile @@ -1,6 +1,6 @@ FROM login-client AS login-test-unit COPY apps/login/package.json ./apps/login/ RUN --mount=type=cache,id=pnpm,target=/pnpm/store \ - pnpm install --frozen-lockfile --workspace-root --filter zitadel-client + pnpm install --frozen-lockfile --workspace-root --filter ./apps/login COPY apps/login ./apps/login RUN pnpm test:unit:standalone diff --git a/dockerfiles/login-test-unit.Dockerfile.dockerignore b/dockerfiles/login-test-unit.Dockerfile.dockerignore new file mode 100644 index 0000000000..4ba8e9ef2e --- /dev/null +++ b/dockerfiles/login-test-unit.Dockerfile.dockerignore @@ -0,0 +1,6 @@ +* +!/apps/login/src +!/apps/login/public +!/apps/login/locales +!/apps/login/constants +!/apps/login/*.json diff --git a/dockerfiles/proto-files.Dockerfile.dockerignore b/dockerfiles/proto-files.Dockerfile.dockerignore new file mode 100644 index 0000000000..72e8ffc0db --- /dev/null +++ b/dockerfiles/proto-files.Dockerfile.dockerignore @@ -0,0 +1 @@ +* diff --git a/dockerfiles/typescript-proto-client.Dockerfile.dockerignore b/dockerfiles/typescript-proto-client.Dockerfile.dockerignore new file mode 100644 index 0000000000..0db4b8402e --- /dev/null +++ b/dockerfiles/typescript-proto-client.Dockerfile.dockerignore @@ -0,0 +1,2 @@ +* +!/packages/zitadel-proto/