| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132 |
- name: Build slim packages
- on:
- push:
- tags:
- - v*
- - e*
- pull_request:
- workflow_dispatch:
- jobs:
- build:
- runs-on: ubuntu-20.04
- strategy:
- matrix:
- erl_otp:
- - erl23.2.7.2-emqx-3
- os:
- - ubuntu20.04
- - centos7
- container: emqx/build-env:${{ matrix.erl_otp }}-${{ matrix.os }}
- 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: build zip packages
- run: make ${EMQX_NAME}-zip
- - name: build deb/rpm packages
- run: make ${EMQX_NAME}-pkg
- - uses: actions/upload-artifact@v1
- if: failure()
- with:
- name: rebar3.crashdump
- path: ./rebar3.crashdump
- - name: pakcages test
- run: |
- export CODE_PATH=$GITHUB_WORKSPACE
- .ci/build_packages/tests.sh
- - uses: actions/upload-artifact@v2
- with:
- name: ${{ matrix.os }}
- path: _packages/**/*.zip
- mac:
- strategy:
- matrix:
- erl_otp:
- - 23.2.7.2-emqx-3
- macos:
- - macos-11
- runs-on: ${{ matrix.macos }}
- 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 update
- brew install curl zip unzip gnu-sed kerl unixodbc freetds
- echo "/usr/local/bin" >> $GITHUB_PATH
- git config --global credential.helper store
- - uses: actions/cache@v2
- id: cache
- with:
- path: ~/.kerl/${{ matrix.erl_otp }}
- key: otp-install-${{ matrix.erl_otp }}-${{ matrix.macos }}
- - name: build erlang
- if: steps.cache.outputs.cache-hit != 'true'
- timeout-minutes: 60
- env:
- KERL_BUILD_BACKEND: git
- OTP_GITHUB_URL: https://github.com/emqx/otp
- run: |
- kerl update releases
- 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 ensure-rebar3
- sudo cp rebar3 /usr/local/bin/rebar3
- make ${EMQX_NAME}-zip
- - uses: actions/upload-artifact@v1
- if: failure()
- with:
- name: rebar3.crashdump
- path: ./rebar3.crashdump
- - name: test
- run: |
- pkg_name=$(basename _packages/${EMQX_NAME}/emqx-*.zip)
- unzip -q _packages/${EMQX_NAME}/$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@v2
- with:
- name: macos
- path: _packages/**/*.zip
|