diff --git a/delivery.yaml b/delivery.yaml index 9ab8b5a4c..73ca13970 100644 --- a/delivery.yaml +++ b/delivery.yaml @@ -7,92 +7,108 @@ build_env: &BUILD_ENV MULTI_ARCH_REGISTRY: container-registry-test.zalando.net/acid pipeline: - - id: build-postgres-operator - env: - <<: *BUILD_ENV - type: script - vm_config: - type: linux - size: large - image: cdp-runtime/go - cache: - paths: - - /go/pkg/mod # pkg cache for Go modules - - ~/.cache/go-build # Go build cache - commands: - - desc: Run unit tests - cmd: | - make deps mocks test + - id: build-postgres-operator + env: + <<: *BUILD_ENV + type: script + vm_config: + type: linux + size: large + image: cdp-runtime/go + cache: + paths: + - /go/pkg/mod # pkg cache for Go modules + - ~/.cache/go-build # Go build cache + commands: + - desc: Run unit tests + cmd: | + make deps mocks test - - desc: Build Docker image - cmd: | - if [ -z ${CDP_SOURCE_BRANCH} ]; then - IMAGE=${MULTI_ARCH_REGISTRY}/postgres-operator - else - IMAGE=${MULTI_ARCH_REGISTRY}/postgres-operator-test - fi + - desc: Build Docker image + cmd: | + if [ -z ${CDP_SOURCE_BRANCH} ]; then + IMAGE=${MULTI_ARCH_REGISTRY}/postgres-operator + else + IMAGE=${MULTI_ARCH_REGISTRY}/postgres-operator-test + fi - docker buildx create --config /etc/cdp-buildkitd.toml --driver-opt network=host --bootstrap --use - docker buildx build --platform "linux/amd64,linux/arm64" \ - --build-arg BASE_IMAGE="${ALPINE_BASE_IMAGE}" \ - -t "${IMAGE}:${CDP_BUILD_VERSION}" \ - -f docker/Dockerfile \ - --push . + docker buildx create --config /etc/cdp-buildkitd.toml --driver-opt network=host --bootstrap --use + docker buildx build --platform "linux/amd64,linux/arm64" \ + --build-arg BASE_IMAGE="${ALPINE_BASE_IMAGE}" \ + -t "${IMAGE}:${CDP_BUILD_VERSION}" \ + -f docker/Dockerfile \ + --push . - if [ -z ${CDP_SOURCE_BRANCH} ]; then - cdp-promote-image ${IMAGE}:${CDP_BUILD_VERSION} - fi + if [ -z ${CDP_SOURCE_BRANCH} ]; then + cdp-promote-image ${IMAGE}:${CDP_BUILD_VERSION} + fi - - id: build-operator-ui - env: - <<: *BUILD_ENV - type: script - vm_config: - type: linux + - id: build-operator-ui + env: + <<: *BUILD_ENV + type: script + vm_config: + type: linux - commands: - - desc: 'Prepare environment' - cmd: | - apt-get update - apt-get install -y build-essential + commands: + - desc: 'Prepare environment' + cmd: | + apt-get update + apt-get install -y build-essential - - desc: 'Compile JavaScript app' - cmd: | - cd ui - make appjs + - desc: 'Compile JavaScript app' + cmd: | + cd ui + make appjs - - desc: 'Build and push Docker image' - cmd: | - cd ui - if [ -z ${CDP_SOURCE_BRANCH} ]; then - IMAGE=${MULTI_ARCH_REGISTRY}/postgres-operator-ui - else - IMAGE=${MULTI_ARCH_REGISTRY}/postgres-operator-ui-test - fi - - IMAGE_TAG=$(make docker-push IMAGE=${IMAGE} BASE_IMAGE=${PYTHON_BASE_IMAGE}) + - desc: 'Build and push Docker image' + cmd: | + cd ui + if [ -z ${CDP_SOURCE_BRANCH} ]; then + IMAGE=${MULTI_ARCH_REGISTRY}/postgres-operator-ui + else + IMAGE=${MULTI_ARCH_REGISTRY}/postgres-operator-ui-test + fi + + make appjs + docker buildx create --config /etc/cdp-buildkitd.toml --driver-opt network=host --bootstrap --use + docker buildx build --platform linux/amd64,linux/arm64 \ + --build-arg BASE_IMAGE="${PYTHON_BASE_IMAGE}" \ + -t ${IMAGE}:${CDP_BUILD_VERSION} \ + --push . - if [ -z ${CDP_SOURCE_BRANCH} ]; then - cdp-promote-image ${IMAGE_TAG} - fi + if [ -z ${CDP_SOURCE_BRANCH} ]; then + cdp-promote-image ${IMAGE}:${CDP_BUILD_VERSION} + fi - - id: build-logical-backup - env: - <<: *BUILD_ENV - type: script - vm_config: - type: linux + - id: build-logical-backup + env: + <<: *BUILD_ENV + type: script + vm_config: + type: linux - commands: - - desc: Build image - cmd: | - cd logical-backup - export TAG=$(git describe --tags --always --dirty) - docker buildx create --config /etc/cdp-buildkitd.toml --driver-opt network=host --bootstrap --use - docker buildx build --platform linux/amd64,linux/arm64 \ - -t ${MULTI_ARCH_REGISTRY}/postgres-operator-logical-backup:${TAG} \ - --push . + commands: + - desc: Build image + cmd: | + cd logical-backup + export TAG=$(git describe --tags --always --dirty) + docker buildx create --config /etc/cdp-buildkitd.toml --driver-opt network=host --bootstrap --use + docker buildx build --platform linux/amd64,linux/arm64 \ + -t ${MULTI_ARCH_REGISTRY}/postgres-operator-logical-backup:${TAG} \ + --push . - if [ -z ${CDP_SOURCE_BRANCH} ]; then - cdp-promote-image ${MULTI_ARCH_REGISTRY}/postgres-operator-logical-backup:${TAG} - fi + if [ -z ${CDP_SOURCE_BRANCH} ]; then + cdp-promote-image ${MULTI_ARCH_REGISTRY}/postgres-operator-logical-backup:${TAG} + fi + + - id: tag-operator + type: script + requires_human_approval: true + when: + event: push + branch: master + commands: + - desc: Tag release operator image + cmd: | + git gh-tag diff --git a/ui/Makefile b/ui/Makefile index 70c2018db..ff4cf94f6 100644 --- a/ui/Makefile +++ b/ui/Makefile @@ -33,18 +33,5 @@ docker: appjs echo "git describe $(shell git describe --tags --always --dirty)" docker build --rm -t "$(IMAGE):$(TAG)$(CDP_TAG)" -f Dockerfile --build-arg BASE_IMAGE="${BASE_IMAGE}" . -docker-push: appjs - echo "Tag ${TAG}" - echo "Version ${VERSION}" - echo "CDP tag ${CDP_TAG}" - echo "git describe $(shell git describe --tags --always --dirty)" - docker buildx create --config /etc/cdp-buildkitd.toml --driver-opt network=host --bootstrap --use - docker buildx build --platform linux/amd64,linux/arm64 \ - --build-arg BASE_IMAGE="${BASE_IMAGE}" \ - -f Dockerfile \ - -t "$(IMAGE):$(TAG)$(CDP_TAG)" \ - --push . - echo "$(IMAGE):$(TAG)$(CDP_TAG)" - mock: docker run -it -p 8081:8081 "$(IMAGE):$(TAG)" --mock