From 934d3c405d603bcbae5b375db92839c7ac59817d Mon Sep 17 00:00:00 2001 From: zhanghongtong Date: Sat, 8 May 2021 11:54:40 +0800 Subject: [PATCH] chore(CI): update build workflows --- .ci/build_packages/Dockerfile | 2 + .github/workflows/build_packages.yaml | 10 +-- .github/workflows/build_slim_packages.yaml | 73 +++++++++++++++++++++- build | 1 - 4 files changed, 78 insertions(+), 8 deletions(-) diff --git a/.ci/build_packages/Dockerfile b/.ci/build_packages/Dockerfile index aa45c970b..792acddf5 100644 --- a/.ci/build_packages/Dockerfile +++ b/.ci/build_packages/Dockerfile @@ -7,6 +7,8 @@ COPY . /emqx WORKDIR /emqx +RUN make ${EMQX_NAME}-zip || cat rebar3.crashdump + RUN make ${EMQX_NAME}-pkg || cat rebar3.crashdump RUN /emqx/.ci/build_packages/tests.sh diff --git a/.github/workflows/build_packages.yaml b/.github/workflows/build_packages.yaml index 697820299..f1ddef88a 100644 --- a/.github/workflows/build_packages.yaml +++ b/.github/workflows/build_packages.yaml @@ -123,6 +123,8 @@ jobs: strategy: matrix: profile: ${{fromJSON(needs.prepare.outputs.profiles)}} + erl_otp: + - 23.2.7.2 exclude: - profile: emqx-edge @@ -141,12 +143,12 @@ jobs: - name: build erlang timeout-minutes: 60 run: | - kerl build 23.2.7 - kerl install 23.2.7 $HOME/.kerl/23.2.7 + kerl build ${{ matrix.erl_otp }} + kerl install ${{ matrix.erl_otp }} $HOME/.kerl/${{ matrix.erl_otp }} - name: build run: | - . $HOME/.kerl/23.2.7/activate - make -C source ${{ matrix.profile }}-pkg + . $HOME/.kerl/${{ matrix.erl_otp }}/activate + make -C source ${{ matrix.profile }}-zip - name: test run: | cd source diff --git a/.github/workflows/build_slim_packages.yaml b/.github/workflows/build_slim_packages.yaml index a78d93a56..aae5cfd18 100644 --- a/.github/workflows/build_slim_packages.yaml +++ b/.github/workflows/build_slim_packages.yaml @@ -1,8 +1,12 @@ name: Build slim packages on: - - pull_request - - workflow_dispatch + push: + tags: + - v* + - e* + pull_request: + workflow_dispatch: jobs: build: @@ -30,7 +34,9 @@ jobs: else echo "EMQX_NAME=emqx" >> $GITHUB_ENV fi - - name: build packages + - name: build zip packages + run: make ${EMQX_NAME}-zip + - name: build deb/rpm packages run: make ${EMQX_NAME}-pkg - name: pakcages test run: | @@ -40,3 +46,64 @@ jobs: with: name: ${{ matrix.os }} path: _packages/**/*.zip + + mac: + runs-on: macos-10.15 + + strategy: + matrix: + erl_otp: + - 23.2.7.2 + + steps: + - uses: actions/checkout@v1 + - name: prepare + run: | + if make emqx-ee --dry-run > /dev/null 2>&1; then + echo "https://ci%40emqx.io:${{ secrets.CI_GIT_TOKEN }}@github.com" > $HOME/.git-credentials + git config --global credential.helper store + echo "${{ secrets.CI_GIT_TOKEN }}" >> ./scripts/git-token + echo "EMQX_NAME=emqx-ee" >> $GITHUB_ENV + else + echo "EMQX_NAME=emqx" >> $GITHUB_ENV + fi + - name: prepare + run: | + brew install curl zip unzip gnu-sed kerl unixodbc freetds + echo "/usr/local/bin" >> $GITHUB_PATH + git config --global credential.helper store + - name: build erlang + timeout-minutes: 60 + run: | + kerl build ${{ matrix.erl_otp }} + kerl install ${{ matrix.erl_otp }} $HOME/.kerl/${{ matrix.erl_otp }} + - name: build + run: | + . $HOME/.kerl/${{ matrix.erl_otp }}/activate + make ${EMQX_NAME}-zip + - name: test + run: | + pkg_name=$(basename _packages/emqx/emqx-*.zip) + unzip _packages/emqx/$pkg_name + gsed -i '/emqx_telemetry/d' ./emqx/data/loaded_plugins + ./emqx/bin/emqx start || cat emqx/log/erlang.log.1 + ready='no' + for i in {1..10}; do + if curl -fs 127.0.0.1:18083 > /dev/null; then + ready='yes' + break + fi + sleep 1 + done + if [ "$ready" != "yes" ]; then + echo "Timed out waiting for emqx to be ready" + cat emqx/log/erlang.log.1 + exit 1 + fi + ./emqx/bin/emqx_ctl status + ./emqx/bin/emqx stop + rm -rf emqx + - uses: actions/upload-artifact@v1 + with: + name: macos + path: _packages/emqx/. diff --git a/build b/build index 4d2997b84..be7813e66 100755 --- a/build +++ b/build @@ -134,7 +134,6 @@ case "$ARTIFACT" in ;; pkg) if [ -z "${PKGERDIR:-}" ]; then - make_zip log "Skipped making deb/rpm package for $SYSTEM" exit 0 fi