mtproto_proxy/.github/workflows/ci.yml
Sergey Prokhorov d5f5a74de5
fix: start epmd before net_kernel in split_dc_SUITE; ci: epmd -daemon
split_dc_SUITE requires Erlang distribution (peer module). On GitHub
Actions (and any fresh environment) epmd is not pre-started, causing
net_kernel:start to fail with nodistribution.

Fix: call os:cmd("epmd -daemon") before net_kernel:start in
init_per_suite. The call is idempotent — safe when epmd is already
running.

Also start epmd explicitly in the CI 'ct' step as a belt-and-suspenders
measure.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-12 00:39:02 +02:00

63 lines
1.2 KiB
YAML

# 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-22.04"
rebar3: ["3.24.0"]
otp:
- "28.3"
- "27.3"
- "26.2"
- "25.3"
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: epmd -daemon && rebar3 ct
- name: dialyzer
run: rebar3 dialyzer
- name: proper
run: rebar3 proper
- name: Upload test logs artifact
uses: actions/upload-artifact@v4
if: failure()
with:
name: test_logs_otp-${{matrix.otp}}
path: |
_build/test/logs/*
!_build/test/logs/ct_run*/datadir