From f40fcdd03644c3562f3efff9bd22fadcb12181fc Mon Sep 17 00:00:00 2001 From: Thales Macedo Garitezi Date: Thu, 25 Aug 2022 10:16:53 -0300 Subject: [PATCH 1/2] ci: pass down `$SYSTEM` for relup base versions escript `relup-base-versions.escript` needs to know the system the package is being built for to correctly enumerate the base versions for relup. --- .github/workflows/build_packages.yaml | 1 + scripts/buildx.sh | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/.github/workflows/build_packages.yaml b/.github/workflows/build_packages.yaml index d76910d8c..b910a3f51 100644 --- a/.github/workflows/build_packages.yaml +++ b/.github/workflows/build_packages.yaml @@ -259,6 +259,7 @@ jobs: --profile "${PROFILE}" \ --pkgtype "${PACKAGE}" \ --arch "${ARCH}" \ + --system "${SYSTEM}" \ --builder "ghcr.io/emqx/emqx-builder/4.4-19:${OTP}-${SYSTEM}" - uses: actions/upload-artifact@v1 with: diff --git a/scripts/buildx.sh b/scripts/buildx.sh index be1725976..98386efa0 100755 --- a/scripts/buildx.sh +++ b/scripts/buildx.sh @@ -20,6 +20,7 @@ help() { echo "--arch amd64|arm64: Target arch to build the EMQ X package for" echo "--src_dir : EMQ X source ode in this dir, default to PWD" echo "--builder : Builder image to pull" + echo "--system : The target OS system the package is being built for, ex: debian11" echo " E.g. ghcr.io/emqx/emqx-builder/4.4-19:24.1.5-3-debian10" } @@ -49,6 +50,10 @@ while [ "$#" -gt 0 ]; do ARCH="$2" shift 2 ;; + --system) + SYSTEM="$2" + shift 2 + ;; *) echo "WARN: Unknown arg (ignored): $1" shift @@ -70,6 +75,8 @@ fi cd "${SRC_DIR:-.}" set -x +# $SYSTEM below is used by the `relup-base-vsns.escript` to correctly +# output the list of relup base versions. docker info docker run --rm --privileged tonistiigi/binfmt:latest --install "${ARCH}" docker run -i --rm \ @@ -77,5 +84,6 @@ docker run -i --rm \ --workdir /emqx \ --platform="linux/$ARCH" \ --user root \ + -e SYSTEM="$SYSTEM" \ "$BUILDER" \ bash -euc "git config --global --add safe.directory /emqx && chown -R root:root _build && make ${PROFILE}-${PKGTYPE} && .ci/build_packages/tests.sh $PROFILE $PKGTYPE" From 5aa8ff86ff39330759bdcef7011e2db04c5fdf9f Mon Sep 17 00:00:00 2001 From: Thales Macedo Garitezi Date: Thu, 25 Aug 2022 11:04:30 -0300 Subject: [PATCH 2/2] fix: windows relup is not supported --- .github/workflows/build_packages.yaml | 1 + .github/workflows/build_slim_packages.yaml | 1 + scripts/relup-base-vsns.escript | 3 +++ 3 files changed, 5 insertions(+) diff --git a/.github/workflows/build_packages.yaml b/.github/workflows/build_packages.yaml index b910a3f51..bec38e72c 100644 --- a/.github/workflows/build_packages.yaml +++ b/.github/workflows/build_packages.yaml @@ -84,6 +84,7 @@ jobs: PYTHON: python DIAGNOSTIC: 1 PROFILE: emqx + SYSTEM: windows working-directory: source run: | erl -eval "erlang:display(crypto:info_lib())" -s init stop diff --git a/.github/workflows/build_slim_packages.yaml b/.github/workflows/build_slim_packages.yaml index d940760db..f369525e7 100644 --- a/.github/workflows/build_slim_packages.yaml +++ b/.github/workflows/build_slim_packages.yaml @@ -79,6 +79,7 @@ jobs: env: PYTHON: python DIAGNOSTIC: 1 + SYSTEM: windows run: | erl -eval "erlang:display(crypto:info_lib())" -s init stop make ${{ matrix.profile }}-zip diff --git a/scripts/relup-base-vsns.escript b/scripts/relup-base-vsns.escript index 94cc4bd4f..307d4f5fd 100755 --- a/scripts/relup-base-vsns.escript +++ b/scripts/relup-base-vsns.escript @@ -161,6 +161,9 @@ fetch_version(Vsn, VsnMap) -> filter_froms(Froms0, AvailableVersionsIndex) -> Froms1 = case os:getenv("SYSTEM") of + %% we do not support relup for windows + "windows" -> + []; %% debian11 is introduced since v4.4.2 and e4.4.2 %% exclude tags before them "debian11" ->