emqx/.github/workflows/run_emqx_app_tests.yaml

64 lines
1.6 KiB
YAML

name: Check emqx app standalone
on:
push:
branches:
- '**'
tags:
- v*
- e*
pull_request:
jobs:
check_all:
strategy:
matrix:
otp:
- 23.3.4.9-4
- 24.1.5-4
# no need to use more than 1 version of Elixir, since tests
# run using only Erlang code. This is needed just to specify
# the base image.
elixir:
- 1.13.2
os:
- ubuntu20.04
arch:
- amd64
runs-on: ubuntu-20.04
container: "ghcr.io/emqx/emqx-builder/5.0-5:${{ matrix.elixir}}-${{ matrix.otp }}-${{ matrix.os }}"
steps:
- uses: actions/checkout@v2
- name: Get deps git refs for cache
id: deps-refs
run: |
PATH=$PATH:./ scripts/get-dep-refs.sh
make clean-all
- name: load rocksdb cache
uses: actions/cache@v2
with:
path: _build/default/lib/rocksdb/
key: ${{ matrix.os }}-${{ matrix.otp }}-${{ matrix.arch }}-${{ steps.deps-refs.outputs.DEP_ROCKSDB_REF }}
- name: load quicer cache
uses: actions/cache@v2
with:
path: _build/default/lib/quicer/
key: ${{ matrix.os }}-${{ matrix.otp }}-${{ matrix.arch }}-${{ steps.deps-refs.outputs.DEP_QUICER_REF }}
- name: run
run: |
make ensure-rebar3
cp rebar3 apps/emqx/
cd apps/emqx
./rebar3 xref
./rebar3 dialyzer
./rebar3 eunit -v
./rebar3 ct -v
./rebar3 proper -d test/props
- uses: actions/upload-artifact@v1
if: failure()
with:
name: logs
path: apps/emqx/_build/test/logs