steps: generate-tags-frontend: name: Generate Tags for Frontend image: ghcr.io/dvjn/woodpecker-docker-tags-plugin when: path: include: [ frontend/** ] settings: tags: | edge -b develop -v develop edge -b master -v latest sha tags_file: .tags-frontend build-frontend: name: Build & Push Frontend image: woodpeckerci/plugin-kaniko depends_on: [ generate-tags-frontend ] when: event: [ push ] path: include: [ frontend/** ] settings: registry: harbor.dvirlabs.com repo: my-apps/labmap-frontend dockerfile: frontend/Dockerfile context: frontend tags_file: .tags-frontend username: from_secret: DOCKER_USERNAME password: from_secret: DOCKER_PASSWORD generate-tags-backend: name: Generate Tags for Backend image: ghcr.io/dvjn/woodpecker-docker-tags-plugin when: path: include: [ backend/** ] settings: tags: | edge -b develop -v develop edge -b master -v latest sha tags_file: .tags-backend build-backend: name: Build & Push Backend image: woodpeckerci/plugin-kaniko depends_on: [ generate-tags-backend ] when: event: [ push ] path: include: [ backend/** ] settings: registry: harbor.dvirlabs.com repo: my-apps/labmap-backend dockerfile: backend/Dockerfile context: backend tags_file: .tags-backend username: from_secret: DOCKER_USERNAME password: from_secret: DOCKER_PASSWORD update-values-frontend: name: Update frontend tag in values.yaml image: alpine:3.19 when: event: [ push ] path: include: [ frontend/** ] environment: GIT_USERNAME: from_secret: GIT_USERNAME GIT_TOKEN: from_secret: GIT_TOKEN commands: - apk add --no-cache git yq - git config --global user.name "woodpecker-bot" - git config --global user.email "ci@dvirlabs.com" - git clone "https://$${GIT_USERNAME}:$${GIT_TOKEN}@git.dvirlabs.com/dvirlabs/my-apps.git" - cd my-apps - | if [ "$CI_COMMIT_BRANCH" = "develop" ]; then TAG="develop-${CI_BUILD_NUMBER}" else TAG="${CI_COMMIT_SHA:0:7}" fi echo "💡 Setting frontend tag to: $TAG" yq -i ".frontend.tag = \"$TAG\"" manifests/labmap/values.yaml git add manifests/labmap/values.yaml git commit -m "frontend: update tag to $TAG" || echo "No changes" git push origin HEAD update-values-backend: name: Update backend tag in values.yaml image: alpine:3.19 when: event: [ push ] path: include: [ backend/** ] environment: GIT_USERNAME: from_secret: GIT_USERNAME GIT_TOKEN: from_secret: GIT_TOKEN commands: - apk add --no-cache git yq - git config --global user.name "woodpecker-bot" - git config --global user.email "ci@dvirlabs.com" - git clone "https://$${GIT_USERNAME}:$${GIT_TOKEN}@git.dvirlabs.com/dvirlabs/my-apps.git" - cd my-apps - | if [ "$CI_COMMIT_BRANCH" = "develop" ]; then TAG="develop-${CI_BUILD_NUMBER}" else TAG="${CI_COMMIT_SHA:0:7}" fi echo "💡 Setting backend tag to: $TAG" yq -i ".backend.tag = \"$TAG\"" manifests/labmap/values.yaml git add manifests/labmap/values.yaml git commit -m "backend: update tag to $TAG" || echo "No changes" git push origin HEAD