Commit Graph

142 Commits

Author SHA1 Message Date
Ivan Dyachkov 739455d844 ci: test docker images and packages in the same way 2023-02-17 17:42:46 +01:00
Ivan Dyachkov b90d371836 ci: export docker image in build-slim-packages 2023-02-17 16:43:49 +01:00
Ivan Dyachkov 202f6d0181 ci: stop building alpine docker image 2023-02-09 14:19:35 +01:00
Zaiming (Stone) Shi 2416aeebc7 build: allow user-specified image tag for make docker build 2023-01-24 20:35:02 +01:00
Zaiming (Stone) Shi b80325f988 build: delete rebar.lock before making rebar release 2023-01-09 14:06:08 +01:00
Ivan Dyachkov eaf2a0bdfd chore: fail build if apple notarization failed 2022-12-17 12:00:07 +01:00
Zaiming (Stone) Shi 09455edae8 Merge tag 'v5.0.10' into dev/ee5.0 2022-11-16 16:20:30 +01:00
Thales Macedo Garitezi 4e2aba33aa feat(mix): set `snk_kind` from `$kind` to `msg` in Mix build
Log before:

```
2022-09-26T15:51:30.982183-03:00 [warning] '$kind': last_will_testament_publish_denied, clientid: myclient, line: 2132, mfa: emqx_channel:publish_will_msg/2, peername: 127.0.0.1:35228, topic: $SYS/lwt
```

Log after:

```
2022-09-26T16:25:50.799914-03:00 [warning] clientid: myclient, line: 2132, mfa: emqx_channel:publish_will_msg/2, msg: last_will_testament_publish_denied, peername: 127.0.0.1:47080, topic: $SYS/lwt
```
2022-09-26 16:26:16 -03:00
Shawn 4135910b42 chore: merge master into dev/ee5.0 2022-09-26 09:52:33 +08:00
Ivan Dyachkov 501667dc1f chore: skip signing macos binaries when dev cert of pw are not set 2022-09-15 10:27:09 +02:00
Zaiming (Stone) Shi 4534966e36 Merge remote-tracking branch 'origin/master' into dev/ee5.0 2022-09-13 12:16:54 +02:00
Ivan Dyachkov 7cfca31aaf build: sign binary files in macos package 2022-09-12 21:50:00 +02:00
Thales Macedo Garitezi 7898867c68 chore(mix): guard enterprise-only dependencies
Avoid downloading enterprise-only dependencies in community edition.
2022-09-08 14:56:03 -03:00
Zaiming (Stone) Shi 85cb552e53 chore: ensure no 'find' command error
the _upgrade_base dir must exist
2022-09-06 18:58:35 +02:00
Xinyu Liu 84a8f8b218
Merge branch 'dev/ee5.0' into copy-of-master 2022-08-15 21:46:42 +08:00
Zaiming (Stone) Shi f7d3f13dab build: fix profile check in build script 2022-08-15 09:08:59 +02:00
Shawn b3162fe5ff fix: conflicts between master and ee5.0 2022-08-14 22:24:09 +08:00
Zaiming (Stone) Shi c93829c784 build: pass build profile as environment variable 2022-08-13 19:09:41 +02:00
Zaiming (Stone) Shi fbb97b16be ci: test all apps with dual profile
no need to test emqx-enterprise profile if the
EMQX_RELEASE_EDITION compilation flag is not used though
2022-08-12 16:21:22 +02:00
Zaiming (Stone) Shi c82a05a0e7 refactor(Makefile): support download enterprise dashboard download 2022-08-12 14:36:31 +02:00
JimMoen 10b19acd35 chore: module and fun call rename 2022-08-02 16:59:56 +08:00
ieQu1 5a7d0fff88 fix(windows): Build without rocksdb on windows 2022-07-27 17:04:34 +02:00
Zaiming (Stone) Shi 73f49ca6e5 refactor: move inject-relup.escript to a sub-dir 2022-07-01 07:43:03 +02:00
Zhongwen Deng 92019e4d4c chore: don't copy i18n.conf 2022-07-01 09:33:35 +08:00
Zaiming (Stone) Shi b467e11b2e fix(appup): fixed appup and version check scripts for 5.0 2022-06-20 22:20:31 +02:00
Zaiming (Stone) Shi c76d5c0181 build(mix): copy generated docs to release 2022-06-12 21:18:00 +02:00
Zaiming (Stone) Shi 265c3303d9 build: build docs in a separate step
prior to this commit, docs are built as a rebar3 post-compile hook
and the docs are generted directy into the _build dir.

