From 54a89b39fb9d78f72109847de846176c72242084 Mon Sep 17 00:00:00 2001 From: Guus der Kinderen Date: Thu, 26 Sep 2024 21:43:43 +0200 Subject: [PATCH 1/2] CI: Add XMPP Interop tests Modifies the CI build to integrate the GitHub Action-based test runner from the [XMPP Interop Testing project](https://xmpp-interop-testing.github.io). This executes additional integration tests that help verify ejabberd's compliance with XMPP specifications. In this commit, none of the tests are excluded, which likely results in false positives. Therefor, the 'continue-on-error' flag is set. This should ideally be removed in a later commit. --- .github/workflows/ci.yml | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 21faf598e..0bb65438e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -147,12 +147,28 @@ jobs: cat $RE/logs/ejabberd.log grep -q "is stopped in" $RE/logs/ejabberd.log - - name: Check Development Release + - name: Start Development Release run: | make dev RE=_build/dev/rel/ejabberd + sed -i 's/starttls_required: true/starttls_required: false/g' $RE/conf/ejabberd.yml $RE/bin/ejabberdctl start $RE/bin/ejabberdctl started + $RE/bin/ejabberdctl register admin localhost admin + grep -q "is started in" $RE/logs/ejabberd.log + + - name: Run XMPP Interoperability Tests against CI server. + continue-on-error: true + uses: XMPP-Interop-Testing/xmpp-interop-tests-action@v1.4.0 + with: + domain: 'localhost' + adminAccountUsername: 'admin' + adminAccountPassword: 'admin' + + - name: Stop Development Release + if: always() + run: | + RE=_build/dev/rel/ejabberd $RE/bin/ejabberdctl stop $RE/bin/ejabberdctl stopped cat $RE/logs/ejabberd.log From a8df58f0569d377b17634e22a1734145d93697e6 Mon Sep 17 00:00:00 2001 From: Guus der Kinderen Date: Fri, 27 Sep 2024 09:55:18 +0200 Subject: [PATCH 2/2] CI: Limit execution of XMPP Interop tests Run the XMPP Interop tests on only one build of the CI-matrix. This prevents redundant testing, as well as logs overwriting each-other. --- .github/workflows/ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0bb65438e..a8cc782c9 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -158,6 +158,7 @@ jobs: grep -q "is started in" $RE/logs/ejabberd.log - name: Run XMPP Interoperability Tests against CI server. + if: matrix.otp == '26' continue-on-error: true uses: XMPP-Interop-Testing/xmpp-interop-tests-action@v1.4.0 with: