Commit Graph

642 Commits

Author SHA1 Message Date
Zaiming (Stone) Shi
f785da075b ci: only start required docker for integration tests 2022-09-06 19:25:53 +02:00
JimMoen
d4785553b9
Merge pull request #8872 from JimMoen/fix-mqtt-bridge-fields
Fix mqtt bridge fields.
 - Show ssl file path in Dashboard.
 - MQTT bridge `payload` field not required.
merge `v5.0.7` into `master`.
2022-09-05 09:46:45 +08:00
Ivan Dyachkov
a7128dc997 build: make clean 2022-09-02 13:52:55 +02:00
JimMoen
98cc018a88 chore: update dashboard for e5.0 2022-09-02 13:51:36 +08:00
JimMoen
512e1571ad chore: update dashboard vsn 2022-09-01 17:34:37 +08:00
Zaiming (Stone) Shi
5a3fb4a011 Merge remote-tracking branch 'origin/master' into dev/ee5.0 2022-08-31 17:11:15 +02:00
JimMoen
d436d8d015 chore: update dashboard for e5.0 2022-08-26 18:13:14 +08:00
JianBo He
97b9d378a5 Merge tag 'v5.0.6' into merge-506-to-master 2022-08-23 09:08:55 +08:00
JianBo He
951aa4076f fix: upgrade dasbhaord vsn
Due to we changed the `node_status` of `/nodes` API in #8642,
however, we did not update the correct dashboard version in v5.0.5.

So, we release v5.0.6 to fix this issue
2022-08-22 12:20:04 +08:00
Zaiming (Stone) Shi
9346d5d0fd ci: generate per-profile coverdata 2022-08-14 19:07:40 +02:00
Zaiming (Stone) Shi
b8d5ec47f7 fix(Makefile): make use of the FORCE target 2022-08-12 16:21:22 +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
Zaiming (Stone) Shi
c246e758be refactor(Makefile): always execute prepare-build-deps script 2022-08-12 13:19:12 +02:00
JimMoen
c1b951cc43 chore: update ce-dashboard vsn 2022-08-12 17:55:26 +08:00
JianBo He
be679f8128
Merge pull request #8589 from emqx/release-v5.0.4
Merge v5.0.4 into master branch
2022-07-29 08:49:10 +08:00
JianBo He
b780d944ab chore: update dashboard vsn to v1.0.5 2022-07-28 13:39:32 +08:00
Thales Macedo Garitezi
9cb37e06a2 ci: add mix format to make fmt 2022-07-27 16:36:03 -03:00
Zhongwen Deng
56417a3130 feat: list rules support for pagination and fuzzy filtering 2022-07-25 09:36:08 +08:00
Zhongwen Deng
29ea316291 chore: upgrade dashboard to v1.0.3 2022-07-15 15:24:15 +08:00
Zaiming (Stone) Shi
0f18381719 refactor: move scripts/relup-base-packages.sh to sub-dir 2022-07-01 07:43:03 +02:00
JimMoen
0c47a6b1cf chore: update dashboard tag v1.0.2 2022-06-30 17:32:24 +08:00
Zaiming (Stone) Shi
d3f8ebd10f ci: fix relup test workflow and upgrade builder to 5.0-17
builder 5.0-17 has emqtt-bench and lux included
so we do not need to rebuild the software for each ci job
2022-06-27 12:06:13 +02:00
JianBo He
be034d5a53 chore: upgrade dashboard to v1.0.0 2022-06-17 12:00:22 +08:00
Zaiming (Stone) Shi
50b4d95b02 build: ensure download quic pre-built package for EMQX build 2022-06-16 12:20:37 +02:00
Zaiming (Stone) Shi
022ec06bb9
Merge pull request #8187 from zmstone/0611-copy-example-configs-to-etc-elixir
mix build: release example configs
2022-06-13 13:51:52 +01:00
JianBo He
41bc9fd4b9 chore: update dashboard to v0.36.0 2022-06-13 09:18:48 +08: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
Zaiming (Stone) Shi
7019efa2a0 build: copy example config to etc dir 2022-06-10 13:57:43 +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
fc4d9e4dcd ci: use emqx-builder 5.0-16
Fixed openssl compatibility issue
2022-06-06 10:54:26 +02:00
Zhongwen Deng
fe5998d773 chore: bump dashboard to v0.35.0 2022-05-31 19:20:27 +08:00
Shawn
3385a8af75 chore: pin dashboard v0.34.0 2022-05-30 11:18:59 +08: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
5d65bdaa47 chore: ping emqx-builder to 5.0-15 2022-05-16 18:10:42 +08:00
DDDHuang
5ebc034bcf feat: dashboard new version 2022-05-13 14:14:02 +08:00
ieQu1
ace6ad25e9 fix(bpapi): Compile the code in check profile before running xref 2022-05-12 11:30:05 +02:00
Zaiming (Stone) Shi
f50fcf9f4e chore: delete per-app format scripts
Now that all apps are formated, we no longer need per-app format script
2022-05-11 09:15:32 +02:00
JianBo He
a793b184c2
Merge pull request #7895 from HJianBo/update-dashboard-vsn
chore: update dashboard to v0.32.
2022-05-09 09:21:50 +08:00
Shawn
d80b7c720b chore: check dependenies before building on Mac OSX 2022-05-07 22:16:44 +08:00
JianBo He
2f8e0684e4 chore: update dashboard to v0.32. 2022-05-07 19:21:58 +08:00
Kjell Winblad
74c33cd4e5 feat(rule_engine): add jq function to the rule engine
This commit adds a function to the rule engine that alows users
to transform text or JSON objects using [jq filter programs][1].

