diff --git a/.ci/docker-compose-file/docker-compose.yaml b/.ci/docker-compose-file/docker-compose.yaml index a502aeb6e..5ba6498f3 100644 --- a/.ci/docker-compose-file/docker-compose.yaml +++ b/.ci/docker-compose-file/docker-compose.yaml @@ -1,8 +1,8 @@ version: '3.9' services: - erlang: - container_name: erlang + erlang23: + container_name: erlang23 image: emqx/build-env:erl23.2.7.2-emqx-2-ubuntu20.04 env_file: - conf.env @@ -21,6 +21,26 @@ services: working_dir: /emqx tty: true + erlang24: + container_name: erlang24 + image: emqx/build-env:erl24.0.1-emqx-1-ubuntu20.04 + env_file: + - conf.env + environment: + GITHUB_ACTIONS: ${GITHUB_ACTIONS} + GITHUB_TOKEN: ${GITHUB_TOKEN} + GITHUB_RUN_ID: ${GITHUB_RUN_ID} + GITHUB_SHA: ${GITHUB_SHA} + GITHUB_RUN_NUMBER: ${GITHUB_RUN_NUMBER} + GITHUB_EVENT_NAME: ${GITHUB_EVENT_NAME} + GITHUB_REF: ${GITHUB_REF} + networks: + - emqx_bridge + volumes: + - ../..:/emqx + working_dir: /emqx + tty: true + networks: emqx_bridge: driver: bridge diff --git a/.github/workflows/build_packages.yaml b/.github/workflows/build_packages.yaml index 0b8316b61..a5c156cb5 100644 --- a/.github/workflows/build_packages.yaml +++ b/.github/workflows/build_packages.yaml @@ -10,8 +10,14 @@ on: jobs: prepare: + strategy: + matrix: + container: + - "emqx/build-env:erl23.2.7.2-emqx-2-ubuntu20.04" + - "emqx/build-env:erl24.0.1-emqx-1-ubuntu20.04" + runs-on: ubuntu-20.04 - container: emqx/build-env:erl23.2.7.2-emqx-2-ubuntu20.04 + container: ${{ matrix.container }} outputs: profiles: ${{ steps.set_profile.outputs.profiles}} @@ -213,6 +219,9 @@ jobs: fail-fast: false matrix: profile: ${{fromJSON(needs.prepare.outputs.profiles)}} + erl_otp: + - 23.2.7.2-emqx-2 + - 24.0.1-emqx-1 arch: - amd64 - arm64 diff --git a/.github/workflows/build_slim_packages.yaml b/.github/workflows/build_slim_packages.yaml index 162959040..afee6c2fe 100644 --- a/.github/workflows/build_slim_packages.yaml +++ b/.github/workflows/build_slim_packages.yaml @@ -16,6 +16,8 @@ jobs: matrix: erl_otp: - erl23.2.7.2-emqx-2 + - erl24.0.1-emqx-1 + os: - ubuntu20.04 - centos7 @@ -43,7 +45,7 @@ jobs: with: name: rebar3.crashdump path: ./rebar3.crashdump - - name: pakcages test + - name: packages test run: | export CODE_PATH=$GITHUB_WORKSPACE .ci/build_packages/tests.sh diff --git a/.github/workflows/check_deps_integrity.yaml b/.github/workflows/check_deps_integrity.yaml index 0aa8f7903..64564469c 100644 --- a/.github/workflows/check_deps_integrity.yaml +++ b/.github/workflows/check_deps_integrity.yaml @@ -4,8 +4,14 @@ on: [pull_request] jobs: check_deps_integrity: + strategy: + matrix: + container: + - "emqx/build-env:erl23.2.7.2-emqx-2-ubuntu20.04" + - "emqx/build-env:erl24.0.1-emqx-1-ubuntu20.04" + runs-on: ubuntu-20.04 - container: emqx/build-env:erl23.2.7.2-emqx-2-ubuntu20.04 + container: ${{ matrix.container }} steps: - uses: actions/checkout@v2 diff --git a/.github/workflows/run_emqx_app_tests.yaml b/.github/workflows/run_emqx_app_tests.yaml index 56089ffcf..6e64d7747 100644 --- a/.github/workflows/run_emqx_app_tests.yaml +++ b/.github/workflows/run_emqx_app_tests.yaml @@ -9,8 +9,14 @@ on: jobs: check_all: + strategy: + matrix: + container: + - "emqx/build-env:erl23.2.7.2-emqx-2-ubuntu20.04" + - "emqx/build-env:erl24.0.1-emqx-1-ubuntu20.04" + runs-on: ubuntu-20.04 - container: emqx/build-env:erl23.2.7.2-emqx-2-ubuntu20.04 + container: ${{ matrix.container }} steps: - uses: actions/checkout@v2 diff --git a/.github/workflows/run_fvt_tests.yaml b/.github/workflows/run_fvt_tests.yaml index 108434cb5..6fb8f4ea6 100644 --- a/.github/workflows/run_fvt_tests.yaml +++ b/.github/workflows/run_fvt_tests.yaml @@ -183,8 +183,15 @@ jobs: exit $RESULT relup_test: + strategy: + matrix: + container: + - "emqx/build-env:erl23.2.7.2-emqx-2-ubuntu20.04" + - "emqx/build-env:erl24.0.1-emqx-1-ubuntu20.04" + runs-on: ubuntu-20.04 - container: emqx/build-env:erl23.2.7.2-emqx-2-ubuntu20.04 + container: ${{ matrix.container }} + defaults: run: shell: bash @@ -295,4 +302,3 @@ jobs: with: name: lux_logs path: lux_logs - diff --git a/.github/workflows/run_test_cases.yaml b/.github/workflows/run_test_cases.yaml index 812058111..3e5a1e346 100644 --- a/.github/workflows/run_test_cases.yaml +++ b/.github/workflows/run_test_cases.yaml @@ -9,8 +9,14 @@ on: jobs: run_static_analysis: + strategy: + matrix: + container: + - "emqx/build-env:erl23.2.7.2-emqx-2-ubuntu20.04" + - "emqx/build-env:erl24.0.1-emqx-1-ubuntu20.04" + runs-on: ubuntu-20.04 - container: emqx/build-env:erl23.2.7.2-emqx-2-ubuntu20.04 + container: ${{ matrix.container }} steps: - uses: actions/checkout@v2 @@ -26,8 +32,14 @@ jobs: run: make dialyzer run_proper_test: + strategy: + matrix: + container: + - "emqx/build-env:erl23.2.7.2-emqx-2-ubuntu20.04" + - "emqx/build-env:erl24.0.1-emqx-1-ubuntu20.04" + runs-on: ubuntu-20.04 - container: emqx/build-env:erl23.2.7.2-emqx-2-ubuntu20.04 + container: ${{ matrix.container }} steps: - uses: actions/checkout@v2 @@ -41,6 +53,12 @@ jobs: run: make proper run_common_test: + strategy: + matrix: + otp_release: + - "erlang23" + - "erlang24" + runs-on: ubuntu-20.04 steps: @@ -73,15 +91,15 @@ jobs: up -d --build - name: run eunit run: | - docker exec -i erlang bash -c "make eunit" + docker exec -i ${{ matrix.otp_release }} bash -c "make eunit" - name: run common test run: | - docker exec -i erlang bash -c "make ct" + docker exec -i ${{ matrix.otp_release }} bash -c "make ct" - name: run cover run: | printenv > .env - docker exec -i erlang bash -c "make cover" - docker exec --env-file .env -i erlang bash -c "make coveralls" + docker exec -i ${{ matrix.otp_release }} bash -c "make cover" + docker exec --env-file .env -i ${{ matrix.otp_release }} bash -c "make coveralls" - name: cat rebar.crashdump if: failure() run: if [ -f 'rebar3.crashdump' ];then cat 'rebar3.crashdump'; fi diff --git a/apps/emqx_retainer/rebar.config b/apps/emqx_retainer/rebar.config index 7e762cb72..b49f979ac 100644 --- a/apps/emqx_retainer/rebar.config +++ b/apps/emqx_retainer/rebar.config @@ -19,6 +19,6 @@ [{test, [{deps, [ - {emqtt, {git, "https://github.com/emqx/emqtt", {tag, "1.2.3"}}}]} + {emqtt, {git, "https://github.com/emqx/emqtt", {tag, "1.4.0"}}}]} ]} ]}.