Merge pull request #13191 from zmstone/0605-otp26-for-docker-images
ci: OTP 26 (26.2.5-1) for docker images
This commit is contained in:
commit
257435799d
|
@ -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.3-5:1.15.7-26.2.1-2-ubuntu22.04
|
||||
image: ghcr.io/emqx/emqx-builder/5.3-7:1.15.7-26.2.5-1-ubuntu22.04
|
||||
container_name: kdc.emqx.net
|
||||
expose:
|
||||
- 88 # kdc
|
||||
|
|
|
@ -3,7 +3,7 @@ version: '3.9'
|
|||
services:
|
||||
erlang:
|
||||
container_name: erlang
|
||||
image: ${DOCKER_CT_RUNNER_IMAGE:-ghcr.io/emqx/emqx-builder/5.3-5:1.15.7-26.2.1-2-ubuntu22.04}
|
||||
image: ${DOCKER_CT_RUNNER_IMAGE:-ghcr.io/emqx/emqx-builder/5.3-7:1.15.7-26.2.5-1-ubuntu22.04}
|
||||
env_file:
|
||||
- credentials.env
|
||||
- conf.env
|
||||
|
|
|
@ -17,16 +17,16 @@ env:
|
|||
jobs:
|
||||
sanity-checks:
|
||||
runs-on: ubuntu-22.04
|
||||
container: "ghcr.io/emqx/emqx-builder/5.3-5:1.15.7-26.2.1-2-ubuntu22.04"
|
||||
container: "ghcr.io/emqx/emqx-builder/5.3-7:1.15.7-26.2.5-1-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.3-5:1.15.7-26.2.1-2-ubuntu22.04"
|
||||
builder_vsn: "5.3-5"
|
||||
otp_vsn: "26.2.1-2"
|
||||
builder: "ghcr.io/emqx/emqx-builder/5.3-7:1.15.7-26.2.5-1-ubuntu22.04"
|
||||
builder_vsn: "5.3-7"
|
||||
otp_vsn: "26.2.5-1"
|
||||
elixir_vsn: "1.15.7"
|
||||
|
||||
permissions:
|
||||
|
@ -96,13 +96,13 @@ jobs:
|
|||
MATRIX="$(echo "${APPS}" | jq -c '
|
||||
[
|
||||
(.[] | select(.profile == "emqx") | . + {
|
||||
builder: "5.3-5",
|
||||
otp: "26.2.1-2",
|
||||
builder: "5.3-7",
|
||||
otp: "26.2.5-1",
|
||||
elixir: "1.15.7"
|
||||
}),
|
||||
(.[] | select(.profile == "emqx-enterprise") | . + {
|
||||
builder: "5.3-5",
|
||||
otp: ["26.2.1-2"][],
|
||||
builder: "5.3-7",
|
||||
otp: ["26.2.5-1"][],
|
||||
elixir: "1.15.7"
|
||||
})
|
||||
]
|
||||
|
|
|
@ -24,7 +24,7 @@ env:
|
|||
jobs:
|
||||
prepare:
|
||||
runs-on: ubuntu-22.04
|
||||
container: 'ghcr.io/emqx/emqx-builder/5.3-5:1.15.7-26.2.1-2-ubuntu22.04'
|
||||
container: 'ghcr.io/emqx/emqx-builder/5.3-7:1.15.7-26.2.5-1-ubuntu22.04'
|
||||
outputs:
|
||||
profile: ${{ steps.parse-git-ref.outputs.profile }}
|
||||
release: ${{ steps.parse-git-ref.outputs.release }}
|
||||
|
@ -32,9 +32,9 @@ 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.3-5:1.15.7-26.2.1-2-ubuntu22.04'
|
||||
builder_vsn: '5.3-5'
|
||||
otp_vsn: '26.2.1-2'
|
||||
builder: 'ghcr.io/emqx/emqx-builder/5.3-7:1.15.7-26.2.5-1-ubuntu22.04'
|
||||
builder_vsn: '5.3-7'
|
||||
otp_vsn: '26.2.5-1'
|
||||
elixir_vsn: '1.15.7'
|
||||
|
||||
permissions:
|
||||
|
@ -66,13 +66,13 @@ jobs:
|
|||
MATRIX="$(echo "${APPS}" | jq -c '
|
||||
[
|
||||
(.[] | select(.profile == "emqx") | . + {
|
||||
builder: "5.3-5",
|
||||
otp: "26.2.1-2",
|
||||
builder: "5.3-7",
|
||||
otp: "26.2.5-1",
|
||||
elixir: "1.15.7"
|
||||
}),
|
||||
(.[] | select(.profile == "emqx-enterprise") | . + {
|
||||
builder: "5.3-5",
|
||||
otp: ["26.2.1-2"][],
|
||||
builder: "5.3-7",
|
||||
otp: ["26.2.5-1"][],
|
||||
elixir: "1.15.7"
|
||||
})
|
||||
]
|
||||
|
@ -107,8 +107,7 @@ jobs:
|
|||
profile: ${{ needs.prepare.outputs.profile }}
|
||||
publish: true
|
||||
latest: ${{ needs.prepare.outputs.latest }}
|
||||
# TODO: revert this back to needs.prepare.outputs.otp_vsn when OTP 26 bug is fixed
|
||||
otp_vsn: 25.3.2-2
|
||||
otp_vsn: ${{ needs.prepare.outputs.otp_vsn }}
|
||||
elixir_vsn: ${{ needs.prepare.outputs.elixir_vsn }}
|
||||
builder_vsn: ${{ needs.prepare.outputs.builder_vsn }}
|
||||
secrets: inherit
|
||||
|
|
|
@ -53,7 +53,7 @@ on:
|
|||
otp_vsn:
|
||||
required: false
|
||||
type: string
|
||||
default: '25.3.2-2'
|
||||
default: '26.2.5-1'
|
||||
elixir_vsn:
|
||||
required: false
|
||||
type: string
|
||||
|
@ -61,7 +61,7 @@ on:
|
|||
builder_vsn:
|
||||
required: false
|
||||
type: string
|
||||
default: '5.3-5'
|
||||
default: '5.3-7'
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
@ -169,8 +169,8 @@ jobs:
|
|||
EMQX_DOCKERFILE: 'deploy/docker/Dockerfile'
|
||||
PKG_VSN: ${{ needs.build.outputs.PKG_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
|
||||
run: |
|
||||
./build ${PROFILE} docker
|
||||
|
@ -218,8 +218,8 @@ jobs:
|
|||
EMQX_DOCKERFILE: 'deploy/docker/Dockerfile'
|
||||
PKG_VSN: ${{ needs.build.outputs.PKG_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
|
||||
run: |
|
||||
./build ${PROFILE} docker
|
||||
|
|
|
@ -55,7 +55,7 @@ on:
|
|||
otp_vsn:
|
||||
required: false
|
||||
type: string
|
||||
default: '26.2.1-2'
|
||||
default: '26.2.5-1'
|
||||
elixir_vsn:
|
||||
required: false
|
||||
type: string
|
||||
|
@ -63,7 +63,7 @@ on:
|
|||
builder_vsn:
|
||||
required: false
|
||||
type: string
|
||||
default: '5.3-5'
|
||||
default: '5.3-7'
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
|
|
@ -23,8 +23,8 @@ jobs:
|
|||
fail-fast: false
|
||||
matrix:
|
||||
profile:
|
||||
- ['emqx', 'master', '5.3-5:1.15.7-26.2.1-2']
|
||||
- ['emqx', 'release-57', '5.3-5:1.15.7-26.2.1-2']
|
||||
- ['emqx', 'master', '5.3-7:1.15.7-26.2.5-1']
|
||||
- ['emqx', 'release-57', '5.3-7:1.15.7-26.2.5-1']
|
||||
os:
|
||||
- ubuntu22.04
|
||||
- amzn2023
|
||||
|
@ -92,7 +92,7 @@ jobs:
|
|||
branch:
|
||||
- master
|
||||
otp:
|
||||
- 26.2.1-2
|
||||
- 26.2.5-1
|
||||
os:
|
||||
- macos-12-arm64
|
||||
|
||||
|
|
|
@ -27,15 +27,15 @@ on:
|
|||
builder:
|
||||
required: false
|
||||
type: string
|
||||
default: 'ghcr.io/emqx/emqx-builder/5.3-5:1.15.7-26.2.1-2-ubuntu22.04'
|
||||
default: 'ghcr.io/emqx/emqx-builder/5.3-7:1.15.7-26.2.5-1-ubuntu22.04'
|
||||
builder_vsn:
|
||||
required: false
|
||||
type: string
|
||||
default: '5.3-5'
|
||||
default: '5.3-7'
|
||||
otp_vsn:
|
||||
required: false
|
||||
type: string
|
||||
default: '26.2.1-2'
|
||||
default: '26.2.5-1'
|
||||
elixir_vsn:
|
||||
required: false
|
||||
type: string
|
||||
|
@ -54,9 +54,9 @@ jobs:
|
|||
fail-fast: false
|
||||
matrix:
|
||||
profile:
|
||||
- ["emqx", "26.2.1-2", "ubuntu22.04", "elixir", "x64"]
|
||||
- ["emqx", "26.2.1-2", "ubuntu22.04", "elixir", "arm64"]
|
||||
- ["emqx-enterprise", "26.2.1-2", "ubuntu22.04", "erlang", "x64"]
|
||||
- ["emqx", "26.2.5-1", "ubuntu22.04", "elixir", "x64"]
|
||||
- ["emqx", "26.2.5-1", "ubuntu22.04", "elixir", "arm64"]
|
||||
- ["emqx-enterprise", "26.2.5-1", "ubuntu22.04", "erlang", "x64"]
|
||||
|
||||
container: "ghcr.io/emqx/emqx-builder/${{ inputs.builder_vsn }}:${{ inputs.elixir_vsn }}-${{ matrix.profile[1] }}-${{ matrix.profile[2] }}"
|
||||
|
||||
|
|
|
@ -18,7 +18,7 @@ jobs:
|
|||
actions: read
|
||||
security-events: write
|
||||
container:
|
||||
image: ghcr.io/emqx/emqx-builder/5.3-5:1.15.7-26.2.1-2-ubuntu22.04
|
||||
image: ghcr.io/emqx/emqx-builder/5.3-7:1.15.7-26.2.5-1-ubuntu22.04
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
|
|
|
@ -26,7 +26,7 @@ jobs:
|
|||
prepare:
|
||||
runs-on: ubuntu-latest
|
||||
if: github.repository_owner == 'emqx'
|
||||
container: ghcr.io/emqx/emqx-builder/5.3-5:1.15.7-26.2.1-2-ubuntu20.04
|
||||
container: ghcr.io/emqx/emqx-builder/5.3-7:1.15.7-26.2.5-1-ubuntu20.04
|
||||
outputs:
|
||||
BENCH_ID: ${{ steps.prepare.outputs.BENCH_ID }}
|
||||
PACKAGE_FILE: ${{ steps.package_file.outputs.PACKAGE_FILE }}
|
||||
|
|
|
@ -74,7 +74,7 @@ jobs:
|
|||
steps:
|
||||
- uses: erlef/setup-beam@2f0cc07b4b9bea248ae098aba9e1a8a1de5ec24c # v1.17.5
|
||||
with:
|
||||
otp-version: 26.2.1
|
||||
otp-version: 26.2.5
|
||||
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
|
||||
with:
|
||||
repository: hawk/lux
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
erlang 26.2.1-2
|
||||
erlang 26.2.5-1
|
||||
elixir 1.15.7-otp-26
|
||||
|
|
2
Makefile
2
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.3-5:1.15.7-26.2.1-2-debian12
|
||||
export EMQX_DEFAULT_BUILDER = ghcr.io/emqx/emqx-builder/5.3-7:1.15.7-26.2.5-1-debian12
|
||||
export EMQX_DEFAULT_RUNNER = public.ecr.aws/debian/debian:12-slim
|
||||
export EMQX_REL_FORM ?= tgz
|
||||
export QUICER_DOWNLOAD_FROM_RELEASE = 1
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{application, emqx_bridge_sqlserver, [
|
||||
{description, "EMQX Enterprise SQL Server Bridge"},
|
||||
{vsn, "0.2.0"},
|
||||
{vsn, "0.2.1"},
|
||||
{registered, []},
|
||||
{applications, [kernel, stdlib, emqx_resource, odbc]},
|
||||
{env, [
|
||||
|
|
|
@ -78,7 +78,7 @@
|
|||
%% https://www.erlang.org/doc/man/odbc.html
|
||||
|
||||
%% as returned by connect/2
|
||||
-type connection_reference() :: pid().
|
||||
-type connection_reference() :: odbc:connection_reference().
|
||||
-type time_out() :: milliseconds() | infinity.
|
||||
-type sql() :: string() | binary().
|
||||
-type milliseconds() :: pos_integer().
|
||||
|
@ -478,7 +478,7 @@ worker_do_insert(
|
|||
{error, {unrecoverable_error, {invalid_request, Reason}}}
|
||||
end.
|
||||
|
||||
-spec execute(pid(), sql()) ->
|
||||
-spec execute(connection_reference(), sql()) ->
|
||||
updated_tuple()
|
||||
| selected_tuple()
|
||||
| [updated_tuple()]
|
||||
|
@ -487,7 +487,7 @@ worker_do_insert(
|
|||
execute(Conn, SQL) ->
|
||||
odbc:sql_query(Conn, str(SQL)).
|
||||
|
||||
-spec execute(pid(), sql(), time_out()) ->
|
||||
-spec execute(connection_reference(), sql(), time_out()) ->
|
||||
updated_tuple()
|
||||
| selected_tuple()
|
||||
| [updated_tuple()]
|
||||
|
|
2
bin/emqx
2
bin/emqx
|
@ -1199,7 +1199,7 @@ case "${COMMAND}" in
|
|||
esac
|
||||
case "$COMMAND" in
|
||||
foreground)
|
||||
FOREGROUNDOPTIONS="-enable-feature maybe_expr -noshell -noinput +Bd"
|
||||
FOREGROUNDOPTIONS="-enable-feature maybe_expr -noinput -noshell +Bd"
|
||||
;;
|
||||
*)
|
||||
FOREGROUNDOPTIONS='-enable-feature maybe_expr'
|
||||
|
|
12
build
12
build
|
@ -397,11 +397,11 @@ function is_ecr_and_enterprise() {
|
|||
|
||||
## Build the default docker image based on debian 12.
|
||||
make_docker() {
|
||||
local EMQX_BUILDER_VERSION="${EMQX_BUILDER_VERSION:-5.3-5}"
|
||||
local EMQX_BUILDER_VERSION="${EMQX_BUILDER_VERSION:-5.3-7}"
|
||||
local EMQX_BUILDER_PLATFORM="${EMQX_BUILDER_PLATFORM:-debian12}"
|
||||
local EMQX_BUILDER_OTP="${EMQX_BUILDER_OTP:-25.3.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 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_DOCKERFILE="${EMQX_DOCKERFILE:-deploy/docker/Dockerfile}"
|
||||
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.documentation="${DOCUMENTATION_URL}" \
|
||||
--label org.opencontainers.image.licenses="${LICENSE}" \
|
||||
--label org.opencontainers.image.otp.version="${EMQX_BUILDER_OTP}" \
|
||||
--label org.opencontainers.image.otp.version="${OTP_VSN}" \
|
||||
--pull
|
||||
)
|
||||
:> ./.emqx_docker_image_tags
|
||||
|
@ -477,7 +477,7 @@ make_docker() {
|
|||
DOCKER_BUILDX_ARGS+=(--no-cache)
|
||||
fi
|
||||
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
|
||||
if [ "${DOCKER_LATEST:-false}" = true ]; then
|
||||
for r in "${DOCKER_REGISTRIES[@]}"; do
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
ARG BUILD_FROM=ghcr.io/emqx/emqx-builder/5.3-5:1.15.7-26.2.1-2-debian12
|
||||
ARG BUILD_FROM=ghcr.io/emqx/emqx-builder/5.3-7:1.15.7-26.2.5-1-debian12
|
||||
ARG RUN_FROM=public.ecr.aws/debian/debian:12-slim
|
||||
ARG SOURCE_TYPE=src # tgz
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
|
||||
## example:
|
||||
## ./scripts/buildx.sh --profile emqx --pkgtype tgz --arch arm64 \
|
||||
## --builder ghcr.io/emqx/emqx-builder/5.3-5:1.15.7-26.2.1-2-debian12
|
||||
## --builder ghcr.io/emqx/emqx-builder/5.3-7:1.15.7-26.2.5-1-debian12
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
|
@ -24,7 +24,7 @@ help() {
|
|||
echo "--arch amd64|arm64: Target arch to build the EMQX package for"
|
||||
echo "--src_dir <SRC_DIR>: EMQX source code in this dir, default to PWD"
|
||||
echo "--builder <BUILDER>: Builder image to pull"
|
||||
echo " E.g. ghcr.io/emqx/emqx-builder/5.3-5:1.15.7-26.2.1-2-debian12"
|
||||
echo " E.g. ghcr.io/emqx/emqx-builder/5.3-7:1.15.7-26.2.5-1-debian12"
|
||||
}
|
||||
|
||||
die() {
|
||||
|
|
|
@ -12,11 +12,11 @@ if ! type "yq" > /dev/null; then
|
|||
exit 1
|
||||
fi
|
||||
|
||||
EMQX_BUILDER_VERSION=${EMQX_BUILDER_VERSION:-5.3-5}
|
||||
EMQX_BUILDER_OTP=${EMQX_BUILDER_OTP:-26.2.1-2}
|
||||
EMQX_BUILDER_ELIXIR=${EMQX_BUILDER_ELIXIR:-1.15.7}
|
||||
EMQX_BUILDER_VERSION=${EMQX_BUILDER_VERSION:-5.3-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=${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)
|
||||
|
||||
|
|
|
@ -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.3-5:1.15.7-26.2.1-2-ubuntu22.04"
|
||||
ERLANG_IMAGE="ghcr.io/emqx/emqx-builder/5.3-7:1.15.7-26.2.5-1-ubuntu22.04"
|
||||
# builder has emqtt-bench installed
|
||||
BENCH_IMAGE="$ERLANG_IMAGE"
|
||||
|
||||
|
|
Loading…
Reference in New Issue