[jq][1] is a command line tool that can be used to transform
and filter JSON text using jq's built-in language. The rule engine
function that is added with this commit uses the
[Erlang jq NIF library][2] that wraps the jq C library in an
Erlang NIF function.

[1]: https://stedolan.github.io/jq/
[2]: https://github.com/emqx/jq
2022-05-04 17:09:16 +02:00
JianBo He
b0e1c5b9d2 chore: update dashboard to v0.31.0 2022-04-29 15:00:05 +08:00
Shawn
b05b77bcbc chore: port ensure-rebar3.sh from 4.x 2022-04-28 19:28:29 +08:00
Zhongwen Deng
52552c432c chore: upgrade dashboard to v0.30.0 2022-04-22 18:02:02 +08:00
JimMoen
216fba5a03 chore: update dashboard version 2022-04-18 16:46:13 +08:00
Zhongwen Deng
164754b182 test: dashboard ct failed with lack i18n_lang 2022-04-15 12:04:01 +08:00
Zhongwen Deng
630cc8ee34 feat: support i18n with desc struct. 2022-04-15 08:42:13 +08:00
Thales Macedo Garitezi
2305d90775
Merge pull request #7582 from thalesmg/port-44-license-parser
feat(license): port 4.4 parser to 5.0
2022-04-11 13:31:44 -03:00
Thales Macedo Garitezi
3ae378e717
chore: enable easy printing ct logs during dev 2022-04-08 15:58:35 -03:00
JimMoen
5a2299053f chore: update dashboard for 5.0 2022-04-08 18:28:28 +08:00
Thales Macedo Garitezi
ca25053cd5
fix: add common dependencies to %-pkg target in makefile
On a fresh clone, this will setup rebar, the dashboard and merge the
configs.
2022-03-28 11:40:27 -03:00
Xinyu Liu
9a4a8ec022
Merge pull request #7417 from JimMoen/update-dashboard
chore(dashboard): update dashboard version
2022-03-25 17:28:00 +08:00
JimMoen
520d0c862d chore(dashboard): update dashboard version 2022-03-25 15:43:19 +08: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
Zhongwen Deng
88e0c4067f fix: api_plugins common test failed bump dashboard to v0.25.0. 2022-03-21 17:56:22 +08:00
Zaiming (Stone) Shi
f9aba61dbb ci: run ct in concurrent jobs 2022-03-15 20:40:22 +01:00
Zaiming (Stone) Shi
a1e7ece192 chore: use app name for coverdata name when running per-app ct 2022-03-15 15:36:44 +01:00
Shawn
9db21acc96 chore: pin dashboard v0.23.0 2022-03-11 20:16:42 +08:00
Zaiming (Stone) Shi
bed3c8bc51 build(Makefile): app ct should produce coverdata 2022-03-09 13:05:51 +01:00
Thales Macedo Garitezi
1f59154dca
fix(elixir): add common target dependencies for %-elixir-pkg
For installing Hex/Rebar and downloading dependencies on a fresh
clone.
2022-03-03 13:56:30 -03:00
Zaiming (Stone) Shi
0f93c23936
Merge pull request #7186 from zmstone/structured-build-info
build: more structured build info
2022-03-02 23:58:08 +01:00
Zaiming (Stone) Shi
e6495f4300 ci: upgrade emqx-builder to 5.0-8:1.13.3-24.2.1-1 2022-03-02 21:57:26 +01:00
Zaiming (Stone) Shi
4e64010a3b build: more structured build info 2022-03-02 21:22:03 +01:00
JianBo He
612611c954 chore: update dashboard vsn to 0.21.0 2022-03-02 10:48:39 +08: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
Thales Macedo Garitezi
8cac5f6b39
chore(ci): update emqx-builder image
Uses Elixir 1.13.3 and OTP 24.2.1-1.
2022-02-23 15:00:07 -03:00
JianBo He
ffacfe9664 chore: update dashboard to 0.20.0 2022-02-22 15:42:39 +08:00
zhanghongtong
093e7c3282 build(relup): add new script for download relup base packages 2022-02-16 18:23:02 +01:00
JimMoen
2a1fba97da test(auth): resource use connector provided default port 2022-02-15 10:41:26 +08:00
JianBo He
c6c6b7af89 chore: upgrade dashboard to v0.19.0 2022-02-14 17:37:33 +08:00
Zaiming (Stone) Shi
c643db6bca build: move otp version check to rebar.config.erl 2022-01-31 16:39:14 +01:00
Zaiming (Stone) Shi
4fe7b93c43 build(Makefile): define Makefile vars before use 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
506dad169a
chore(elixir_otp): bump emqx-builder images 2022-01-26 16:59:50 -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
3ec7d9ae24
chore(ci): use new tagged image with elixir 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
a91880780a
chore(elixir): change image/package versioning convention
We now go from "most specific" to "most general" versions: Elixir ->
OTP -> OS.
2022-01-26 16:59:48 -03:00
Thales Macedo Garitezi
bc498a8041
ci(mix): add fvt tests and docker images with elixir 2022-01-26 16:59:48 -03:00
Thales Macedo Garitezi
6dd11665bb
ci(mix): build emqx packages with elixir 2022-01-26 16:59:48 -03: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
k32
bdc6d18589 feat(bpapi): Version negotiation 2022-01-26 11:59:21 +01:00
Zaiming (Stone) Shi
dcb7977338 feat: show config doc in dashboard 2022-01-14 11:56:10 +01:00
Zaiming (Stone) Shi
bf334fecb8
Merge pull request #6726 from zmstone/refactor-build-tar-gz-instead-of-zip
refactor: build tar gz instead of zip
2022-01-13 22:29:35 +01:00
k32
aa54c6135b fix(bpapi): Move static checks to test directory 2022-01-13 20:58:33 +01:00
Zaiming (Stone) Shi
638a9d1af7 build: change to build .tar.gz instead of zip 2022-01-13 18:54:01 +01:00
k32
b2b6cff469 revert(makefile): Remove lightweight dialyzer target 2022-01-12 15:40:44 +01:00
k32
6a1ada8623
Merge pull request #6691 from k32/bpapi-run-check
test(bpapi): Run static checks in CI
2022-01-11 13:25:06 +01:00
k32
26f4b2495b test(bpapi): Run verification in CI 2022-01-11 11:26:35 +01:00
William Yang
202e23987d
Merge pull request #6677 from qzhuyan/dev/william/add-light-dialyzer-check
chore: add light dialyzer make target
2022-01-11 09:39:58 +01:00
Zaiming (Stone) Shi
b2684b995d build: doc for win 2022-01-10 12:30:01 +01:00
William Yang
0d37ee9588 chore: add light dialyzer make target
for low mem dev machines
2022-01-07 11:09:17 +01:00
JimMoen
9a115b99a4 Merge remote-tracking branch 'emqx/release-5.0-beta.3' into merge-5.0-beta.3-to-master 2022-01-06 14:08:45 +08:00
JimMoen
2c1f4d4860 chore(dashboard): update dashboard version to v0.17.0 2022-01-05 12:52:26 +08:00
Zaiming (Stone) Shi
05ccedd8ec Merge remote-tracking branch 'origin/master' into merge-5.0-beta.3-to-master 2022-01-04 17:32:50 +01:00
Zaiming (Stone) Shi
3c79966d8b build: remove 'compile' step before 'release'
'compile' is implict dependent step for 'release'
2022-01-04 14:47:17 +01:00
JimMoen
54ec3009ee chore(dashboard): update dashboard version to v0.16.0 2022-01-04 17:23:54 +08:00
JimMoen
d627d9e69e chore(dashboard): update dashboard version to v0.14.0 2021-12-30 23:05:54 +08:00
JimMoen
e2804ab29d chore(dashboard): update dashboard version, ignore v0.9.0 2021-12-23 09:25:58 +08:00
JimMoen
2130d5ca8e chore(dashboard): update dashboard version 2021-12-23 09:25:58 +08:00
zhouzb
bac2fa6905 chore(dashboard): update dashboard version 2021-12-20 15:24:49 +08:00
JimMoen
7c8e452a3c chore(dashboard): update dashboard version 2021-12-17 10:54:50 +08:00
JimMoen
257ee19be5 chore(dashboard): change dashboard repo and version 2021-12-09 11:31:31 +08:00
Zaiming (Stone) Shi
34d3a73ff3 test: force segment er-merge before any ct 2021-12-06 08:00:42 +01:00
Zaiming Shi
e2d7ff2b0f build: rename emqx-ee to emqx-enterprise 2021-11-29 14:53:47 +01:00
Zaiming Shi
9496c76fe8 build(Makefile): find command's -delete option instead of xargs rm 2021-11-20 21:44:37 +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
25d6a98aa4 build: get otp version and export OTP_VSN 2021-11-20 20:44:48 +01:00
Zaiming Shi
204a80697f build: add emqx-ee and emqx-ee-pkg targets 2021-11-20 20:44:48 +01:00
Tobias Lindahl
48c7788d6f
Merge pull request #5875 from emqx/extend-persistent-sessions
Extend persistent sessions
2021-10-27 09:12:13 +02:00
JimMoen
ba146c8a46 chore(dashboard): update version for dashboard 2021-10-22 17:34:28 +08:00
Tobias Lindahl
566f24e5d8 test: add make target for running isolated test suites 2021-10-21 15:23:21 +02: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
JimMoen
623cd5f528 chore(dashboard): update version for dashboard 2021-10-15 18:59:58 +08:00
zhanghongtong
c944e36085 build: update dashboard version 2021-09-30 15:36:54 +08:00
JimMoen
0d16873175 chore(dashboard): update version for dashboard 2021-09-27 10:03:03 +08:00
JimMoen
22e8c83a52 chore(dashboard): update version for dashboard 2021-09-23 18:53:49 +08:00
zhouzb
1881c7a162 chore(dashboard): update version for dashboard 2021-09-10 18:30:25 +08:00
DDDHuang
455baa5465 feat: dashboard UI version, beat 11 2021-09-07 08:28:36 +08:00
DDDHuang
8f6931e5b0
feat: update dashboard ui beta10 (#5644) 2021-09-03 16:07:44 +08:00
Turtle
f482ff8116 fix(dashboard): Update dashboard version to 5.0-beta.9 2021-08-27 21:18:29 +08:00
Turtle
5a0516735f fix(dashboard): Update dashboard version to 5.0-beta.8 2021-08-27 20:38:34 +08:00
Turtle
56f7d64d79 fix(dashboard): Update dashboard version to 5.0-beta.7 2021-08-27 20:38:34 +08:00
Turtle
765c730b92 fix(dashboard): Update dashboard version to beta.6 2021-08-27 13:46:53 +08:00
Turtle
88eb4aee64 chore(Dashboard): Update dashboard tag 2021-08-13 16:57:38 +08:00
Turtle
60171d184f chore(dashboard): upgrade dashboard tag to v5.0.0-beta.4 2021-08-10 17:58:42 +08:00
zhanghongtong
b69059d442 build: easier build docker
Signed-off-by: zhanghongtong <rory-z@outlook.com>
2021-08-04 09:31:02 +08:00
Turtle
32534d2372 chore(dashboard): update get-dashboard script 2021-08-03 17:21:01 +08:00
Zaiming Shi
eb88d3591c chore: pin rebar3 3.16.1-emqx-1 2021-07-26 09:11:48 +08:00
William Yang
4ac71eca57
* feat(quic): quicer vsn 0.0.7 2021-07-20 09:57:15 +08:00
Turtle
918a26e921 feat(conf): merge all conf to emqx.conf 2021-07-02 17:01:16 +08:00
Zaiming Shi
0452bdb056 build: upgrade to rebar3 version 3.14.3-emqx-8
relup could not read appup file error reason was not printed
rebar3 3.24.3-8 (with relx 4.3.0-emqx-3) fixed it
2021-06-04 16:58:01 +02:00
zhanghongtong
6595d53962 build(relup): update build script for support relup 2021-05-07 21:25:10 +02:00
Zaiming Shi
958143f7a9 fix(frontend): dashboard 4.3.1 for a security patch 2021-05-07 18:44:39 +02:00
Zaiming Shi
396cae26fe build: fix build order of release and relup 2021-05-07 17:58:32 +08:00
Zaiming Shi
05835f2fab chore(dashboard): pin dashboard version v4.3.0 2021-04-30 12:26:59 +02:00
JianBo He
4f6216b812 build(test): add proper checking targets for each application 2021-04-13 18:10:21 +08:00
Zaiming Shi
4116806544 chore(build): upgrade to rebar3 3.14.3-emqx-6
This rebar3 version has two fixes comparing to 3.14.3-emqx-5
1. For elixir plugin build, ensure vsn in app info
2. Error details in rebar3 exception if .app is not found
   when generating release
2021-04-11 11:31:59 +02:00
JianBo He
8c1a773057 chore(dashboard): upgrade front-page version 2021-04-08 19:23:45 +08:00
Zaiming Shi
f363bea960 chore(Makefile): Add make run and make quickrun 2021-03-29 09:42:07 +02:00
Zaiming Shi
45dfc8a2fa chore(test): make app-ct run easier 2021-03-20 11:20:48 +01:00
Zaiming Shi
73a8494760 fix(build): rebar3 compile before release
Doing release directly works fine for prue Erlang dependencies.
However if we add a elixir dependency, the application
info and release becomes problematic

Elixir apps do not have .app or .app.src files
so the app vsn can not be found during app discovery
which leads to "No valid version ([]) of .app file found"
error when creating the release.
This is maybe fixed in https://github.com/erlang/rebar3/pull/2518

Another issue is "Undefined applications: [elixir,logger]"
This seem to be caused by the rebar3 not being able to identify
as a release dependency if an elixir app was not compiled before.
2021-03-19 12:22:43 +01:00
Rory Z
862e484944
chore(CI): build workflow support enterprise repo (#4363) 2021-03-18 16:30:48 +08:00
Zaiming Shi
d9a937cd34 chore(build): No rebar3 color for windows 2021-03-15 08:04:39 +01:00
zhanghongtong
c5f0194af7 chore(CI): fix build error on windows 2021-03-15 07:31:53 +01:00
Zaiming Shi
5f064a8e42 chore(test): enable cover only when necessary
So that ad-hoc ./rebar3 eunit and ct can run faster
2021-03-11 19:06:03 +01:00
Zaiming Shi
e1979bf488 chore(build): Single source of EMQX_DESCRIPTION 2021-03-09 20:22:48 +01:00
Zaiming Shi
7eb6588cc9
Chore build update rebar3 version (#4303)
* chore(Makefile): Delete unnecessary exports for deps-get

* chore(rebar3): upgrade to rebar3 version 3.14.3-emqx-5

This rebar3 version does not copy .git directory.
Before this, if a plugin repo clone is placed in lib-extra,
rebar2 ct or eunit commnad may fail at source code copy step.
2021-03-09 08:50:24 +08:00
Zaiming Shi
b7bde35b51 chore(Makefile): delete .o .d files when make clean 2021-03-08 11:35:15 +01:00
Zaiming Shi
625755ea33 chore(Makefile): refine 'make clean' 2021-03-07 09:49:11 +01:00
Zaiming Shi
73500a0983 chore(build): inject product description from makefile 2021-03-06 08:41:50 +01:00
Zaiming Shi
3e3c06118c chore(build): Ensure git hooks from Makefile 2021-03-06 08:41:50 +01:00
Zaiming Shi
609b015f93 chore(build): Use different env variable for dashboard version 2021-03-05 10:51:50 +01:00
Zaiming Shi
cd0890796d chore(build): use only mark file to tell apart ce ee 2021-03-02 23:38:10 +01:00
Zaiming Shi
b166ee5651
Merge pull request #4254 from zmstone/chore-build-fail-fast-if-otp-is-too-old
chore(build): Fail fast on old version OTP
2021-03-01 20:28:56 +01:00
Zaiming Shi
6c21a9473a chore(build): Fail fast on old version OTP 2021-03-01 19:48:27 +01:00
Zaiming Shi
11ad9caeda chore(dashboard): Pin dashboard frontend tag v4.3.0-beta.1 2021-03-01 16:34:37 +01:00
Zaiming Shi
30293b602a chore(build): move rebar3 download script to scripts dir 2021-03-01 21:00:17 +08:00
Zaiming Shi
534b6c0062 chore(scripts): get-dashboard.sh accepts URL as arg
Also move it to scripts dir
2021-03-01 21:00:17 +08:00
Zaiming Shi
7afeadd6fc chore(ci): run eunit test in github action 2021-02-26 20:50:07 +01:00
Zaiming Shi
e7785a63ee fix(scripts): update scripts to work with new lib-opensource dir 2021-02-11 17:22:20 +01:00
JianBo He
045bc02ec9 test(ci): add proptests chekcing to the makefile 2021-02-04 14:22:17 +08:00
JianBo He
52c747ca6b chore(cover): add coverall back 2021-02-04 14:22:17 +08:00
zhanghongtong
ca1e78677e chore(dashboard): delete static files
delete static files of dashboard and download them during build
2021-01-05 17:22:19 +08:00
Shawn
1887dfa8a4 fix(test): set node name to 'test@127.0.0.1' when run ct 2020-12-28 16:02:04 +08:00
Shawn
a9629a931b chore(test): add coverage generation for make ct 2020-12-23 13:48:49 +08:00
zhanghongtong
a364758e2a test(emqx_recon): stop emqx correctly in the test case 2020-12-22 13:39:49 +08:00
zhanghongtong
fd6cc1a848 test(CI): update actions
add fvt tests

update test cases
2020-12-17 14:23:33 +08: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
Rory Z
c0f03ca132
test(CI): add actions for build emqx packages (#3915) 2020-12-15 13:34:11 +08:00
Zaiming Shi
8bb5dc5e66 chore(build): Add examples of how to run test cases in README 2020-12-14 00:18:56 +01:00
Zaiming Shi
952c140138 chore(build): Skip relup when there is no upgrade base 2020-12-12 23:02:26 +01:00
Zaiming Shi
075c40aa05 chore(build): Fix relx config for emqx config files overlay 2020-12-12 23:02:26 +01:00
Shawn
10dbb5bc96
Fix testcases warns (#3906) 2020-12-11 18:54:48 +08:00
Zaiming Shi
7bdd093ef5 Merge remote-tracking branch 'origin/dev/v4.3.0' into umbrella-fix-build 2020-12-11 08:55:57 +01:00
Zaiming Shi
08d4678ac7 chore(build): Pin rebar3 version 3.14.3-emqx-2
Rebar3 3.14.3-emqx-1 always copy non-deps app dirs. i.e. never
try to simlink them.
2020-12-11 08:29:45 +01:00
Zaiming Shi
9fc482e0e5 chore(build): fix duplicated Makefile targets 2020-12-11 08:19:26 +01:00
Zaiming Shi
d67212e7fa chore(test): Make test profile build 2020-12-11 08:19:26 +01:00
Zaiming Shi
93a35c4814 chore(build): add 'check' profile for xref and dialyzer 2020-12-10 12:03:16 +01:00
Zaiming Shi
ded92cc10b chore(Makefile): delete stamp clean 2020-12-10 11:42:58 +01:00
Zaiming Shi
558f28ba27 refactor(build): Add dialyzer Makefile target 2020-12-10 09:35:27 +01:00
Shawn
12e0028b77 fix(mgmt): remove schema_registry calls from opensource code 2020-12-10 16:30:48 +08:00
Zaiming Shi
377f01e038 refactor(xref): Add xref Makefile target 2020-12-10 09:22:14 +01:00
JianBo He
49d15d974a build(make): add xref, dialyzer command 2020-12-09 14:21:54 +08:00
Zaiming Shi
9ecc669f14 chore(rebar3): Upgrade to rebar3 3.14.3-emqx-1 2020-12-06 14:57:51 +01:00
Zaiming Shi
0fb5fb31a5 refactor(proj) sync 4.3.0 plugins with tracked files 2020-12-05 02:43:04 +01:00
Zaiming Shi
ba204b5ab8 chore(build): update rebar3 version 2020-12-02 17:06:26 +01:00
Zaiming Shi
e0123574ed refactor(build): Ensure depth 1 git clone 2020-12-02 00:06:12 +01:00
Zaiming Shi
4e755d80db refactor(build): Download rebar3 from github release 2020-11-30 19:48:02 +01:00
Zaiming Shi
dab57b0f0f chore(build): Update rebar3
This rebar3 puts a stamp to app build output dir
skips re-build if alreay built
2020-11-27 21:41:11 +01:00
Zaiming Shi
a6566962e0 refactor(build): simplify version resolution 2020-11-27 01:03:40 +01:00
terry-xiaoyu
151d820058 feature(project): change to rebar3 umbrella project 2020-10-31 11:07:25 +08:00
JianBo He
1700a7a98a refactor(test): put all property cases to test/props directory 2020-06-18 17:38:34 +08:00
JianBo He
e3489b9d46 refactor(style): improve all types declaration
- Add dialyzer for code analysis
- Correct all the module type declarations
- Use `-type()` to declaration a type instead of `-opaque`
  (It is advantageous to the code dialyzer)

BROKEN CHANGES:
- Add a ?DEFAULT_SUBOPTS for emqx_broker:subscribe/1,2,3
- Remove the needless internal function `emqx_vm:port_info(PortTerm, Keys)`
2020-06-18 17:38:34 +08:00
JianBo He
e492260fe8 Change travis-ci to github action 2020-03-21 13:40:16 +08:00
JianBo He
40758fb693 Workflow (#3163)
Add workflows
2020-01-09 11:53:20 +08:00
张奇怪
c713d619da
Add more test cases (#2992)
* Add more test cases for emqx_stats and emqx_os_mon
Fix test case error for emqx_ws_connection

* Add more test cases for emqx_sys_mon

* Update erlang otp to 22.1 for travis ci

* Delete readable=false for make ct

* Add unset_all_env for emqx_zone and update test cases
2019-10-24 15:41:26 +08:00
Gilbert
79744af681 Wrapper proper test cases into common test cases (#2785)
* Wrapper proper test cases into common test cases

* Improve test cases for reason code module (#2789)

* Split 3 proper tests into 3 ct cases

* Improve test cases for client, rpc and request-response

* Add psk suites to increase coverage

* Add sys test cases
2019-08-16 18:07:12 +08:00
Gilbert
96b341fde5
Add proper tests for base62 (#2761)
* Add proper tests for base62

* Delete useless comment
2019-08-07 09:24:03 +08:00
Feng Lee
c4faeab45a Move test/run_emqx.escript -> scripts/run_emqx.escript 2019-08-03 14:08:20 +08:00
GilbertWong
22f7280d8e Make sure the default make behaviour is make distclean 2019-06-25 15:27:05 +08:00
GilbertWong
13d33985be Fix enoent error in run_setup rule of the makefile
Prior to this change, if user's computer has no `~/.config/rebar3`
path, `make run` would fail and report enoent error.

This change fix the problem I described above.
2019-06-24 11:42:24 +08:00
Gilbert
20188f9189 Optimize develop workflow and support make run and code hot swapping (#2644)
* Optimize develop workflow and support make run and code hot swapping
2019-06-21 20:52:27 +08:00
Gilbert
1d23d7de86
Optimize test workflow (#2642)
* Optimize test suites workflow

* Better format of makefile

* Fix protocol suite

* Add emqx_access_SUITE
2019-06-20 11:44:44 +08:00
Feng Lee
1d88f8fd9e Improve the emqx_connection, emqx_ws_connection and emqx_frame modules (#2611)
* Adopt channel architecture and improve the MQTT frame parser

* Update the test cases for emqx_channel, emqx_protocol

- Improve emqx_client to Use the new emqx_frame:parse/2
- Update the ct suites for emqx_channel, emqx_ws_channel

* Fix test case
2019-06-14 12:44:27 +08:00
Gilbert
d3e7d1f0c9 Fix websocket bug (#2615)
Fix websocket bug.

Prior to this change, websocket connection would be closed directly
without sending connack packet when acl check fails.

This change fix this bug.
2019-06-14 11:33:44 +08:00
Gilbert Wong
3f53c3822d Fix ct rule in makefile 2019-05-17 10:27:14 +08:00
Gilbert Wong
8065cafe1d Restore app.confg rule in makefile for debug and test 2019-05-08 21:18:24 +08:00
spring2maz
d0131ec663 Pin emqx-ct-helpers v1.1 (#2495)
* Pin emqx-ct-helpers v1.1.1

* Fix loaded_plugins touch command
2019-05-04 04:41:08 +08:00
spring2maz
97476b8bde Build with rebar3 (#2475)
* Pin cuttlefish rebar3 branch

* No shallow clone for rebar3

* Replace timer:sleep with receive after for deterministic

* Build with only rebar3

* bbmustache as a test dependency

* Change to plain deps

* Use shallow clone by default

* Add ct-helpers as test dep
2019-04-28 09:40:39 +08:00
HeeeJianBo
281fb2d5ec Depend emqx_ct_helper with tag 2019-04-25 14:30:35 +08:00
Gilbert Wong
b3927ff730 Add emqx_ct_helpers as deps and refactor test suites 2019-04-25 13:41:22 +08:00
Gilbert Wong
bcbb4b68e9 Add flapping detect feature 2019-04-19 16:34:33 +08:00
terry-xiaoyu
8be2defb6b Update ekka to v0.5.4 2019-03-30 10:41:48 +08:00
Gilbert
2534b8dc64 Support to pass ws compressing options (#2356)
Add new config entries about websocket
2019-03-27 10:19:35 +08:00
Gilbert Wong
7ff56b55f0 Force makefile to git clone deps 2019-03-16 23:05:15 +08:00
YoukiLin
88c32b2c41 Fix emqx_rpc badargs bug 2019-03-16 21:27:41 +08:00
Shawn
02fe8560e2
Improve emqx_hooks and credentials (#2309)
* Improve emqx_hooks and credentials

1. Modify the return modes of emqx hooks.

Change the return value of hook functions to:
- ok: stop the hook chain and return ok
- {error, Reason}: stop the hook chain and return error
- continue: continue the hook chain

And the return value of emqx_hooks:run/2 is changed to:
- ok
- {error, Reason}

And the return value of emqx_hooks:run/3:
- {ok, Acc}
- {error, Reason, Acc}

2. Treat password as a member of credentials.

Password should be wrapped in the `credentials` data-structure, as the
username/password pair together consists of an authentication method.
There can be some methods using some other credential data (e.g.
a JWT token), and these credential data should also be wrapped in the
the `credentials` data-structure.

An event `client.authenticate` is triggered when an user logs in:
```erlang
emqx_hooks:run('client.authenticate', [], Credentials)
```

A `default callback` that deny/allow any user (according to the
`allow_anonymous` config) should be appended to the end of the
callback chain.

The `credentails` is passed through all of the callbacks, and
can be changed over in this process.

* Refactor emqx hooks return mode

* Remove password from PState
2019-03-16 10:43:53 +08:00
turtleDeng
b902ff3656 Update gen_rpc to v2.3.1 (#2315)
Update gen_rpc to v2.3.1
2019-03-15 10:30:14 +08:00
tigercl
da755b88c7 Add monitors and alarm handler (#2266)
* Add monitors and alarm handler
2019-02-28 18:25:17 +08:00
Gilbert
c26d13b057 Fix test case (#2275)
* Fix t_rpc test
2019-02-28 18:07:16 +08:00
Gilbert Wong
7efd7b3ec0 Rename portal to bridge 2019-02-28 15:31:54 +08:00
spring2maz
1626cade28 Deleted batch publish support in emqx_portal_client
eqmx_portal_mqtt has to do single message publish calls for now
Also fix a bug in emqx_portal_mqtt ack collector
2019-02-28 11:17:27 +08:00
spring2maz
efc9e34033 Make use of BUMP_PACKET_ID the only way to generate packet IDs 2019-02-28 11:17:27 +08:00
spring2maz
6e1d4ec261 Add emqx_portal SUITE to default CT list 2019-02-28 11:17:27 +08:00
spring2maz
2903a810ce Add emqx_portal:ensure_foreard_present API 2019-02-28 11:17:27 +08:00
spring2maz
fbe67e6784 Introduce new bridge impl 2019-02-28 11:17:27 +08:00
Feng Lee
565c1a8c85 Optimize unset_flag/2 and add some specs
- Optimize unset_flag/2
- Add some function specs
- Add emqx_message_SUITE to Makefile
2019-02-22 17:06:52 +08:00
张奇怪
44d3eff094 Auto-pull-request-by-2019-02-19 (#2232)
* Update Copyright to 2019 (#2191)

* Disable bridges by default (#2189)

* Fix warning logger args emqx#2195

* Ambiguity elimination (#2217)

* Fix emqx_ws_connection: prevent crashes on pong (#2210)

* Issue#2184 (#2194)

* Delete dep-vsn-check

* Format app.src
2019-02-19 14:00:34 +08:00
turtleDeng
00863acea3
Merge emqx30 (#2181)
* Change the reason code in will topic acl check (#2168)

* Fix bridge bug (#2160)

* Limit bridge QoS less than 1

* Improve shared sub dispatch implementation. (#2144)

* Upgrade ekka, esockd libraries

* Improve the 'try_open_session' function

* Reload config (#2180)
2019-01-25 13:01:48 +08:00
YoukiLin
3748cd434d Add test case for emqx_sys_mon (#2150) 2019-01-12 23:09:39 +08:00
terry-xiaoyu
99f4283458 Update cuttlefish to v2.2.1 2019-01-04 22:55:58 +08:00
YoukiLin
78b3c375d8
Improving 'emqx_ws_connection' coverage (#2107) 2019-01-03 12:59:39 +08:00
turtleDeng
6a1ebe299a
Merge emqx32 to emqx30 (#2112) 2018-12-28 19:44:41 +08:00
turtled
390fae1134 Rm clique dep 2018-12-21 17:09:15 +08:00
Feng Lee
c93d0fb174 Add test cases for emqx_gc module 2018-12-21 10:28:33 +08:00
Feng Lee
14cffcf7fb Add the 'emqx_pd' module
Add utility functions for erlang process dictionary
Add test cases for emqx_pd
2018-12-20 16:45:25 +08:00
Feng Lee
721b72b96a Add 'active_n' option to optimize the CPU usage of emqx_connection (#2060)
* Add 'active_n' option to optimize the CPU usage of emqx_connection

* Supports batch processing 'DOWN' events
2018-12-17 19:53:29 +08:00
terry-xiaoyu
d445c17e6c Move some vm args to file vm.args 2018-12-14 09:53:13 +08:00
Feng Lee
b4d981daf2 Add a sequence module to generate index for subscription sharding 2018-12-04 15:59:24 +08:00
spring2maz
520a5e0225 Download erlang.mk and use git tag in appfile vsn 2018-12-03 15:16:53 +08:00
spring2maz
b87e72861a Fallback to git clone -n then checkout if git version is older than 1.8 2018-11-30 11:03:26 +01:00
spring2maz
14dfe03426 Use git tag for app vsn 2018-11-30 11:03:26 +01:00
spring2maz
fe33aeb3dc For git older than 1.8, there is no shallow clone support 2018-11-30 17:47:59 +08:00
Feng Lee
21ed012a0c Add an elegant batch module 2018-11-29 10:13:09 +08:00
Feng Lee
309f3560f3 Bump version to 3.0.0 2018-11-28 16:05:17 +08:00
Gilbert Wong
d08ed351be Do no execute rebar-clean before distclean
Prior to this change, this project support to be built with rebar3 and
erlang.mk meanwhile but when we want to make distclean, this project
would execute rebar-clean which would get dependencies via rebar3, it
slow down the procedure of distclean.
2018-11-27 17:00:23 +08:00