the advanage was: so there is no need for a separate step to
build docs.
however this giving makeing Elixir build a hard time.

With this change, the steps are moved to build script
* compile
* make_docs
* assemble release
2022-06-12 19:16:46 +02:00
Rory Z d5704c2c48 build(docker): change docker base image to debian, and add new tag for alpine image 2022-06-07 06:15:15 +02:00
Zaiming (Stone) Shi 1492fa72ec build: use /usr/bin/tar in windows build 2022-05-28 11:57:28 +02:00
Zaiming (Stone) Shi ebe4d7c3fb refactor: stop releasing edge edition
Prior to EMQX 5.0, the edge edition's main difference comaring
to standard edition are:
* Less number of plugins in the release (smaller package size)
* Smaller number is vm.args (for lower memory usage)

Starting from 5.0 most of the plugins are included as features,
the tuned vm.args arguments does not justify a special release edition.

Also as nanomq is getting mature,
EMQ's recommendtation for MQTT broker in edge is https://nanomq.io/
2022-05-26 20:05:46 +02:00
Shawn 3d7cab4288 fix: porting emqx_relup.erl from 4.4 2022-05-25 12:37:03 +08:00
Shawn 40ad23ee74 fix(relup): create tmp dir to preserve current files 2022-05-25 11:12:13 +08:00
Shawn eea9bd90b4 fix: remove the extra level of 'emqx' dir from .tar.gz 2022-05-25 02:00:01 +08:00
Zaiming (Stone) Shi ce902b5405 refactor(bin/emqx): speed up boot
The main slow-down is the overheads of booting up beam with the
'start_clean' boot file (which loads all modules).

Prior to this change, beam is started multiple times in order to
resolve configuration values.

After this change:
* For boot commands such as 'start', 'console' and
  'foreground', it starts beam twice:
  - 1st is to check platform compatibility
  - 2nd is to resolve all configs required for boot in a batch
* For non-boot commands, such as 'ctl' and 'ping', it does not
  require to start beam for config resolution at all
2022-04-22 11:35:50 +02:00
Zhongwen Deng 700c2cfb39 feat: move *i18n.conf from etc to i18n dir 2022-04-15 10:43:37 +08:00
Zaiming (Stone) Shi 822a4f9f73 feat: parameterise EMQX_ETC_DIR
both at build time and at runtime
2022-04-05 16:36:13 +02:00
ieQu1 fff6bffa0c docs(schema): Add descriptions of the records 2022-03-29 14:09:32 +02:00
ieQu1 aecfa77985 chore(hocon): Bump version 2022-03-29 14:09:32 +02:00
Zaiming (Stone) Shi b49df4599a build: use latest builder images (alpine 3.15.1)
OpenSSL-1.1.1n
2022-03-25 07:38:39 +01:00
Zaiming (Stone) Shi 4e64010a3b build: more structured build info 2022-03-02 21:22:03 +01:00
Thales Macedo Garitezi c9058121a1
chore: add gpb check to elixir build 2022-03-02 14:57:39 -03:00
Zaiming (Stone) Shi d029a73b99 refactor: make release edition static info at compile time 2022-02-28 16:37:47 +01:00
Zaiming (Stone) Shi b68cb96bd2 refactor: make pkg-vsn.sh able to report both short and long version 2022-02-26 01:38:10 +01:00
Zaiming (Stone) Shi 2d3859a79a build: get full version from pkg-full-vsn.sh
this is due to the mapping of :
centos7 -> el7
and rockylinux8 -> el8

