merge docker build with e2e
ci/woodpecker/pr/build-and-e2e Pipeline failed
ci/woodpecker/pr/unit-lint Pipeline was successful

This commit is contained in:
2026-08-16 21:06:46 +02:00
parent 26ec7a16e3
commit 3c3055bce2
2 changed files with 29 additions and 69 deletions
@@ -1,9 +1,9 @@
when: when:
- event: [push, manual] - event: [push, manual, pull_request]
branch: [main] branch: [main]
steps: steps:
prepare-e2e-image-tags: prepare-fe-image-tags:
image: alpine:3.21 image: alpine:3.21
commands: commands:
- | - |
@@ -16,15 +16,33 @@ steps:
REF_NAME="$(printf '%s' "$REF_NAME" | sed 's#[^A-Za-z0-9_.-]#-#g')" 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)" IMAGE_TAG="$(printf '%s' "${REF_NAME:-manual}-${CI_PIPELINE_NUMBER:-0}" | cut -c1-32)"
fi fi
echo "Using e2e image tag: $IMAGE_TAG" 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' "$IMAGE_TAG" > .e2e-tags
- printf '%s\n' "latest" >> .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: build-and-push-e2e-image:
image: docker.io/woodpeckerci/plugin-docker-buildx:latest image: docker.io/woodpeckerci/plugin-docker-buildx:latest
privileged: true privileged: true
depends_on: depends_on:
- prepare-e2e-image-tags - prepare-fe-image-tags
settings: settings:
registry: git.cluster.lab.kemkas.hu registry: git.cluster.lab.kemkas.hu
repo: git.cluster.lab.kemkas.hu/${CI_REPO}-e2e repo: git.cluster.lab.kemkas.hu/${CI_REPO}-e2e
@@ -40,6 +58,7 @@ steps:
image: docker:28-cli image: docker:28-cli
privileged: true privileged: true
depends_on: depends_on:
- build-and-push-fe-image
- build-and-push-e2e-image - build-and-push-e2e-image
environment: environment:
GITEA_PACKAGES_USERNAME: GITEA_PACKAGES_USERNAME:
@@ -48,33 +67,11 @@ steps:
from_secret: gitea_packages_token from_secret: gitea_packages_token
commands: commands:
- | - |
COMMIT_SHA="${CI_COMMIT_SHA:-${CI_COMMIT:-${DRONE_COMMIT_SHA:-${DRONE_COMMIT:-}}}}" IMAGE_TAG="$(head -n1 .fe-tags)"
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
export FRONTEND_IMAGE="git.cluster.lab.kemkas.hu/${CI_REPO}:${IMAGE_TAG}" 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}" export E2E_IMAGE="git.cluster.lab.kemkas.hu/${CI_REPO}-e2e:${IMAGE_TAG}"
echo "Using image tag: $IMAGE_TAG" echo "Using image tag: $IMAGE_TAG"
- docker login git.cluster.lab.kemkas.hu -u "$GITEA_PACKAGES_USERNAME" -p "$GITEA_PACKAGES_TOKEN" 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
for i in $(seq 1 30); do docker compose -f e2e.docker-compose.yaml pull
if docker manifest inspect "$FRONTEND_IMAGE" >/dev/null 2>&1; then docker compose -f e2e.docker-compose.yaml up --no-build --abort-on-container-exit --exit-code-from e2e e2e
break
fi
if [ "$i" -eq 30 ]; then
echo "Frontend image not available: $FRONTEND_IMAGE"
exit 1
fi
echo "Waiting for frontend image: $FRONTEND_IMAGE"
sleep 10
done
- 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
-37
View File
@@ -1,37 +0,0 @@
when:
- event: [push, manual]
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
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