diff --git a/.ci/docker-compose-file/docker-compose-kafka.yaml b/.ci/docker-compose-file/docker-compose-kafka.yaml index 352494592..d7ab6fe6f 100644 --- a/.ci/docker-compose-file/docker-compose-kafka.yaml +++ b/.ci/docker-compose-file/docker-compose-kafka.yaml @@ -18,7 +18,7 @@ services: - /tmp/emqx-ci/emqx-shared-secret:/var/lib/secret kdc: hostname: kdc.emqx.net - image: ghcr.io/emqx/emqx-builder/5.2-3:1.14.5-25.3.2-2-ubuntu22.04 + image: ghcr.io/emqx/emqx-builder/5.2-8:1.15.7-26.1.2-2-ubuntu22.04 container_name: kdc.emqx.net expose: - 88 # kdc diff --git a/.ci/docker-compose-file/docker-compose.yaml b/.ci/docker-compose-file/docker-compose.yaml index f3943b010..af2eced2c 100644 --- a/.ci/docker-compose-file/docker-compose.yaml +++ b/.ci/docker-compose-file/docker-compose.yaml @@ -3,7 +3,7 @@ version: '3.9' services: erlang: container_name: erlang - image: ${DOCKER_CT_RUNNER_IMAGE:-ghcr.io/emqx/emqx-builder/5.2-3:1.14.5-25.3.2-2-ubuntu22.04} + image: ${DOCKER_CT_RUNNER_IMAGE:-ghcr.io/emqx/emqx-builder/5.2-8:1.15.7-26.1.2-2-ubuntu22.04} env_file: - credentials.env - conf.env diff --git a/.github/actions/package-macos/action.yaml b/.github/actions/package-macos/action.yaml index 25edcb5f5..a2d89ac54 100644 --- a/.github/actions/package-macos/action.yaml +++ b/.github/actions/package-macos/action.yaml @@ -3,7 +3,7 @@ inputs: profile: # emqx, emqx-enterprise required: true type: string - otp: # 25.3.2-2 + otp: required: true type: string os: diff --git a/.github/workflows/_pr_entrypoint.yaml b/.github/workflows/_pr_entrypoint.yaml index 4a98f0808..6bfd66224 100644 --- a/.github/workflows/_pr_entrypoint.yaml +++ b/.github/workflows/_pr_entrypoint.yaml @@ -17,17 +17,17 @@ env: jobs: sanity-checks: runs-on: ubuntu-22.04 - container: "ghcr.io/emqx/emqx-builder/5.2-3:1.14.5-25.3.2-2-ubuntu22.04" + container: "ghcr.io/emqx/emqx-builder/5.2-8:1.15.7-26.1.2-2-ubuntu22.04" outputs: ct-matrix: ${{ steps.matrix.outputs.ct-matrix }} ct-host: ${{ steps.matrix.outputs.ct-host }} ct-docker: ${{ steps.matrix.outputs.ct-docker }} version-emqx: ${{ steps.matrix.outputs.version-emqx }} version-emqx-enterprise: ${{ steps.matrix.outputs.version-emqx-enterprise }} - builder: "ghcr.io/emqx/emqx-builder/5.2-3:1.14.5-25.3.2-2-ubuntu22.04" - builder_vsn: "5.2-3" - otp_vsn: "25.3.2-2" - elixir_vsn: "1.14.5" + builder: "ghcr.io/emqx/emqx-builder/5.2-8:1.15.7-26.1.2-2-ubuntu22.04" + builder_vsn: "5.2-8" + otp_vsn: "26.1.2-2" + elixir_vsn: "1.15.7" steps: - uses: actions/checkout@v3 @@ -92,14 +92,14 @@ jobs: MATRIX="$(echo "${APPS}" | jq -c ' [ (.[] | select(.profile == "emqx") | . + { - builder: "5.2-3", - otp: "25.3.2-2", - elixir: "1.14.5" + builder: "5.2-8", + otp: "26.1.2-2", + elixir: "1.15.7" }), (.[] | select(.profile == "emqx-enterprise") | . + { - builder: "5.2-3", - otp: ["25.3.2-2"][], - elixir: "1.14.5" + builder: "5.2-8", + otp: ["26.1.2-2"][], + elixir: "1.15.7" }) ] ')" diff --git a/.github/workflows/_push-entrypoint.yaml b/.github/workflows/_push-entrypoint.yaml index e2eff6dc7..92fe01847 100644 --- a/.github/workflows/_push-entrypoint.yaml +++ b/.github/workflows/_push-entrypoint.yaml @@ -20,7 +20,7 @@ env: jobs: prepare: runs-on: ubuntu-22.04 - container: 'ghcr.io/emqx/emqx-builder/5.2-3:1.14.5-25.3.2-2-ubuntu22.04' + container: 'ghcr.io/emqx/emqx-builder/5.2-8:1.15.7-26.1.2-2-ubuntu22.04' outputs: profile: ${{ steps.parse-git-ref.outputs.profile }} release: ${{ steps.parse-git-ref.outputs.release }} @@ -29,10 +29,10 @@ jobs: ct-matrix: ${{ steps.matrix.outputs.ct-matrix }} ct-host: ${{ steps.matrix.outputs.ct-host }} ct-docker: ${{ steps.matrix.outputs.ct-docker }} - builder: 'ghcr.io/emqx/emqx-builder/5.2-3:1.14.5-25.3.2-2-ubuntu22.04' - builder_vsn: '5.2-3' - otp_vsn: '25.3.2-2' - elixir_vsn: '1.14.5' + builder: 'ghcr.io/emqx/emqx-builder/5.2-8:1.15.7-26.1.2-2-ubuntu22.04' + builder_vsn: '5.2-8' + otp_vsn: '26.1.2-2' + elixir_vsn: '1.15.7' steps: - uses: actions/checkout@v3 @@ -62,14 +62,14 @@ jobs: MATRIX="$(echo "${APPS}" | jq -c ' [ (.[] | select(.profile == "emqx") | . + { - builder: "5.2-3", - otp: "25.3.2-2", - elixir: "1.14.5" + builder: "5.2-8", + otp: "26.1.2-2", + elixir: "1.15.7" }), (.[] | select(.profile == "emqx-enterprise") | . + { - builder: "5.2-3", - otp: ["25.3.2-2"][], - elixir: "1.14.5" + builder: "5.2-8", + otp: ["26.1.2-2"][], + elixir: "1.15.7" }) ] ')" diff --git a/.github/workflows/build_and_push_docker_images.yaml b/.github/workflows/build_and_push_docker_images.yaml index ba24be6c2..4d5357761 100644 --- a/.github/workflows/build_and_push_docker_images.yaml +++ b/.github/workflows/build_and_push_docker_images.yaml @@ -58,15 +58,15 @@ on: otp_vsn: required: false type: string - default: '25.3.2-2' + default: '26.1.2-2' elixir_vsn: required: false type: string - default: '1.14.5' + default: '1.15.7' builder_vsn: required: false type: string - default: '5.2-3' + default: '5.2-8' permissions: contents: read diff --git a/.github/workflows/build_packages.yaml b/.github/workflows/build_packages.yaml index 6d642ebef..4c1365f58 100644 --- a/.github/workflows/build_packages.yaml +++ b/.github/workflows/build_packages.yaml @@ -54,15 +54,15 @@ on: otp_vsn: required: false type: string - default: '25.3.2-2' + default: '26.1.2-2' elixir_vsn: required: false type: string - default: '1.14.5' + default: '1.15.7' builder_vsn: required: false type: string - default: '5.2-3' + default: '5.2-8' jobs: mac: diff --git a/.github/workflows/build_packages_cron.yaml b/.github/workflows/build_packages_cron.yaml index d29f2d64a..d1c3408e7 100644 --- a/.github/workflows/build_packages_cron.yaml +++ b/.github/workflows/build_packages_cron.yaml @@ -14,7 +14,7 @@ jobs: if: github.repository_owner == 'emqx' runs-on: ${{ endsWith(github.repository, '/emqx') && 'ubuntu-22.04' || fromJSON('["self-hosted","ephemeral","linux","x64"]') }} container: - image: "ghcr.io/emqx/emqx-builder/${{ matrix.builder }}:${{ matrix.elixir }}-${{ matrix.otp }}-${{ matrix.os }}" + image: "ghcr.io/emqx/emqx-builder/${{ matrix.builder }}-${{ matrix.os }}" strategy: fail-fast: false @@ -22,8 +22,6 @@ jobs: profile: - ['emqx', 'master'] - ['emqx-enterprise', 'release-54'] - otp: - - 25.3.2-2 arch: - x64 os: @@ -31,9 +29,7 @@ jobs: - ubuntu22.04 - amzn2023 builder: - - 5.2-3 - elixir: - - 1.14.5 + - 5.2-8:1.15.7-26.1.2-2 defaults: run: @@ -98,7 +94,7 @@ jobs: branch: - master otp: - - 25.3.2-2 + - 26.1.2-2 os: - macos-12-arm64 diff --git a/.github/workflows/build_slim_packages.yaml b/.github/workflows/build_slim_packages.yaml index 2552655aa..a2b6131f4 100644 --- a/.github/workflows/build_slim_packages.yaml +++ b/.github/workflows/build_slim_packages.yaml @@ -27,19 +27,19 @@ on: builder: required: false type: string - default: 'ghcr.io/emqx/emqx-builder/5.2-3:1.14.5-25.3.2-2-ubuntu22.04' + default: 'ghcr.io/emqx/emqx-builder/5.2-8:1.15.7-26.1.2-2-ubuntu22.04' builder_vsn: required: false type: string - default: '5.2-3' + default: '5.2-8' otp_vsn: required: false type: string - default: '25.3.2-2' + default: '26.1.2-2' elixir_vsn: required: false type: string - default: '1.14.5' + default: '1.15.7' jobs: linux: @@ -51,8 +51,8 @@ jobs: fail-fast: false matrix: profile: - - ["emqx", "25.3.2-2", "ubuntu20.04", "elixir"] - - ["emqx-enterprise", "25.3.2-2", "ubuntu20.04", "erlang"] + - ["emqx", "26.1.2-2", "ubuntu20.04", "elixir"] + - ["emqx-enterprise", "26.1.2-2", "ubuntu20.04", "erlang"] container: "ghcr.io/emqx/emqx-builder/${{ inputs.builder_vsn }}:${{ inputs.elixir_vsn }}-${{ matrix.profile[1] }}-${{ matrix.profile[2] }}" diff --git a/.github/workflows/codeql.yaml b/.github/workflows/codeql.yaml index 3aad025db..5e0faa51d 100644 --- a/.github/workflows/codeql.yaml +++ b/.github/workflows/codeql.yaml @@ -20,7 +20,7 @@ jobs: actions: read security-events: write container: - image: ghcr.io/emqx/emqx-builder/5.2-3:1.14.5-25.3.2-2-ubuntu22.04 + image: ghcr.io/emqx/emqx-builder/5.2-8:1.15.7-26.1.2-2-ubuntu22.04 strategy: fail-fast: false diff --git a/.github/workflows/performance_test.yaml b/.github/workflows/performance_test.yaml index 1b6101f06..a8cfae5d8 100644 --- a/.github/workflows/performance_test.yaml +++ b/.github/workflows/performance_test.yaml @@ -26,7 +26,7 @@ jobs: prepare: runs-on: ubuntu-latest if: github.repository_owner == 'emqx' - container: ghcr.io/emqx/emqx-builder/5.2-3:1.14.5-25.3.2-2-ubuntu20.04 + container: ghcr.io/emqx/emqx-builder/5.2-8:1.15.7-26.1.2-2-ubuntu20.04 outputs: BENCH_ID: ${{ steps.prepare.outputs.BENCH_ID }} PACKAGE_FILE: ${{ steps.package_file.outputs.PACKAGE_FILE }} diff --git a/.github/workflows/run_relup_tests.yaml b/.github/workflows/run_relup_tests.yaml index 381e95753..d707a4f08 100644 --- a/.github/workflows/run_relup_tests.yaml +++ b/.github/workflows/run_relup_tests.yaml @@ -74,7 +74,7 @@ jobs: steps: - uses: erlef/setup-beam@v1.16.0 with: - otp-version: 25.3.2 + otp-version: 26.1.2 - uses: actions/checkout@v3 with: repository: hawk/lux diff --git a/.tool-versions b/.tool-versions index 824207a4a..dec9fa563 100644 --- a/.tool-versions +++ b/.tool-versions @@ -1,2 +1,2 @@ -erlang 26.1.2-1 +erlang 26.1.2-2 elixir 1.15.7-otp-26 diff --git a/Makefile b/Makefile index ab740a40e..db3d21b6f 100644 --- a/Makefile +++ b/Makefile @@ -7,7 +7,7 @@ REBAR = $(CURDIR)/rebar3 BUILD = $(CURDIR)/build SCRIPTS = $(CURDIR)/scripts export EMQX_RELUP ?= true -export EMQX_DEFAULT_BUILDER = ghcr.io/emqx/emqx-builder/5.1-4:1.14.5-25.3.2-2-debian11 +export EMQX_DEFAULT_BUILDER = ghcr.io/emqx/emqx-builder/5.2-8:1.15.7-26.1.2-2-debian11 export EMQX_DEFAULT_RUNNER = public.ecr.aws/debian/debian:11-slim export EMQX_REL_FORM ?= tgz export QUICER_DOWNLOAD_FROM_RELEASE = 1 diff --git a/README-RU.md b/README-RU.md index c22df7f3f..6cb7fda6a 100644 --- a/README-RU.md +++ b/README-RU.md @@ -83,7 +83,9 @@ docker run -d --name emqx -p 1883:1883 -p 8083:8083 -p 8883:8883 -p 8084:8084 -p Ветка `master` предназначена для последней версии 5, переключитесь на ветку `main-v4.4` для версии 4.4. -EMQX требует OTP 24 для версии 4.4. Версию 5.0 можно собирать с OTP 24 или 25. +EMQX требует OTP 24 для версии 4.4. +Версии 5.0 ~ 5.3 могут быть собраны с OTP 24 или 25. +Версия 5.4 и новее могут быть собраны с OTP 25 или 26. ```bash git clone https://github.com/emqx/emqx.git diff --git a/README.md b/README.md index 3624e90f8..3fda5999c 100644 --- a/README.md +++ b/README.md @@ -95,7 +95,9 @@ For more organised improvement proposals, you can send pull requests to [EIP](ht The `master` branch tracks the latest version 5. For version 4.4 checkout the `main-v4.4` branch. -EMQX 4.4 requires OTP 24. EMQX 5.0 and 5.1 can be built with OTP 24 or 25. +EMQX 4.4 requires OTP 24. +EMQX 5.0 ~ 5.3 can be built with OTP 24 or 25. +EMQX 5.4 and newer can be built with OTP 24 or 25. ```bash git clone https://github.com/emqx/emqx.git diff --git a/build b/build index c70f91b60..bbc053f01 100755 --- a/build +++ b/build @@ -387,10 +387,10 @@ docker_cleanup() { ## Build the default docker image based on debian 11. make_docker() { - local EMQX_BUILDER_VERSION="${EMQX_BUILDER_VERSION:-5.1-4}" + local EMQX_BUILDER_VERSION="${EMQX_BUILDER_VERSION:-5.2-8}" local EMQX_BUILDER_PLATFORM="${EMQX_BUILDER_PLATFORM:-debian11}" - local EMQX_BUILDER_OTP="${EMQX_BUILDER_OTP:-25.3.2-2}" - local EMQX_BUILDER_ELIXIR="${EMQX_BUILDER_ELIXIR:-1.14.5}" + local EMQX_BUILDER_OTP="${EMQX_BUILDER_OTP:-26.1.2-2}" + 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 EMQX_RUNNER="${EMQX_RUNNER:-${EMQX_DEFAULT_RUNNER}}" local EMQX_DOCKERFILE="${EMQX_DOCKERFILE:-deploy/docker/Dockerfile}" diff --git a/deploy/docker/Dockerfile b/deploy/docker/Dockerfile index b2dfbb1f6..185b3d0ee 100644 --- a/deploy/docker/Dockerfile +++ b/deploy/docker/Dockerfile @@ -1,4 +1,4 @@ -ARG BUILD_FROM=ghcr.io/emqx/emqx-builder/5.1-4:1.14.5-25.3.2-2-debian11 +ARG BUILD_FROM=ghcr.io/emqx/emqx-builder/5.2-8:1.15.7-26.1.2-2-debian11 ARG RUN_FROM=public.ecr.aws/debian/debian:11-slim FROM ${BUILD_FROM} AS builder ARG DEBUG=0 diff --git a/scripts/buildx.sh b/scripts/buildx.sh index 662a7233c..39d8b8e5e 100755 --- a/scripts/buildx.sh +++ b/scripts/buildx.sh @@ -9,7 +9,7 @@ ## example: ## ./scripts/buildx.sh --profile emqx --pkgtype tgz --arch arm64 \ -## --builder ghcr.io/emqx/emqx-builder/5.1-4:1.14.5-25.3.2-2-debian11 +## --builder ghcr.io/emqx/emqx-builder/5.2-8:1.15.7-26.1.2-2-debian11 set -euo pipefail @@ -24,7 +24,7 @@ help() { echo "--arch amd64|arm64: Target arch to build the EMQX package for" echo "--src_dir : EMQX source code in this dir, default to PWD" echo "--builder : Builder image to pull" - echo " E.g. ghcr.io/emqx/emqx-builder/5.1-4:1.14.5-25.3.2-2-debian11" + echo " E.g. ghcr.io/emqx/emqx-builder/5.2-8:1.15.7-26.1.2-2-debian11" } die() { diff --git a/scripts/pr-sanity-checks.sh b/scripts/pr-sanity-checks.sh index 19321230b..f22677cfa 100755 --- a/scripts/pr-sanity-checks.sh +++ b/scripts/pr-sanity-checks.sh @@ -12,9 +12,9 @@ if ! type "yq" > /dev/null; then exit 1 fi -EMQX_BUILDER_VERSION=${EMQX_BUILDER_VERSION:-5.1-4} -EMQX_BUILDER_OTP=${EMQX_BUILDER_OTP:-25.3.2-2} -EMQX_BUILDER_ELIXIR=${EMQX_BUILDER_ELIXIR:-1.14.5} +EMQX_BUILDER_VERSION=${EMQX_BUILDER_VERSION:-5.2-8} +EMQX_BUILDER_OTP=${EMQX_BUILDER_OTP:-26.1.2-2} +EMQX_BUILDER_ELIXIR=${EMQX_BUILDER_ELIXIR:-1.15.7} 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}} diff --git a/scripts/relup-test/start-relup-test-cluster.sh b/scripts/relup-test/start-relup-test-cluster.sh index 2cee1394e..afd296152 100755 --- a/scripts/relup-test/start-relup-test-cluster.sh +++ b/scripts/relup-test/start-relup-test-cluster.sh @@ -22,7 +22,7 @@ WEBHOOK="webhook.$NET" BENCH="bench.$NET" COOKIE='this-is-a-secret' ## Erlang image is needed to run webhook server and emqtt-bench -ERLANG_IMAGE="ghcr.io/emqx/emqx-builder/5.1-4:1.14.5-25.3.2-2-ubuntu20.04" +ERLANG_IMAGE="ghcr.io/emqx/emqx-builder/5.2-8:1.15.7-26.1.2-2-ubuntu22.04" # builder has emqtt-bench installed BENCH_IMAGE="$ERLANG_IMAGE"