with this fix, there is no need to repeat such mapping
in many differennt places
2022-02-25 11:33:01 +01:00
Zaiming (Stone) Shi fa91c7491f build: rockylinux 2022-02-25 09:09:30 +01:00
Zaiming (Stone) Shi a4e48b197c build: create sha256 sum right after package is built 2022-02-22 22:33:33 +01:00
zhanghongtong 093e7c3282 build(relup): add new script for download relup base packages 2022-02-16 18:23:02 +01:00
Zaiming (Stone) Shi 2e94880bb6 docs: More EMQ X -> EMQX rename in descriptive strings 2022-02-15 22:39:11 +01:00
Thales Macedo Garitezi 9021b7e9b8
fix(mix): set enterprise compile flag 2022-02-04 14:17:53 -03:00
Thales Macedo Garitezi 88ae489219
fix(mix): set `emqx_vsn` compile info
Currently, `emqx_release.erl` depends on the `erl_opts` option
`compile_info` being set by Rebar3 to include `{emqx_vsn, $PKG_VSN}`
to report the version, for instance, in `emqx ctl status`.

Since Mix does not provide a simple way to pass `erl_opts` to Rebar3
dependencies without creating a `mix.exs` file, the workaround is to
set the environment variable `ERL_COMPILER_OPTIONS` to include that
value before invoking the Erlang compiler on the Rebar3 dependencies.
2022-02-03 17:31:47 -03:00
William Yang 5c36143186 ci: remove centos8 support
due to centos8 EOL
2022-02-01 15:22:41 +01:00
Zaiming (Stone) Shi 507952c473 feat: dump schema json file to dashbarod static dir 2022-01-31 16:38:41 +01:00
Thales Macedo Garitezi a597e92576
chore(mix): use MIX_ENV to define build profile and edition 2022-01-28 17:24:35 -03:00
Thales Macedo Garitezi 9c68f4bd11
fix(tgz): replace zip with tgz after rebase 2022-01-26 16:59:49 -03:00
Thales Macedo Garitezi 59f0d5f537
chore(mix): use flag instead of elixirpkg to denote package type
Also, add Makefile target to build zip files with Elixir.
2022-01-26 16:59:49 -03:00
Thales Macedo Garitezi ba6d4e4a19
fix(ci): raspbian arch is arm, not arm64 2022-01-26 16:59:49 -03:00
Thales Macedo Garitezi 6dd11665bb
ci(mix): build emqx packages with elixir 2022-01-26 16:59:48 -03:00
Zaiming (Stone) Shi f3fe3db771 build: fix shellcheck 2022-01-26 14:25:59 +01:00
Zaiming (Stone) Shi 391e480824 build: parameterise package version
so that community and enterprise edition can be built from the
same branch
2022-01-26 14:25:59 +01:00
Zaiming (Stone) Shi dcb7977338 feat: show config doc in dashboard 2022-01-14 11:56:10 +01:00
Zaiming (Stone) Shi 638a9d1af7 build: change to build .tar.gz instead of zip 2022-01-13 18:54:01 +01:00
Zaiming (Stone) Shi 3643a55c10 build: copy libatomic 2022-01-13 13:20:01 +01:00
Zaiming (Stone) Shi b2684b995d build: doc for win 2022-01-10 12:30:01 +01:00
Zaiming (Stone) Shi 68eb13d478 fix: portable shebang 2021-12-27 15:45:12 +01:00
Zaiming (Stone) Shi a1ad6098b3 build: generate document to dashboard priv dir 2021-12-06 08:52:10 +01:00
Zaiming (Stone) Shi bfc36efa0e fix: pin hocon 0.21.1 2021-12-06 08:00:37 +01:00
Zaiming (Stone) Shi 682b672b87 build: rebar3 no need to release before tar 2021-11-30 17:57:58 +01:00
Zaiming Shi e2d7ff2b0f build: rename emqx-ee to emqx-enterprise 2021-11-29 14:53:47 +01:00
Zaiming Shi 79d9f55dd6 build: copy only libcrypto and libtinfo 2021-11-22 15:46:38 +01:00
Zaiming Shi a705bc1fc7 build: change package name scheme
`${PROFILE}-${PKG_VSN}-otp${OTP_VSN}-${SYSTEM}-${ARCH}.zip`
2021-11-20 20:44:48 +01:00
Zaiming Shi fdc4bb06d3 build: copy dynamic libs for zip package 2021-11-08 17:16:05 +01:00
zhanghongtong f817ba0075 chore(CI): rename image 2021-10-22 13:40:01 +08:00
zhanghongtong ece97aa679 chore(CI): fix build docker error 2021-10-22 13:40:01 +08:00
zhanghongtong b2d80125b6 build(docker): use ghcr image for build docker 2021-10-22 13:40:01 +08:00
zhongwencool d784e63b9f
emqx_conf (#5939)
* feat(emqx_conf): move conf manager for emqx_machine to emqx_conf

* chore(emqx_conf): change emqx:get_config/2 to emqx_conf:get/2

* fix: common test failed

* fix: badmatch by typo wrong key

* fix(emqx_conf): get the wrong core nodes

* fix(emqx_conf): get core node's tnx_id not latest tnx_id

* fix: add ro_transation when copy conf file

* fix: delete debug info

* fix: change ekka_rlog to mria_rlog

* fix: remove cluster_rpc from emqx_machine.

* fix: don't call ekka:start/0 explicitly

* fix: ekka should be start in emqx_machine
2021-10-21 18:08:51 +08:00
zhanghongtong f091858a27 chore(CI): add macos 11 for build workflows
Signed-off-by: zhanghongtong <rory-z@outlook.com>
2021-09-26 12:33:59 +08:00
Zaiming Shi 9430f70dd8 chore(build): directly generate doc from build script 2021-09-10 07:28:12 +02:00
Zaiming Shi cca3a4414f fix(bin/emqx): do not try to find vm.args file for cold_eval 2021-09-10 07:28:12 +02:00
Zaiming Shi 01166a8bfb feat(schema): generate document when building the release 2021-09-10 07:27:02 +02:00
Zaiming Shi 5602cfc223 chore(build): ensure no gpb in release 2021-09-08 21:04:56 +02:00
zhanghongtong 41f2b77ec3 chore(CI): update workflows
Signed-off-by: zhanghongtong <rory-z@outlook.com>
2021-08-24 15:04:27 +08:00
zhanghongtong b69059d442 build: easier build docker
Signed-off-by: zhanghongtong <rory-z@outlook.com>
2021-08-04 09:31:02 +08:00
Zaiming Shi 5be3288cff fix(build): fix relup base version grep pattern 2021-07-26 09:11:48 +08:00
Zaiming Shi d7ed66f234 build: do not allow user override PKG_VSN
We have an assertion in code, allowing user to override
will compile but not run.
2021-06-22 18:56:31 +08:00
zhanghongtong 934d3c405d chore(CI): update build workflows 2021-05-08 13:57:02 +08:00
Zaiming Shi 1ddcffa32d build: zip for macos
previsouly zip was built before pkg (as makefile dependency)
since pkg's only depend on rebar3 release tarball (not .zip)
makefile was updated but forgot to update the pkg build for macos
2021-05-07 22:40:25 +02:00
zhanghongtong 6595d53962 build(relup): update build script for support relup 2021-05-07 21:25:10 +02:00
Zaiming Shi 396cae26fe build: fix build order of release and relup 2021-05-07 17:58:32 +08:00
zhanghongtong 622edcd536 chore(CI): rename arch package name 2021-03-23 19:49:54 +08:00
Zaiming Shi 73500a0983 chore(build): inject product description from makefile 2021-03-06 08:41:50 +01:00
Yudai Kiyofuji aadd1ba11a
add shellcheck to ci (#4126)
* chore(shell): disable some shellcheck

* refactor(shell): fix shellcheck

* test(ci): add shellcheck
2021-02-04 16:51:48 +09:00
Zaiming Shi 1236c1934c chore(build): refine packages builds
This commit merge packages.mk into Makefile
with the complex part moved to shell script ./build.
2020-12-16 09:22:47 +01:00