* Not up-to-date
jsdelivr takes some days or weeks to get latest erlang versions, compare
https://builds.hex.pm/builds/otp/arm64/ubuntu-24.04/builds.txthttps://cdn.jsdelivr.net/hex/builds/otp/arm64/ubuntu-24.04/builds.txt
* Unnecessary
As builds.hex.pm is already geodistributed, there's no need to add mirror
Reference: https://www.hex.pm/docs/mirrors
* Problematic in parallel jobs
The ci.yml workflow is split in separate jobs that run in parallel,
and all of them must use the exact same erlang version.
When using mirrors, different erlang versions may be used...
and then the compiled files require more recompilation, which fail
===> Compiling /home/runner/work/ejabberd/ejabberd/c_src/epam.c
===> /home/runner/work/ejabberd/ejabberd/c_src/epam.c:18:10: fatal error: security/pam_appl.h: No such file or directory
18 | #include <security/pam_appl.h>
| ^~~~~~~~~~~~~~~~~~~~~
Instead of removing mirrors, an alternative solution would be
to specify exact OTP version: "28.3.2", but then we would need to update
all those strings in ci.yml for every erlang release.
Example:
$ make test-eunit
Makefile:696: warning: overriding recipe for target 'test-eunit'
Makefile:692: warning: ignoring old recipe for target 'test-eunit'
...
Updates this GitHub Action that's used to execute XMPP-based interop tests from v1.7.1 to v1.7.2.
This bugfix release introduces some changes that improve the stability of the tests. Highlights include:
- No longer includes tests that verify client, instead of server behavior
- Add prerequisite checks for various tests, to prevent them from failing if the server under test doesn't support the feature
- Remove prerequisite checks for other tests where they needlessly prevent a test from executing
The XMPP Interop Framework tests for XEP-0421 consistently report test failures. These tests should be disabled, until appropriate fixes are applied to ejabberd.
Updates this GitHub Action that's used to execute XMPP-based interop tests from v1.6.1 to v1.7.1.
This does not bring a significant amount of new tests (although some early tests for XEP-0060: 'Publish/Subscribe' was added), but does improve the stability of the existing tests (meaning: less false positives and less 'flacky' tests).
Additional configuration options have been added:
- there now are three different ways to provision test accounts on the server-under-test. That should make it easier for some to embed our tests to their pipeline
- the failOnImpossibleTest option fails the test run if any configured tests were impossible to execute, ensuring all intended tests actually ran.
Right now all names are supported, the previous (obsolete)
and the renamed (preferred). The changes relevant to the usage are:
When preparing configuration, the arguments:
./configure --enable-new-sql-schema
./configure --enable-multihost-sql-schema
When configuring ejabberd, the toplevel options:
new_sql_schema: true
sql_schema_multihost: true
When developing source code, the functions:
ejabberd_sql:use_new_schema()
ejabberd_sql:use_multihost_schema()
Updates this GitHub Action that's used to execute XMPP-based interop tests from v1.6.0 to v1.6.1.
This is a bugfix release that should increase the stability / predictability of test execution.
A notable change is that the file structure in which XMPP stanzas are generated (which is provided as debug output) has changed. They are still stored in the directory denoted by the logDir argument, but the file structure in that directory has changed somewhat.
Updates this GitHub Action that's used to execute XMPP-based interop tests from v1.5.0 to v1.6.0.
In this update, 524 new tests were added (more than doubling the amount of tests that previously existed).
The Erlang containers from versions 20-23 use Debian Buster,
and require the debian repositories to install some development libraries.
The Debian Buster repositories are no longer available,
which means that we can no longer perform any test with Erlang 20-23.