Replace Travis-CI with Github actions, add support for OTP-25

This commit is contained in:
Sergey Prokhorov 2022-11-23 00:16:27 +01:00
parent a07e03f73a
commit 5fcedfdf9c
No known key found for this signature in database
GPG key ID: 1C570244E4EF3337
5 changed files with 74 additions and 20 deletions

67
.github/workflows/ci.yml vendored Normal file
View file

@ -0,0 +1,67 @@
# install:
# - sudo sysctl -w net.ipv6.conf.all.disable_ipv6=0
name: CI
on:
push:
branches:
- master
pull_request:
branches:
- master
jobs:
test:
name: OTP-${{matrix.otp}}, OS-${{matrix.os}}
runs-on: ${{matrix.os}}
strategy:
fail-fast: false
matrix:
os:
- "ubuntu-20.04"
rebar3: ["3.18.0"]
otp:
- "25.1"
- "24.3"
- "23.3"
- "22.3"
include:
- otp: "21.3"
rebar3: "3.15.2"
os: "ubuntu-20.04"
env:
SHELL: /bin/sh # needed for erlexec
steps:
- uses: actions/checkout@v2
- uses: erlef/setup-beam@v1
with:
otp-version: ${{matrix.otp}}
rebar3-version: ${{matrix.rebar3}}
- name: compile
run: rebar3 compile
- name: xref
run: rebar3 xref
- name: eunit
run: rebar3 eunit
- name: ct
run: rebar3 ct
- name: dialyzer
run: rebar3 dialyzer
- name: proper
run: rebar3 proper
- name: Upload test logs artifact
uses: actions/upload-artifact@v2
if: failure()
with:
name: test_logs_otp-${{matrix.otp}}
path: |
_build/test/logs/*
!_build/test/logs/ct_run*/datadir

View file

@ -1,18 +0,0 @@
sudo: required
language: erlang
otp_release:
- 23.3.1
- 22.3
- 21.3
#- 20.3 not supported (erlang:get_stacktrace/0)
#- 19.3 not supported (string:lexemes/2)
#- 18.3 not supported (string:lexemes/2, tricky binary comprehension, map typespec with `:=`, ?assertEqual/3)
install:
- sudo sysctl -w net.ipv6.conf.all.disable_ipv6=0
script:
- ./rebar3 compile
- ./rebar3 xref
- ./rebar3 eunit
- ./rebar3 ct
- ./rebar3 dialyzer
- ./rebar3 proper

BIN
rebar3

Binary file not shown.

View file

@ -33,6 +33,7 @@ notify(Type, Name, Value, Extra) ->
get(Type, Name) ->
get(Type, Name, #{}).
-spec get(count | gauge | histogram, [atom()], [atom()]) -> integer() | not_found.
get(Type, Name, Extra) ->
gen_server:call(?MODULE, {get, Type, Name, Extra}).

View file

@ -436,9 +436,13 @@ policy_max_conns_case(Cfg) when is_list(Cfg) ->
Secret = ?config(mtp_secret, Cfg),
SureClose =
fun(Cli) ->
timer:sleep(500), %FIXME: sometimes metric returns not_found
PreClosed =
mtp_test_metric:get_tags(
count, [?APP, in_connection_closed, total], [?FUNCTION_NAME]),
case mtp_test_metric:get_tags(
count, [?APP, in_connection_closed, total], [?FUNCTION_NAME]) of
not_found -> 0;
N -> N
end,
ok = mtp_test_client:close(Cli),
ok = mtp_test_metric:wait_for_value(
count, [?APP, in_connection_closed, total], [?FUNCTION_NAME], PreClosed + 1, 5000)