when: - event: [push, manual, pull_request] branch: [main] services: docker: image: docker:28-dind privileged: true environment: DOCKER_TLS_CERTDIR: "" steps: prepare-fe-image-tags: image: alpine:3.21 commands: - | COMMIT_SHA="${CI_COMMIT_SHA:-${CI_COMMIT:-${DRONE_COMMIT_SHA:-${DRONE_COMMIT:-}}}}" if [ -n "$COMMIT_SHA" ]; then IMAGE_TAG="$(printf '%s' "$COMMIT_SHA" | cut -c1-8)" else REF_NAME="${CI_COMMIT_REF:-${CI_COMMIT_BRANCH:-manual}}" REF_NAME="${REF_NAME#refs/heads/}" REF_NAME="$(printf '%s' "$REF_NAME" | sed 's#[^A-Za-z0-9_.-]#-#g')" IMAGE_TAG="$(printf '%s' "${REF_NAME:-manual}-${CI_PIPELINE_NUMBER:-0}" | cut -c1-32)" fi echo "Using frontend image tag: $IMAGE_TAG" printf '%s\n' "$IMAGE_TAG" > .fe-tags printf '%s\n' "latest" >> .fe-tags printf '%s\n' "$IMAGE_TAG" > .e2e-tags printf '%s\n' "latest" >> .e2e-tags build-and-push-fe-image: image: docker.io/woodpeckerci/plugin-docker-buildx:latest privileged: true depends_on: - prepare-fe-image-tags settings: registry: git.cluster.lab.kemkas.hu repo: git.cluster.lab.kemkas.hu/${CI_REPO} context: frontend dockerfile: frontend/Dockerfile tags_file: .fe-tags username: from_secret: gitea_packages_username password: from_secret: gitea_packages_token build-and-push-e2e-image: image: docker.io/woodpeckerci/plugin-docker-buildx:latest privileged: true depends_on: - prepare-fe-image-tags settings: registry: git.cluster.lab.kemkas.hu repo: git.cluster.lab.kemkas.hu/${CI_REPO}-e2e context: e2e dockerfile: e2e/Dockerfile tags_file: .e2e-tags username: from_secret: gitea_packages_username password: from_secret: gitea_packages_token run-e2e: image: docker:28-cli privileged: true depends_on: - build-and-push-fe-image - build-and-push-e2e-image environment: DOCKER_HOST: tcp://docker:2375 DOCKER_TLS_CERTDIR: "" GITEA_PACKAGES_USERNAME: from_secret: gitea_packages_username GITEA_PACKAGES_TOKEN: from_secret: gitea_packages_token GHCR_IO_REGISTRY_USERNAME: from_secret: ghcr_io_registry_username GHCR_IO_REGISTRY_TOKEN: from_secret: ghcr_io_registry_token commands: - | IMAGE_TAG="$(head -n1 .fe-tags)" export FRONTEND_IMAGE="git.cluster.lab.kemkas.hu/${CI_REPO}:$${IMAGE_TAG}" export E2E_IMAGE="git.cluster.lab.kemkas.hu/${CI_REPO}-e2e:$${IMAGE_TAG}" echo "Using image tag: $${IMAGE_TAG}" printf '%s' "$${GITEA_PACKAGES_TOKEN}" | docker login git.cluster.lab.kemkas.hu -u "$${GITEA_PACKAGES_USERNAME}" --password-stdin printf '%s' "$${GHCR_IO_REGISTRY_TOKEN}" | docker login ghcr.io -u "$${GHCR_IO_REGISTRY_USERNAME}" --password-stdin trap 'docker compose -f e2e.docker-compose.yaml down -v --remove-orphans' EXIT docker compose -f e2e.docker-compose.yaml pull docker compose -f e2e.docker-compose.yaml up --no-build --abort-on-container-exit --exit-code-from e2e e2e