Badlop
7647b77225
Runtime: Raise the minimum Erlang tested to Erlang/OTP 24
...
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.
2025-07-25 11:15:34 +02:00
Badlop
2d2b98e525
Update Elvis to 4.1.1, fix some warnings and enable their tests
2025-06-16 16:59:43 +02:00
Badlop
b4a917db09
Runtime: Fix step name
2025-05-30 17:17:32 +02:00
Badlop
250af8f06a
Fix "make options" in Erlang/OTP 28 (thanks to Alexey Shchepin)( #4352 )
2025-05-30 17:17:32 +02:00
Badlop
c10e6ded78
Runtime: Use --with-min-erlang to bypass Erlang 25 soft requirement
2025-05-28 17:36:39 +02:00
Badlop
9bc991cb7d
CI and Runtime: Add Erlang/OTP 28 to the versions matrix
2025-05-28 17:36:39 +02:00
Badlop
ffa7c32d80
Rebar/Rebar3: Update binaries to work with Erlang/OTP 25-28 ( #4354 )
...
They are compiled from their git repositories, main branches,
using erlang:25-slim docker image.
To compile ejabberd using rebar/rebar3 and Erlang 20.0 up to 23.3,
you can download the old binaries from ejabberd 21.12, available at:
https://github.com/processone/ejabberd/raw/21.12/rebar
https://github.com/processone/ejabberd/raw/21.12/rebar3
To compile ejabberd using rebar/rebar3 and Erlang 24.0 up to 24.3,
you can download the old binaries from ejabberd 24.12, available at:
https://github.com/processone/ejabberd/raw/24.12/rebar
https://github.com/processone/ejabberd/raw/24.12/rebar3
2025-05-28 17:36:07 +02:00
Badlop
354009033a
CI: Don't run "make options" with Erlang/OTP 28 yet because it crashes ( #4352 )
2025-05-13 12:37:26 +02:00
Badlop
bf3f904fe9
Runtime: Don't test rebar2 + OTP 28 because "make rel" fails
...
When running "make rel":
./rebar generate
==> rel (generate)
ERROR: generate failed while processing /__w/ejabberd/ejabberd/rel:
{'EXIT',{{badmatch,{error,"Application et is used in release \"ejabberd\" and cannot be excluded"}},
[{rebar_reltool,generate,2,
[{file,"src/rebar_reltool.erl"},{line,53}]},
{rebar_core,run_modules,4,[{file,"src/rebar_core.erl"},{line,493}]},
{rebar_core,execute,6,[{file,"src/rebar_core.erl"},{line,418}]},
{rebar_core,maybe_execute,8,
[{file,"src/rebar_core.erl"},{line,302}]},
{rebar_core,process_dir1,7,[{file,"src/rebar_core.erl"},{line,261}]},
{rebar_core,process_each,5,[{file,"src/rebar_core.erl"},{line,351}]},
{rebar_core,process_dir1,7,[{file,"src/rebar_core.erl"},{line,253}]},
{rebar_core,process_commands,2,
[{file,"src/rebar_core.erl"},{line,93}]}]}}
make: *** [Makefile:570: prod] Error 1
2025-05-13 12:37:14 +02:00
Badlop
05b0037462
Raise the minimum Elixir tested version to 1.14.0 ( #4281 )
...
Cannot test with Elixir 1.13.4 because its container image includes
Erlang/OTP 24.3 that ejabberd does not support anymore.
2025-04-22 12:27:10 +02:00
Badlop
54796f888e
Raise Erlang/OTP minimum requirement to 25.0 ( #4281 )
2025-04-22 12:27:10 +02:00
Badlop
e43d864184
CI: Bump ubuntu-24.04, and Erlang 25+ ( #4281 )
...
Update postgresql preparation:
- ubuntu-20.04 included PostgreSQL 14.13
- ubuntu-24.04 includes PostgreSQL 16.4
and in the meantime, PostgreSQL 15.0 revoked
"the CREATE permission from all users except a database owner from the public (or default) schema."
See https://www.postgresql.org/about/news/postgresql-15-released-2526/
2025-04-16 13:44:07 +02:00
Badlop
d842d6772d
CI: Pull Redis image from ECR instead of Docker Hub
...
Pull images from Amazon ECR (Elastic Container Registry) Public Gallery
instead of Docker Hub to reduce consumption of the pull limits
https://www.docker.com/blog/revisiting-docker-hub-policies-prioritizing-developer-experience/
2025-04-01 16:07:46 +02:00
Badlop
67aaf93157
Runtime: Pull images from ECR instead of Docker Hub
...
Pull images from Amazon ECR (Elastic Container Registry) Public Gallery
instead of Docker Hub to reduce consumption of the pull limits
https://www.docker.com/blog/revisiting-docker-hub-policies-prioritizing-developer-experience/
2025-04-01 13:42:22 +02:00
dependabot[bot]
ed6a111982
build(deps): bump XMPP-Interop-Testing/xmpp-interop-tests-action
...
Bumps [XMPP-Interop-Testing/xmpp-interop-tests-action](https://github.com/xmpp-interop-testing/xmpp-interop-tests-action ) from 1.4.0 to 1.5.0.
- [Commits](https://github.com/xmpp-interop-testing/xmpp-interop-tests-action/compare/v1.4.0...v1.5.0 )
---
updated-dependencies:
- dependency-name: XMPP-Interop-Testing/xmpp-interop-tests-action
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-04-01 12:35:47 +02:00
Badlop
8070a656fe
Container: Use again direct METHOD, qemu got fixed (3983)(4280)
...
Partially revert d15cf99 :
Container: Add METHOD to build container using packages (3983)
2025-03-12 18:18:03 +01:00
Badlop
78f7a9a244
CI: Fix step name, remove obsolete step reference
2025-02-19 11:07:36 +01:00
Holger Weiss
4188c062e7
make-binaries: Bump crosstool-NG version to 1.27.0
2025-02-07 15:27:15 +01:00
Badlop
13dae75d01
Partially revert "Workflows: Bump ubuntu from 22.04 to 24.04 when possible ( #4281 )"
...
ubuntu-24.04 includes texinfo 7.1, which has a problematic bug.
Let's revert to ubuntu-22.04 until 24.04 includes a fixed texinfo.
URL to keep an eye:
https://github.com/actions/runner-images/blob/main/images/ubuntu/Ubuntu2404-Readme.md
This partially reverts commit d3baacd78e .
2025-01-03 11:49:37 +01:00
Holger Weiss
2b2551bc50
make-binaries: Bump Erlang/OTP version to 27.2
2025-01-02 18:25:24 +01:00
Holger Weiss
aa8957f137
make-binaries: Bump dependency versions
2025-01-02 18:24:30 +01:00
Badlop
1cadc6b1dc
CI: Revert old feature that published failed CT logs to website
...
Nowadays the CT logs can be downloaded from each action run in:
https://github.com/processone/ejabberd/actions/workflows/ci.yml
This partially reverts commit 8ccad7f
Publish CT logs and Cover on failure to an external GH Pages repo
2024-12-19 11:21:25 +01:00
Badlop
3ae636b454
Redis: Use eredis 1.7.1 from Nordix when using mix/rebar3 and Erlang 21+
2024-12-05 13:01:37 +01:00
Badlop
06e3f9f0a4
Runtime: Disable edoc when using old problematic Elixir versions
2024-12-05 13:01:35 +01:00
Badlop
cc5c9f6008
Fix problems introduced in two recent commits
2024-11-25 17:23:28 +01:00
Badlop
715b5b64c6
Runtime: Test Dialyzer in Rebars jobs ( #4281 )
...
The CI workflow uses ubuntu-24.04 and setup-beam action,
so it can test only Erlang/OTP 24 and higher.
To ensure Dialyzer is also ran with older Erlang versions,
let's add Dialyzer testing to the Runtime workflow,
which uses the erlang container, and that allows
to run Erlang/OTP 20 in ubuntu-24.04.
2024-11-14 13:58:14 +01:00
Badlop
c20ed8c7b3
Runtime: Try using elixir container for Rebar3+Elixir and Mix jobs ( #4281 )
2024-11-14 13:58:11 +01:00
Badlop
d3baacd78e
Workflows: Bump ubuntu from 22.04 to 24.04 when possible ( #4281 )
2024-11-14 13:58:07 +01:00
Badlop
322e25d18e
CI: Get again continue-on-error for XMPP Interop Tests
...
See explanations following the comment
https://github.com/processone/ejabberd/pull/4285#issuecomment-2397047355
This partially reverts commit 94c2a115d5 .
2024-10-28 12:06:53 +01:00
Badlop
94c2a115d5
CI: Disable XMPP Interop specifications that are known to fail
2024-10-11 11:49:28 +02:00
Guus der Kinderen
a8df58f056
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.
2024-09-27 09:55:18 +02:00
Guus der Kinderen
54a89b39fb
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.
2024-09-26 21:45:51 +02:00
Badlop
795498fa45
Runtime: Cache hex.pm archive from rebar3 and mix
2024-08-26 15:50:25 +02:00
Badlop
aa1717ee77
CI: Add Elvis tests
2024-08-26 15:50:25 +02:00
Badlop
d5e030a638
CI: Tell sqlcmd to trust server self-signed certificate
...
As explained in
https://techcommunity.microsoft.com/t5/sql-server-blog/odbc-driver-18-0-for-sql-server-released/ba-p/3169228
Version 18.0 of the Microsoft ODBC Driver 18 for SQL Server has been released.
BREAKING CHANGE - Default Encrypt to Yes/Mandatory.
2024-08-09 12:31:35 +02:00
Badlop
47f1beca0c
CI: Update path to sqlcmd command in the mssql container
...
As mentioned in
https://learn.microsoft.com/en-us/sql/linux/quickstart-install-connect-docker
Starting with SQL Server 2022 (16.x) CU 14 and SQL Server 2019 (15.x)
CU 28, the container images include the new mssql-tools18 package.
The previous directory /opt/mssql-tools/bin is being phased out.
The new directory for Microsoft ODBC 18 tools is /opt/mssql-tools18/bin,
aligning with the latest tools offering.
2024-08-09 12:31:34 +02:00
dependabot[bot]
5645858262
Bump docker/build-push-action from 5 to 6
...
Bumps [docker/build-push-action](https://github.com/docker/build-push-action ) from 5 to 6.
- [Release notes](https://github.com/docker/build-push-action/releases )
- [Commits](https://github.com/docker/build-push-action/compare/v5...v6 )
---
updated-dependencies:
- dependency-name: docker/build-push-action
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-06-27 15:11:46 +02:00
Badlop
9b675fe775
Add support to test also EUnit suite
2024-06-25 17:05:28 +02:00
Badlop
ab274147d8
Runtime: Add final OTP 27 and preliminary Elixir 1.17 to the matrix
2024-05-28 15:36:39 +02:00
Badlop
a8e36e7b1b
CI: Don't load database schema files for mysql and pgsql
2024-05-24 13:21:21 +02:00
Badlop
750bf07e13
Runtime: Define Elixir major versions, and let it pick the latest minor one
2024-05-24 13:21:08 +02:00
Badlop
2cd53410bc
Runtime: Avoid testing with OTP 27 + rebar2, because Jose has warnings_as_errors
...
and we can't disable that option in rebar2 using overrides
2024-05-24 13:21:07 +02:00
Badlop
ad7008a545
CI and Runtime: Update Erlang/OTP 27.0-rc3 to 27
2024-05-24 13:21:05 +02:00
Badlop
392d7ee30b
CI and Runtime: Now ejabberd and dependencies can compile with OTP 27.0-rc3
2024-05-02 17:30:21 +02:00
Badlop
025e2a5760
CI and Runtime: Don't get explicitly dependencies ( #4213 )
2024-05-02 17:30:04 +02:00
Badlop
ee9d4d56a9
Update Jose to the new 1.11.10 for Erlang/OTP > 23
2024-04-22 18:28:34 +02:00
Badlop
9c8ae96f25
Define base64url dependency only when using rebar2 and Erlang<24
...
base64url is not called directly in ejabberd code since e227940 ,
it is only required by p1_acme and erlang-jose 1.11.1
erlang-jose 1.11.1 defines base64url dependency as an hex package,
and rebar2 is not able to download it.
For that reason, when compiling ejabberd with rebar2,
we provide a rebar2-friendly base64url dependency definition.
That way when jose is downloaded, that dependency is already available.
2024-04-19 01:50:42 +02:00
dependabot[bot]
697e5b8b6c
Bump peaceiris/actions-gh-pages from 3 to 4
...
Bumps [peaceiris/actions-gh-pages](https://github.com/peaceiris/actions-gh-pages ) from 3 to 4.
- [Release notes](https://github.com/peaceiris/actions-gh-pages/releases )
- [Changelog](https://github.com/peaceiris/actions-gh-pages/blob/main/CHANGELOG.md )
- [Commits](https://github.com/peaceiris/actions-gh-pages/compare/v3...v4 )
---
updated-dependencies:
- dependency-name: peaceiris/actions-gh-pages
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-04-19 01:50:42 +02:00
Badlop
051bf2968a
Runtime: Test 27.0-rc1 instead of 27, as port_compiler still fails in rc2
2024-04-12 17:56:02 +02:00
Badlop
dbf0fb8e86
Runtime: Run Dialyzer in Mix jobs
2024-04-01 14:26:55 +02:00