mirror of
https://github.com/processone/ejabberd.git
synced 2024-11-20 16:15:59 +01:00
Runtime: Rebar3+Elixir: Add new job to test Rebar3 compiling Elixir
This commit is contained in:
parent
c0a909296e
commit
ad7538f394
123
.github/workflows/runtime.yml
vendored
123
.github/workflows/runtime.yml
vendored
@ -156,6 +156,129 @@ jobs:
|
||||
cat /tmp/ejabberd/var/log/ejabberd/ejabberd.log
|
||||
cat /tmp/ejabberd/var/log/ejabberd/error.log
|
||||
|
||||
rebar3-elixir:
|
||||
name: Rebar3+Elixir
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
otp: ['23.0', '25.3', '26']
|
||||
elixir: ['1.13.4', '1.15.7', '1.16']
|
||||
exclude:
|
||||
- otp: '23.0'
|
||||
elixir: '1.15.7'
|
||||
- otp: '23.0'
|
||||
elixir: '1.16'
|
||||
- otp: '26'
|
||||
elixir: '1.13.4'
|
||||
runs-on: ubuntu-20.04
|
||||
|
||||
steps:
|
||||
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Get specific Erlang/OTP
|
||||
uses: erlef/setup-beam@v1
|
||||
with:
|
||||
otp-version: ${{matrix.otp}}
|
||||
elixir-version: ${{matrix.elixir}}
|
||||
|
||||
- name: Prepare libraries
|
||||
run: |
|
||||
sudo apt-get -qq update
|
||||
sudo apt-get -y purge libgd3 nginx
|
||||
sudo apt-get -qq install libexpat1-dev libgd-dev libpam0g-dev \
|
||||
libsqlite3-dev libwebp-dev libyaml-dev
|
||||
|
||||
- name: Enable ModPresenceDemo and an Elixir dependency
|
||||
run: |
|
||||
sed -i "s|^modules:|modules:\n 'ModPresenceDemo': {}|g" ejabberd.yml.example
|
||||
cat ejabberd.yml.example
|
||||
sed -i 's|^{deps, \(.*\)|{deps, \1\n {decimal, ".*", {git, "https://github.com/ericmj/decimal", {branch, "main"}}}, |g' rebar.config
|
||||
cat rebar.config
|
||||
|
||||
- name: Compile
|
||||
run: |
|
||||
./autogen.sh
|
||||
./configure --with-rebar=rebar3 \
|
||||
--prefix=/tmp/ejabberd \
|
||||
--enable-all \
|
||||
--disable-odbc
|
||||
make update
|
||||
make
|
||||
|
||||
- run: make xref
|
||||
|
||||
- name: Run rel
|
||||
run: |
|
||||
make rel
|
||||
_build/prod/rel/ejabberd/bin/ejabberdctl start \
|
||||
&& _build/prod/rel/ejabberd/bin/ejabberdctl started
|
||||
_build/prod/rel/ejabberd/bin/ejabberdctl register user1 localhost s0mePass
|
||||
_build/prod/rel/ejabberd/bin/ejabberdctl registered_users localhost > registered.log
|
||||
_build/prod/rel/ejabberd/bin/ejabberdctl stop \
|
||||
&& _build/prod/rel/ejabberd/bin/ejabberdctl stopped
|
||||
|
||||
- name: Run dev
|
||||
run: |
|
||||
make dev
|
||||
_build/dev/rel/ejabberd/bin/ejabberdctl start \
|
||||
&& _build/dev/rel/ejabberd/bin/ejabberdctl started
|
||||
_build/dev/rel/ejabberd/bin/ejabberdctl register user2 localhost s0mePass
|
||||
_build/dev/rel/ejabberd/bin/ejabberdctl registered_users localhost >> registered.log
|
||||
_build/dev/rel/ejabberd/bin/ejabberdctl stop \
|
||||
&& _build/dev/rel/ejabberd/bin/ejabberdctl stopped
|
||||
|
||||
- name: Run install
|
||||
run: |
|
||||
make install
|
||||
/tmp/ejabberd/sbin/ejabberdctl start \
|
||||
&& /tmp/ejabberd/sbin/ejabberdctl started
|
||||
/tmp/ejabberd/sbin/ejabberdctl register user3 localhost s0mePass
|
||||
/tmp/ejabberd/sbin/ejabberdctl registered_users localhost >> registered.log
|
||||
/tmp/ejabberd/sbin/ejabberdctl stop \
|
||||
&& /tmp/ejabberd/sbin/ejabberdctl stopped
|
||||
|
||||
- name: View logs
|
||||
if: always()
|
||||
run: |
|
||||
echo "===> Registered:"
|
||||
cat registered.log
|
||||
echo "===> Prod:"
|
||||
cat _build/prod/rel/ejabberd/logs/*
|
||||
echo "===> Dev:"
|
||||
cat _build/dev/rel/ejabberd/logs/*
|
||||
echo "===> Install:"
|
||||
cat /tmp/ejabberd/var/log/ejabberd/*
|
||||
|
||||
- name: Check logs
|
||||
if: always()
|
||||
run: |
|
||||
grep -q '^user1$' registered.log
|
||||
grep -q '^user2$' registered.log
|
||||
grep -q '^user3$' registered.log
|
||||
grep -q 'is started' _build/prod/rel/ejabberd/logs/ejabberd.log
|
||||
grep -q 'is stopped' _build/prod/rel/ejabberd/logs/ejabberd.log
|
||||
grep -q 'module Presence Demo' _build/prod/rel/ejabberd/logs/ejabberd.log
|
||||
test $(find _build/prod/ -empty -name error.log)
|
||||
grep -q 'is started' _build/dev/rel/ejabberd/logs/ejabberd.log
|
||||
grep -q 'is stopped' _build/dev/rel/ejabberd/logs/ejabberd.log
|
||||
grep -q 'module Presence Demo' _build/dev/rel/ejabberd/logs/ejabberd.log
|
||||
test $(find _build/dev/ -empty -name error.log)
|
||||
grep -q 'is started' /tmp/ejabberd/var/log/ejabberd/ejabberd.log
|
||||
grep -q 'is stopped' /tmp/ejabberd/var/log/ejabberd/ejabberd.log
|
||||
grep -q 'module Presence Demo' /tmp/ejabberd/var/log/ejabberd/ejabberd.log
|
||||
test $(find /tmp/ejabberd/var/log/ejabberd/ -empty -name error.log)
|
||||
|
||||
- name: View logs failures
|
||||
if: failure()
|
||||
run: |
|
||||
cat _build/prod/rel/ejabberd/logs/ejabberd.log
|
||||
cat _build/prod/rel/ejabberd/logs/error.log
|
||||
cat _build/dev/rel/ejabberd/logs/ejabberd.log
|
||||
cat _build/dev/rel/ejabberd/logs/error.log
|
||||
cat /tmp/ejabberd/var/log/ejabberd/ejabberd.log
|
||||
cat /tmp/ejabberd/var/log/ejabberd/error.log
|
||||
|
||||
mix:
|
||||
name: Mix
|
||||
strategy:
|
||||
|
Loading…
Reference in New Issue
Block a user