run_emqx_app_tests.yaml 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. name: Check emqx app standalone
  2. on:
  3. push:
  4. branches:
  5. - '**'
  6. tags:
  7. - v*
  8. - e*
  9. pull_request:
  10. jobs:
  11. check_all:
  12. strategy:
  13. matrix:
  14. otp:
  15. - 23.3.4.9-4
  16. - 24.1.5-4
  17. # no need to use more than 1 version of Elixir, since tests
  18. # run using only Erlang code. This is needed just to specify
  19. # the base image.
  20. elixir:
  21. - 1.13.2
  22. os:
  23. - ubuntu20.04
  24. arch:
  25. - amd64
  26. runs-on: ubuntu-20.04
  27. container: "ghcr.io/emqx/emqx-builder/5.0-5:${{ matrix.elixir}}-${{ matrix.otp }}-${{ matrix.os }}"
  28. steps:
  29. - uses: actions/checkout@v2
  30. - name: Get deps git refs for cache
  31. id: deps-refs
  32. run: |
  33. PATH=$PATH:./ scripts/get-dep-refs.sh
  34. make clean-all
  35. - name: load rocksdb cache
  36. uses: actions/cache@v2
  37. with:
  38. path: _build/default/lib/rocksdb/
  39. key: ${{ matrix.os }}-${{ matrix.otp }}-${{ matrix.arch }}-${{ steps.deps-refs.outputs.DEP_ROCKSDB_REF }}
  40. - name: load quicer cache
  41. uses: actions/cache@v2
  42. with:
  43. path: _build/default/lib/quicer/
  44. key: ${{ matrix.os }}-${{ matrix.otp }}-${{ matrix.arch }}-${{ steps.deps-refs.outputs.DEP_QUICER_REF }}
  45. - name: run
  46. run: |
  47. make ensure-rebar3
  48. cp rebar3 apps/emqx/
  49. cd apps/emqx
  50. ./rebar3 xref
  51. ./rebar3 dialyzer
  52. ./rebar3 eunit -v
  53. ./rebar3 ct -v
  54. ./rebar3 proper -d test/props
  55. - uses: actions/upload-artifact@v1
  56. if: failure()
  57. with:
  58. name: logs
  59. path: apps/emqx/_build/test/logs