Преглед изворни кода

build: use generic env variables for otp and elixir when building docker image

Ivan Dyachkov пре 1 година
родитељ
комит
e1e5dc231d
3 измењених фајлова са 12 додато и 12 уклоњено
  1. 4 4
      .github/workflows/build_and_push_docker_images.yaml
  2. 5 5
      build
  3. 3 3
      scripts/pr-sanity-checks.sh

+ 4 - 4
.github/workflows/build_and_push_docker_images.yaml

@@ -169,8 +169,8 @@ jobs:
           EMQX_DOCKERFILE: 'deploy/docker/Dockerfile'
           EMQX_DOCKERFILE: 'deploy/docker/Dockerfile'
           PKG_VSN: ${{ needs.build.outputs.PKG_VSN }}
           PKG_VSN: ${{ needs.build.outputs.PKG_VSN }}
           EMQX_BUILDER_VERSION: ${{ inputs.builder_vsn }}
           EMQX_BUILDER_VERSION: ${{ inputs.builder_vsn }}
-          EMQX_BUILDER_OTP: ${{ inputs.otp_vsn }}
-          EMQX_BUILDER_ELIXIR: ${{ inputs.elixir_vsn }}
+          OTP_VSN: ${{ inputs.otp_vsn }}
+          ELIXIR_VSN: ${{ inputs.elixir_vsn }}
           EMQX_SOURCE_TYPE: tgz
           EMQX_SOURCE_TYPE: tgz
         run: |
         run: |
           ./build ${PROFILE} docker
           ./build ${PROFILE} docker
@@ -218,8 +218,8 @@ jobs:
           EMQX_DOCKERFILE: 'deploy/docker/Dockerfile'
           EMQX_DOCKERFILE: 'deploy/docker/Dockerfile'
           PKG_VSN: ${{ needs.build.outputs.PKG_VSN }}
           PKG_VSN: ${{ needs.build.outputs.PKG_VSN }}
           EMQX_BUILDER_VERSION: ${{ inputs.builder_vsn }}
           EMQX_BUILDER_VERSION: ${{ inputs.builder_vsn }}
-          EMQX_BUILDER_OTP: ${{ inputs.otp_vsn }}
-          EMQX_BUILDER_ELIXIR: ${{ inputs.elixir_vsn }}
+          OTP_VSN: ${{ inputs.otp_vsn }}
+          ELIXIR_VSN: ${{ inputs.elixir_vsn }}
           EMQX_SOURCE_TYPE: tgz
           EMQX_SOURCE_TYPE: tgz
         run: |
         run: |
           ./build ${PROFILE} docker
           ./build ${PROFILE} docker

+ 5 - 5
build

