Paweł Chmielowski
95135af6b3
Rework temporary node name generation in ejabberdctl
...
This should limit number of possible node names generated by and with that
prevent atom space exhaustion in ejabberd process.
On R23+ we switch to using native dynamic node features and on older
versions we iterate over small number of possible names and skip those
already in use.
2024-02-07 12:17:16 +01:00
Badlop
c81a47a692
Container: Update make-binaries to support setup-beam v1.17.2
...
With setup-beam v1.17.2, make-binaries failed in the Container action with:
* ERROR: No usable Erlang/OTP system for the build machine found! Cannot
* cross compile without such a system.
*
* Either build a bootstrap system for the build machine, or provide
* an Erlang/OTP-26 system in the $PATH, and try again. For more
* information on cross compiling Erlang/OTP-26, see the
* $ERL_TOP/xcomp/README file.
The problematic commit is:
cf854bf149
more concretely this change:
- core.exportVariable(installDirForVarName, cachePath)
+ core.exportVariable(installDirForVarName, catchPathBin)
Up until setup-beam@v1.17.1, the INSTALL_DIR_FOR_OTP was something like
/opt/hostedtoolcache/otp/ubuntu-22.04/OTP-26.1.1/x64
but starting in v1.17.2, the path contains /bin, for example:
/opt/hostedtoolcache/otp/ubuntu-22.04/OTP-26.1.1/x64/bin
2024-02-06 17:57:27 +01:00
Badlop
3bd9fc9f43
Container: Fix typo in cache key name 1.25->1.26
2024-02-06 17:57:27 +01:00
Badlop
c664d6dc32
Workflows: Update actions to use Node.js 20 as recommended by Github Actions
2024-02-06 17:57:27 +01:00
Badlop
a182ec12cf
Workflows: Use explicit ubuntu-22.04 instead of a varying ubuntu-latest
...
Also notice that ubuntu-22.04 doesn't include Erlang/OTP.
2024-02-06 17:57:27 +01:00
Badlop
b4b85e569e
Runtime: Clean Rebar tests and add Rebar2 to them
2024-01-17 14:44:09 +01:00
Badlop
a2ff5fbfdb
Add observer and runtime_tools in releases when --enable-tools
...
When --enable-tools, include observer and runtime_tools
in the OTP releases, as they are required by "ejabberdctl etop".
With this fix, "ejabberdctl etop" works correctly when:
* rebar3 + make rel
* mix + make dev
* mix + make rel
2024-01-17 10:24:34 +01:00
Badlop
a1c81955d3
ejabberdctl: Document to stop live shell with control+g, following cd421f9
2024-01-17 10:24:34 +01:00
Badlop
ad7538f394
Runtime: Rebar3+Elixir: Add new job to test Rebar3 compiling Elixir
2024-01-17 10:24:34 +01:00
Badlop
c0a909296e
Runtime: Mix: Enable ModPresenceDemo and Elixir dep
2024-01-17 10:24:34 +01:00
Badlop
7186cd09bf
Runtime: Test also "make install"
2024-01-17 10:24:34 +01:00
Badlop
db8583b1c6
Runtime: Mix: Add step to view logs
2024-01-17 10:24:34 +01:00
Badlop
07be61585c
Runtime: Mix: No need to specify --disable-elixir
2024-01-17 10:24:34 +01:00
Badlop
8bdd811a16
Runtime: Mix: Update Erlang and Elixir versions to test
2024-01-17 10:24:34 +01:00
Badlop
c69d88c45a
Runtime: Rebars: Add log tests similar to the Mix job
2024-01-17 10:24:34 +01:00
Badlop
b18fa2ebc2
Runtime: Rebars: Use the rebar binaries included in the repository
2024-01-17 10:24:34 +01:00
Badlop
f838319455
Runtime: Rebars: Get old rebar binaries when testing old erlang versions
2024-01-17 10:24:34 +01:00
badlop
5406693a1e
Merge pull request #4079 from sando38/fix/Dockerfile-odbc
...
Dockerfile: add missing dependency for mssql databases
2023-09-27 21:10:16 +02:00
Holger Weiss
ad00553bf8
make-binaries: Bump Erlang/OTP version to 26.1
2023-09-27 00:17:30 +02:00
Holger Weiss
b70bef77cb
make-binaries: Bump crosstool-NG version to 1.26.0
2023-09-26 23:55:01 +02:00
Badlop
cd421f98d7
ejabberdctl: Document how to stop a debug shell: control+g
...
control+g is the correct way to enter shell break mode, as documented in
https://www.erlang.org/doc/apps/erts/tty
The ejabberdctl script included in installers use the included VT100,
and that may break when hitting control+c.
In that scenario let's explicitly recommend to not use control+c.
Thanks to Holger Weiß for the report.
2023-09-26 18:51:47 +02:00
dependabot[bot]
4735372682
Bump docker/build-push-action from 4 to 5
...
Bumps [docker/build-push-action](https://github.com/docker/build-push-action ) from 4 to 5.
- [Release notes](https://github.com/docker/build-push-action/releases )
- [Commits](https://github.com/docker/build-push-action/compare/v4...v5 )
---
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>
2023-09-18 11:05:15 +02:00
dependabot[bot]
4b3fa13163
Bump docker/setup-buildx-action from 2 to 3
...
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action ) from 2 to 3.
- [Release notes](https://github.com/docker/setup-buildx-action/releases )
- [Commits](https://github.com/docker/setup-buildx-action/compare/v2...v3 )
---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-09-18 11:05:15 +02:00
dependabot[bot]
d40250c3d6
Bump docker/setup-qemu-action from 2 to 3
...
Bumps [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action ) from 2 to 3.
- [Release notes](https://github.com/docker/setup-qemu-action/releases )
- [Commits](https://github.com/docker/setup-qemu-action/compare/v2...v3 )
---
updated-dependencies:
- dependency-name: docker/setup-qemu-action
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-09-18 11:05:15 +02:00
dependabot[bot]
7d2cfd2aaa
Bump docker/metadata-action from 4 to 5
...
Bumps [docker/metadata-action](https://github.com/docker/metadata-action ) from 4 to 5.
- [Release notes](https://github.com/docker/metadata-action/releases )
- [Upgrade guide](https://github.com/docker/metadata-action/blob/master/UPGRADE.md )
- [Commits](https://github.com/docker/metadata-action/compare/v4...v5 )
---
updated-dependencies:
- dependency-name: docker/metadata-action
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-09-18 11:05:14 +02:00
dependabot[bot]
11fdd417dd
Bump docker/login-action from 2 to 3
...
Bumps [docker/login-action](https://github.com/docker/login-action ) from 2 to 3.
- [Release notes](https://github.com/docker/login-action/releases )
- [Commits](https://github.com/docker/login-action/compare/v2...v3 )
---
updated-dependencies:
- dependency-name: docker/login-action
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-09-18 11:05:14 +02:00
dependabot[bot]
1b7b23fab6
Bump actions/checkout from 3 to 4
...
Bumps [actions/checkout](https://github.com/actions/checkout ) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](https://github.com/actions/checkout/compare/v3...v4 )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-09-18 11:05:14 +02:00
Badlop
6d596063de
Elixir 1.15 removed support for --app
...
Removing that argument does not affect iexlive at all
For reference:
e1eecb8ca6
2023-08-28 18:26:55 +02:00
Badlop
a7c3c9b77d
Pass ERLANG_OPTS when calling erl to parse the INET_DIST_INTERFACE ( #4066 )
...
This is required when running ejabberdctl in binary installers
and INET_DIST_INTERFACE was configured, because some boot files were removed
2023-08-28 18:26:48 +02:00
sando38
c4563c429c
Dockerfile: add missing dependency for mssql databases
2023-08-12 14:46:30 +02:00
Badlop
9c6fe98f76
Partially revert "Improve ejabberdctl script: Copy recent commit 6272c0e90
to the container"
...
This reverts commit e66ba2e424
following the revert in commit 8288774787
2023-07-24 20:26:37 +02:00
Badlop
e66ba2e424
Improve ejabberdctl script: Copy recent commit 6272c0e90
to the container
2023-07-13 13:41:06 +02:00
Badlop
ffbcf19156
Halt ejabberd if a command in CTL_ON_ fails during ejabberd startup
...
See processone/ejabberd-contrib#97
2023-06-20 17:54:10 +02:00
Badlop
3263e81972
Move Xref and Dialyzer options from workflows to rebar.config
...
And also include some more applications in Dialyzer plt_extra_apps,
which apparently is required since Erlang 26.
2023-06-09 00:02:20 +02:00
Badlop
b3eeac637f
Update tests to Erlang/OTP 26 and recent Elixir
2023-06-09 00:02:10 +02:00
Badlop
480b42b36d
Run Dialyzer again with Erlang/OTP 26, and let's solve its problems
2023-06-09 00:02:06 +02:00
sando38
6155b001b4
Dockerfile: Reorder stages and steps for consistency
...
Also avoid duplicated lines.
2023-06-09 00:01:54 +02:00
sando38
8f05af7810
Dockerfile: Use Alpine as base for METHOD=package
...
No need to use the "large" docker.io/erlang image as we do not need any erlang/otp for the binary installers.
2023-06-09 00:01:51 +02:00
sando38
33ac7916d3
Dockerfile: Cosmetic changes
...
Ommit the path to ejabberdctl as it is already located at the $PATH
Also, do not copy Dockerfile into the container as this may unnecessarily trigger re-compiling of ejabberd.
2023-06-09 00:01:49 +02:00
sando38
461c1ddf3d
Dockerfile: Rename packages to improve compatibility
...
Rename libcap packages to improve compatibility between Alpine versions. This may be beneficial if one specifies an OTP_VSN which was built using an older Alpine base version.
The alpine package libcap has been splitted into libcap2 and libcap-utils in Alpine 3.17. 'libcap' is now an alias for libcap2 and libcap-utils. We define 'so:libcap.so.2' for the runtime stage, as we only need the libraries, not the binaries.
2023-06-09 00:01:46 +02:00
sando38
2428f74fbd
Dockerfile: Provide specific OTP and elixir vsn for direct compilation
...
Ejabberd images can now be built with specific erlang/OTP and elixir vsn with the new build arguments OTP_VSN and ELIXIR_VSN.
2023-06-09 00:01:36 +02:00
Badlop
c271d73dbd
CI: Update Erlang/OTP to 26.0-rc3
2023-04-18 10:37:11 +02:00
Badlop
34420444db
Container: Revert change in entrypoint that was added in d15cf994a
2023-04-11 15:29:28 +02:00
Badlop
dee0ec50b9
Remove ci-19.3, as Github Actions no longer supports ubuntu-18.04
2023-04-11 15:29:21 +02:00
sando38
401bdedae8
Dockerfile: Detect runtime dependencies automatically
...
Only libcap2 and tini can't be auto-detected. libcap2 has been renamed in Alpine version 3.17, hence the Dockerfile is not compatible with Alpine versions <3.17
2023-04-11 15:27:49 +02:00
Badlop
64e1cfcbba
Test only with oldest OTP supported, newest stable and bleeding edge
2023-03-28 11:41:57 +02:00
Badlop
fbfcebf417
Container: Remove Elixir Matchers to prevent useless warnings in github actions page
2023-03-28 11:41:56 +02:00
Saarko
d15cf994a2
Container: Add METHOD to build container using packages ( #3983 )
...
make-*: include musl build in make-binaries
Ctr actions: use github runners to provide bootstrap erlang
- adjust make-binaries script to use github runners' installed erlang
for bootstrapping
- this reduces the need to build an unnecessary toolchain for glibc
based binaries
2023-03-28 11:41:54 +02:00
Saarko
c71887db43
Container: Add tini as runtime init
2023-03-28 11:41:52 +02:00
Badlop
7c634f3615
Container: No need of openssl package at runtime
2023-03-28 11:41:51 +02:00
Badlop
874b961680
Container: Remove unused Mix stuff: ejabberd script and static COOKIE
...
Instead of including this file in the container with static content:
/opt/ejabberd-master/releases/COOKIE
the cookie file will be generated by erlang in
/opt/ejabberd/.erlang.cookie
or by ejabberdctl if ERLANG_COOKIE environment variable was provided.
2023-03-28 11:41:49 +02:00
Badlop
2c1ee698cc
Container: Copy captcha scripts to /opt/ejabberd-*/lib like the installers
...
Instead of a path like
/opt/ejabberd-master/lib/ejabberd-23.1.0/priv/bin
they are now in
/opt/ejabberd-master/lib
2023-03-28 11:41:47 +02:00
Badlop
b0f0dd3227
Container: Expose only HOME volume, it contains all the required subdirs
2023-03-28 11:41:46 +02:00
Badlop
de477f7b6c
Container: Update Alpine to 3.17 to get Erlang/OTP 25 and Elixir 1.14
2023-03-28 11:41:44 +02:00
Badlop
cc5c3f7b2c
ejabberdctl: Don't use .../releases/COOKIE, it's no longer included
...
And slightly clean the .erlang.cookie line
This partially reverts 9c23a7dc3f
2023-03-28 11:41:33 +02:00
Badlop
37676757e3
CI: Add OTP 26.0-rc1 to the test matrix
...
But disable dialyzer in 26, as it complains verbosely without reason
2023-03-07 13:11:22 +01:00
Badlop
1c82daacb2
CI: Upload Common Test logs as artifact in case of failure
2023-03-07 13:11:21 +01:00
Badlop
9f0a5c5ef0
CI: Produce less verbose logs for tests
...
This gets a line first introduced in 5b5548b8c
that was lost later
2023-03-07 13:11:19 +01:00
Badlop
9bb86132c6
CI: Use default verbosity to let log files contain XMPP stanzas
...
This partially reverts 2a7780507
2023-03-07 13:11:17 +01:00
Badlop
0def333550
Fix Remark-lint warnings
2023-02-21 18:14:02 +01:00
dependabot[bot]
d504ed8a9b
Container: Bump docker/build-push-action from 3 to 4
...
Bumps [docker/build-push-action](https://github.com/docker/build-push-action ) from 3 to 4.
- [Release notes](https://github.com/docker/build-push-action/releases )
- [Commits](https://github.com/docker/build-push-action/compare/v3...v4 )
---
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>
2023-02-21 18:13:15 +01:00
Stu Tomlinson
cbbf85c555
Add support for running tests on MS SQL
2023-01-21 15:42:43 +00:00
Stu Tomlinson
56e974ab80
Add ability to run tests on upgraded DB
...
To test update_sql operation and functionality of resulting DB:
1. Load original schema to DB
2. Set {update_sql, true} in suite.erl
3. Run tests
2023-01-21 15:42:43 +00:00
Badlop
21c0aaf417
Container: Replace set-output command with environment file
...
Announced in:
https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
2023-01-16 15:10:28 +01:00
Badlop
ce10bed5d8
Container: Update Alpine to 3.16, the latest one cached in Github Actions
2023-01-16 15:10:27 +01:00
Badlop
17160e9379
Container: Update Actions versions as requested by GitHub Actions
2022-12-22 14:00:36 +01:00
Badlop
fe8b98a1f3
When using erlef, Erlang/OTP 21 is only available in ubuntu 20.04
...
See
https://github.com/erlef/setup-beam#compatibility-between-operating-system-and-erlangotp
2022-12-13 23:57:31 +01:00
Badlop
a193128543
Fix path where gem is installed and fpm can be found
2022-12-13 23:24:01 +01:00
Badlop
196eca2dc4
Runtime: Add Elixir 1.14 to the test matrix
2022-11-14 18:45:17 +01:00
Badlop
5ee1dc9e8d
Container: Support ERL_DIST_PORT
2022-09-13 17:55:17 +02:00
Badlop
a564707da4
Container: Get ejabberd-contrib sources to include them
2022-09-13 17:55:12 +02:00
Badlop
d0bc83147a
Container: Copy .ejabberd-modules directory if available
2022-09-13 17:55:11 +02:00
Badlop
c496baaf87
Container: Don't complain if the bin/ directory already exists
2022-09-07 13:59:20 +02:00
Badlop
14cced0bad
Container: No need to search for the ejabberdctl binary
2022-09-07 13:58:56 +02:00
Roman Hargrave
f542a82309
feat: do not clone repo inside container build
2022-09-07 10:57:55 +02:00
Badlop
9a3ba9d76f
Update Github Action workflows: Ubuntu 18 is deprecated and 22 is added
...
CI:
- Update Ubuntu to 20.04, the lowest available starting in April 2023 [1]
- Don't test 19.3, as it isn't available in Ubuntu 20.04
- Use OTP 25 for Shellcheck, Coveralls, ECIL page
- Use erlef instead of ErlGang, supports better old erlangs in new ubuntus
- Remove support for rebar2 testing, as that's done in Runtime
CI-19.3:
- Add a temporary workflow for testing ejabberd with OTP 19.3
Container and Runtime:
- Update Ubuntu to latest (22.04)
[1] https://github.com/actions/runner-images/issues/6002
https://github.com/ErlGang/setup-erlang
https://github.com/erlef/setup-beam
2022-09-06 13:33:58 +02:00
Badlop
c2cd592eff
Update documentation to reflect the GHCR image usage
2022-08-08 12:31:18 +02:00
Badlop
f080aa5fd9
Apply the minimal changes required to use the GHCR image
2022-08-08 12:31:16 +02:00
Badlop
682c258760
Copy ejabberd-docker-install.bat from docker-ejabberd git and rename it
2022-08-08 12:31:14 +02:00
Badlop
a798a21386
CI: Remove syntax_tools from applications, as fast_xml fails Dialyzer
2022-08-04 12:05:46 +02:00
Mark Zealey
555ff2db4c
Add log_burst_limit_* options ( #3865 )
...
* Add log_burst_limit_* options
On our ejabberd deployment we were sometimes seeing more than 500
msgs/sec of legitimate traffic, however this was getting silently
dropped. Provide config options to enable this limit to be configured
from the config file.
* Pass new logging vars in via ejabberdctl
2022-08-01 12:07:54 +02:00
Badlop
853f35c706
Remove nginx and libgd3, so the proper versions can be installed
2022-07-26 15:42:13 +02:00
Badlop
382c3836af
Runtime: Add Xref options to be as strict as CI
2022-06-12 13:08:29 +02:00
Badlop
6d39af7dd6
Runtime: No need for a specific mix erlang 25 job
2022-06-12 13:08:27 +02:00
Badlop
a30d8c718f
Update workflows to Erlang 25
2022-06-12 13:08:24 +02:00
Badlop
a6101cc26d
Container: Set a less frequent healthcheck to reduce CPU usage ( #3826 )
2022-06-09 12:34:44 +02:00
Badlop
06a2b1c671
Container: Support to pass a fork repository as argument
2022-06-09 11:57:49 +02:00
Badlop
26e6bb4a17
Use "make deps", which performs additional steps ( #3823 )
2022-05-23 13:58:41 +02:00
Holger Weiss
8addf96f9e
make-binaries: Bump dependency versions
2022-05-12 01:02:33 +02:00
Badlop
024ad02169
Revert "Temporary workaround to provide a 22.05 tagged container"
...
This reverts commit 3449621ccc
.
2022-05-06 17:58:58 +02:00
Badlop
3449621ccc
Temporary workaround to provide a 22.05 tagged container
2022-05-06 17:30:26 +02:00
Badlop
e5782a519a
Use alternate method to get priv/ path when copying captcha scripts
2022-05-06 17:30:24 +02:00
Badlop
fbeaa2e03a
Remove dependabot because it gets fired in forks too
2022-05-06 17:30:21 +02:00
Badlop
49ecddc646
Dependabot: Detect updates in docker, actions and mix
2022-05-04 18:01:26 +02:00
Badlop
fad5406348
Container: Build containers also for linux/arm64
2022-05-04 18:00:58 +02:00
Badlop
6e4079586a
Installers: Add job to create draft release
2022-05-04 02:39:23 +02:00
Badlop
d0bca94638
Installers: update workflow name
2022-05-04 02:39:19 +02:00
Badlop
0302d1615b
Packages: Rename workflow file to Installers
2022-05-04 02:39:17 +02:00
Holger Weiss
65437d08ef
make-binaries: Update to Crosstool-NG 1.25.0-RC2
...
Update Crosstool-NG to the current release candidate, and use much
shorter "defconfig" files for specifying the configuration.
2022-05-04 00:30:36 +02:00
Holger Weiss
87995a57de
Add GitHub Action to build binary packages
...
Publish DEB and RPM packages as well as binary installers for each
commit that modifies source code. This allows for testing development
code, and makes sure that problems with building binary packages are
noticed early on.
2022-05-04 00:30:36 +02:00