when: - event: [push, manual, pull_request] branch: [main] 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: GITEA_PACKAGES_USERNAME: from_secret: gitea_packages_username GITEA_PACKAGES_TOKEN: from_secret: gitea_packages_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" docker login git.cluster.lab.kemkas.hu -u "$GITEA_PACKAGES_USERNAME" -p "$GITEA_PACKAGES_TOKEN" 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