@@ -399,9 +399,9 @@ function is_ecr_and_enterprise() {
 make_docker() {
 make_docker() {
     local EMQX_BUILDER_VERSION="${EMQX_BUILDER_VERSION:-5.3-7}"
     local EMQX_BUILDER_VERSION="${EMQX_BUILDER_VERSION:-5.3-7}"
     local EMQX_BUILDER_PLATFORM="${EMQX_BUILDER_PLATFORM:-debian12}"
     local EMQX_BUILDER_PLATFORM="${EMQX_BUILDER_PLATFORM:-debian12}"
-    local EMQX_BUILDER_OTP="${EMQX_BUILDER_OTP:-26.2.5-1}"
-    local EMQX_BUILDER_ELIXIR="${EMQX_BUILDER_ELIXIR:-1.15.7}"
-    local EMQX_BUILDER=${EMQX_BUILDER:-ghcr.io/emqx/emqx-builder/${EMQX_BUILDER_VERSION}:${EMQX_BUILDER_ELIXIR}-${EMQX_BUILDER_OTP}-${EMQX_BUILDER_PLATFORM}}
+    local OTP_VSN="${OTP_VSN:-26.2.5-1}"
+    local ELIXIR_VSN="${ELIXIR_VSN:-1.15.7}"
+    local EMQX_BUILDER=${EMQX_BUILDER:-ghcr.io/emqx/emqx-builder/${EMQX_BUILDER_VERSION}:${ELIXIR_VSN}-${OTP_VSN}-${EMQX_BUILDER_PLATFORM}}
     local EMQX_RUNNER="${EMQX_RUNNER:-${EMQX_DEFAULT_RUNNER}}"
     local EMQX_RUNNER="${EMQX_RUNNER:-${EMQX_DEFAULT_RUNNER}}"
     local EMQX_DOCKERFILE="${EMQX_DOCKERFILE:-deploy/docker/Dockerfile}"
     local EMQX_DOCKERFILE="${EMQX_DOCKERFILE:-deploy/docker/Dockerfile}"
     local EMQX_SOURCE_TYPE="${EMQX_SOURCE_TYPE:-src}"
     local EMQX_SOURCE_TYPE="${EMQX_SOURCE_TYPE:-src}"
@@ -465,7 +465,7 @@ make_docker() {
        --label org.opencontainers.image.description="${PRODUCT_DESCRIPTION}" \
        --label org.opencontainers.image.description="${PRODUCT_DESCRIPTION}" \
        --label org.opencontainers.image.documentation="${DOCUMENTATION_URL}" \
        --label org.opencontainers.image.documentation="${DOCUMENTATION_URL}" \
        --label org.opencontainers.image.licenses="${LICENSE}" \
        --label org.opencontainers.image.licenses="${LICENSE}" \
-       --label org.opencontainers.image.otp.version="${EMQX_BUILDER_OTP}" \
+       --label org.opencontainers.image.otp.version="${OTP_VSN}" \
        --pull
        --pull
     )
     )
     :> ./.emqx_docker_image_tags
     :> ./.emqx_docker_image_tags
@@ -477,7 +477,7 @@ make_docker() {
         DOCKER_BUILDX_ARGS+=(--no-cache)
         DOCKER_BUILDX_ARGS+=(--no-cache)
     fi
     fi
     if [ "${SUFFIX}" = '-elixir' ]; then
     if [ "${SUFFIX}" = '-elixir' ]; then
-        DOCKER_BUILDX_ARGS+=(--label org.opencontainers.image.elixir.version="${EMQX_BUILDER_ELIXIR}")
+        DOCKER_BUILDX_ARGS+=(--label org.opencontainers.image.elixir.version="${ELIXIR_VSN}")
     fi
     fi
     if [ "${DOCKER_LATEST:-false}" = true ]; then
     if [ "${DOCKER_LATEST:-false}" = true ]; then
         for r in "${DOCKER_REGISTRIES[@]}"; do
         for r in "${DOCKER_REGISTRIES[@]}"; do

+ 3 - 3
scripts/pr-sanity-checks.sh

@@ -13,10 +13,10 @@ if ! type "yq" > /dev/null; then
 fi
 fi
 
 
 EMQX_BUILDER_VERSION=${EMQX_BUILDER_VERSION:-5.3-7}
 EMQX_BUILDER_VERSION=${EMQX_BUILDER_VERSION:-5.3-7}
-EMQX_BUILDER_OTP=${EMQX_BUILDER_OTP:-26.2.5-1}
-EMQX_BUILDER_ELIXIR=${EMQX_BUILDER_ELIXIR:-1.15.7}
+OTP_VSN=${OTP_VSN:-26.2.5-1}
+ELIXIR_VSN=${ELIXIR_VSN:-1.15.7}
 EMQX_BUILDER_PLATFORM=${EMQX_BUILDER_PLATFORM:-ubuntu22.04}
 EMQX_BUILDER_PLATFORM=${EMQX_BUILDER_PLATFORM:-ubuntu22.04}
-EMQX_BUILDER=${EMQX_BUILDER:-ghcr.io/emqx/emqx-builder/${EMQX_BUILDER_VERSION}:${EMQX_BUILDER_ELIXIR}-${EMQX_BUILDER_OTP}-${EMQX_BUILDER_PLATFORM}}
+EMQX_BUILDER=${EMQX_BUILDER:-ghcr.io/emqx/emqx-builder/${EMQX_BUILDER_VERSION}:${ELIXIR_VSN}-${OTP_VSN}-${EMQX_BUILDER_PLATFORM}}
 
 
 commands=$(yq ".jobs.sanity-checks.steps[].run" .github/workflows/_pr_entrypoint.yaml | grep -v null)
 commands=$(yq ".jobs.sanity-checks.steps[].run" .github/workflows/_pr_entrypoint.yaml | grep -v null)