Commit Graph

343 Commits

Author SHA1 Message Date
Zaiming (Stone) Shi 2bfc5b1241 ci: run dialyzer check on self-hosted runner 2021-12-31 11:37:40 +01:00
JimMoen 4ebe47974d chore(test): update api test script version 2021-12-31 10:51:29 +08:00
Thales Macedo Garitezi c29bc126ef
Merge pull request #6507 from emqx/build-with-mix-mkII
Build with Elixir Mix Release
2021-12-30 15:00:38 -03:00
Zaiming (Stone) Shi 5cb2e5696d
Merge pull request #6309 from emqx/configure-stalebot
ci(stalebot): stalebot initial configuration
2021-12-30 14:35:51 +01:00
Ilya Averyanov a7ca6cb39f chore(authn): test MongoDB authn via ssl connection 2021-12-29 16:24:52 +03:00
Thales Macedo Garitezi a54e108296
ci(mix): add application mode check
This adds a CI check to ensure that applications and their modes are
in sync between Elixir and Rebar release builds.
2021-12-27 13:09:55 -03:00
Ilya Averyanov e2e2c98679 chore(authn): test Mysql authn via ssl connection 2021-12-27 11:16:31 +03:00
Ilya Averyanov 6de89d1207 chore(authn): test PostgreSQL authn via ssl connection 2021-12-27 11:16:31 +03:00
Ilya Averyanov 520629d6e2 chore(authn): test Redis authn via ssl connection 2021-12-27 11:16:31 +03:00
Thales Macedo Garitezi cc652c3343
ci(mix): add elixir deps check
Checks whether there are discrepancies between rebar3 and mix deps.
2021-12-24 14:44:49 -03:00
Thales Macedo Garitezi 67cca5d3a1
chore(mix): use the same script in mix release as in rebar release
Surprisingly enough, by doing small cirurgical changes in the existing
EMQX control scripts, we are able to get it running with Elixir and
with existing functionalities (`console`, `remote_console`, `start`,
`stop`, `ctl`, `foreground`, `eval`).
2021-12-23 17:20:04 -03:00
Thales Macedo Garitezi 238895a301
chore(mix): correctly define release version
With this, we no longer need the last hack in `mix_release.sh`.

A version schema with 3 parts (Major.Minor.Patch) is required by
Elixir:

https://hexdocs.pm/elixir/1.13.1/Version.html#module-versions
2021-12-22 15:43:43 -03:00
Thales Macedo Garitezi 62024854e5
chore(mix): wrap produced script and set required variables
We create a shim script that calls the one produced by Mix Release,
creating and setting the required configurations.
2021-12-22 15:15:19 -03:00
Thales Macedo Garitezi 917575de5a
chore(mix): minimal elixir mix release build
This commit enables a minimal working build of EMQX release using
Mix.  However, to properly start the release, several configuration
steps are still missing.  A `mix_release.sh` script does a few hacks
to get the release built with Mix to start properly, by first assuming
that `make emqx` has been run prior to the release, ran once to
generate the `app.*.config` files, and then it copies that and some
other files to the expected places.

Also, `emqx_telemetry` hangs the start procedure because it thinks
it's in an official release and tries to make a request.  We disable
it temporarily via config just to get a working build for now.
2021-12-21 13:51:22 -03:00
tigercl aceb4f1930
Merge pull request #6273 from Rory-Z/ci/add-push-ecr-for-5.0
ci: add new steps for push ecr image when release
2021-12-20 10:27:53 +08:00
Thales Macedo Garitezi 39005265e3
chore(stale): add new exempt tags based off issue handling diagram 2021-12-02 11:34:57 -03:00
zhouzb caf1784a90 build: update otp version 2021-12-02 15:25:11 +08:00
Ilya Averyanov 390575eafb chore(authn): add MongoDB backend tests 2021-11-29 21:17:56 +03:00
Zaiming Shi e2d7ff2b0f build: rename emqx-ee to emqx-enterprise 2021-11-29 14:53:47 +01:00
Thales Macedo Garitezi 6aa4442f33
ci(stalebot): stalebot initial configuration
This adds configuration for
[stalebot](https://github.com/probot/stale) to track our stale issues.

https://github.com/apps/stale
2021-11-25 16:09:31 -03:00
zhanghongtong 6a9bbc726e ci: add new steps for push ecr image when release 2021-11-23 17:55:56 +08:00
Ilya Averyanov 8cc0b43de7 chore(authn): add MySQL & PostgreSQL backend tests 2021-11-23 11:52:51 +03:00
Ilya Averyanov 071c2c99e8 refactor(authn resources): add `emqx_resource` and `emqx_authn` tests 2021-11-22 21:08:04 +03:00
Zaiming Shi 188f1b52c7 ci: rename action matrix dimention name opt_vsn to opt 2021-11-22 08:23:40 +01:00
Zaiming Shi 80aab3ae3f ci: parameterise cross-package build job with branch name 2021-11-22 00:10:44 +01:00
Zaiming Shi bab5d2f399 ci: do not run helm_test for enterprise for now 2021-11-20 20:55:22 +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
Thales Macedo Garitezi a5c8b95dd8
Merge pull request #6131 from emqx/reenable-rlog-fvt-tests
test(rlog): reenable RLOG FVT tests
2021-11-19 08:46:15 -03:00
Zaiming Shi 2d1aeb655c ci: delete master branch from auto-sync 2021-11-19 08:43:58 +01:00
Thales Macedo Garitezi 315a06214f
test(rlog): reenable RLOG FVT tests
The RLOG DB backend tests in FVT were temporarily disabled due to some
paho tests being specially flaky in CI.

In particular, those tests had the common pattern of subscribing to a
topic, immediately publishing to that topic and then waiting for the
response.  When in CI and using RLOG, there seems to be more delays in
replication of data, and often this pattern would fail in the
constraint testing enviroment.
2021-11-18 18:03:30 -03:00
JimMoen e361cd5733
Fix dashboard APIs return (#6177)
* fix(dashboard_api): delete non-exist user wrongly return 204

* fix(dashboard): dashboard user should use `tags` not `tag`

* fix(dashboard): create/update user return 200 with full users list

* fix(dashboard): logout status code 204

* fix(dashboard): update pwd status code 204

* test: test suite for dashboard APIs

* refactor(dashboard): user info mnesia record name use description

* style: make elvis happy

* fix(api): dashboard swagger check request should not override env

* fix(dashboard): add/modify dashboard returns single record

* ci: update emqx-fvt version to new tag 1.0.2-dev1
2021-11-18 14:36:12 +08:00
JimMoen e07e3c7039 ci: update emqx-fvt version 2021-11-15 16:30:44 +08:00
Zaiming (Stone) Shi aac090ad7b
Merge pull request #6104 from emqx/issue-tmpl-askemq
chore(github-issue-template):  https://askemq.com/
2021-11-11 17:29:23 +01:00
Thales Macedo Garitezi 28e3727aae
fix(ci): temporarily disable rlog FVT tests (flakiness)
A few FVT tests are very flaky when run in rlog core+replicant cluster
configuration (for instance `V5/test_publish.py::test_topic`). We are
disabling this test configuration temporarily while we investigate
further and mitigate it.
2021-11-10 11:03:39 -03:00
William Yang b0dd944fa4
chore(github-issue-template): https://askemq.com/ 2021-11-09 11:33:32 +01:00
Thales Macedo Garitezi f8fc67b313
fix(lag): target only replica if rlog core+replicant
there seems to be race conditions related to some tests with sessions
hitting the core and the replicant alternately and rlog.

for intance, if there is some delay in this replication, a new
connection made to the replica with a just-created session in the core
may not have been replicated to the replicant, resulting in a test
failure if it expects the session to be present.

since such replication lags are inherent to the core-replicant
topology, we can try to target only the replicant to avoid seeing this
inconsistent view of the system during the tests.
2021-11-08 14:18:07 -03:00
Thales Macedo Garitezi c60feaaad2
test(fvt): extend functional verification tests to use replicant node
This parameterizes the Functional Verification Tests (FVTs) that run
in CI to use a replication log (RLOG) role of "replicant" for one of
the nodes.  With this addition, our FVTs may explore more scenarios
with data replication.
2021-11-07 17:02:57 -03:00
Zaiming Shi ce8e52f4d0 ci: fix job syntax 2021-11-04 18:32:03 +01:00
Zaiming Shi d1abb30818 ci: fix elvis check 2021-11-04 15:27:10 +01:00
Zaiming Shi dc58e4a441 ci: check code style
run elvis and nl-at-eof check
2021-11-04 14:47:05 +01:00
zhanghongtong 4fb303e4aa ci: change emqx-ci-helper version for build workflows 2021-10-28 09:22:53 +08:00
zhanghongtong f817ba0075 chore(CI): rename image 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
zhanghongtong 7732796331 chore(CI): change otp version for docker compose file
Signed-off-by: zhanghongtong <rory-z@outlook.com>
2021-10-22 13:40:01 +08:00
zhanghongtong 46a794e38b chore(CI): use concurrency to cancel in-progress workflows 2021-10-22 13:40:01 +08:00
zhanghongtong 4d27d371eb chore(CI): change otp version for workflows 2021-10-22 13:40:01 +08:00
zhanghongtong d334b27e56 chore(CI): better build docker image 2021-10-20 18:24:08 +08:00
zhanghongtong d7a3141a43 chore(CI): use tag of emqtt-bench in github actions 2021-10-19 17:35:38 +08:00
xujun540 cb317b3d7a chore(autotest): modify api automation script version 2021-10-19 15:36:17 +08:00
zhanghongtong bd00c7d3c7 chore(CI): do not update latest tag for docker hub when pre-release 2021-10-11 09:29:51 +08:00
zhanghongtong 48599324de chore(CI): fix push docker error for build packages workflows' 2021-09-29 20:43:05 +08:00
xujun540 e1de837664 chore(autotest): add tag 2021-09-28 19:15:00 +08:00
Zaiming (Stone) Shi 5d89b8d33b
Merge pull request #5804 from Rory-Z/chore/add-macos11-for-workflows
chore(CI): add macos 11 for build workflows
2021-09-26 13:48:20 +02:00
xujun540 92c02c0c8b chore(autotest): add and run test scripts and modify plug-ins 2021-09-26 14:04:43 +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
zhanghongtong 1e8948e091 chore(CI): use ghcr
Signed-off-by: zhanghongtong <rory-z@outlook.com>
2021-09-16 14:33:59 +08:00
xujun540 a45cbf504b chore(test): modify format 2021-09-16 11:09:47 +08:00
xujun540 a673f18c41 chore(test): modify format 2021-09-16 11:09:47 +08:00
xujun540 4a4014855f chore(autotest): add api test script 2021-09-16 11:09:47 +08:00
William Yang 6c2c64118e
Merge pull request #5635 from qzhuyan/doc/william/github-issue-flow
Update GitHub issue handling flow
2021-09-15 15:42:27 +02:00
zhanghongtong d443d26fce fix(auth mnesia api): fix api error for file type 2021-09-13 17:13:30 +08:00
William Yang e97b69b047
Merge branch 'master' into doc/william/github-issue-flow 2021-09-13 11:10:49 +02:00
xujun540 a6e335e715
chore(autotest): add api test script configuration 2021-09-11 10:38:18 +08:00
William Yang 311be88969 chore(github-issue_flow): address some remarks 2021-09-10 10:08:30 +02:00
xiangfangyang-tech 5f94b8e1ff
chore(CI): add api test workflows for github actions (#5640) 2021-09-03 15:05:30 +08:00
William Yang ffded5ab30 chore(github-issue): update issue templates 2021-09-02 12:40:44 +02:00
William Yang 4cf03ed2b2 chore: Add issue handling uml flow 2021-09-02 12:06:56 +02:00
William Yang fae12051bb chore: github issue flow, add need-triage label 2021-09-02 17:17:06 +08:00
William Yang d513c5639d chore: github issue flow, add need-triage label 2021-09-02 08:44:32 +02:00
Zaiming (Stone) Shi c64af6a78c
Merge pull request #5532 from zhongwencool/master
feat(emqx_cluster_call): ensure the consistency of resources
2021-08-27 09:40:31 +02:00
DDDHuang 86231f795d
refactor: close managment http 8081 (#5564) 2021-08-27 13:46:39 +08:00
zhongwencool 11e87ab9a3 chore(CI): DIAGNOSTIC=1 for more error message 2021-08-26 17:17:47 +08:00
zhanghongtong a2bafd1a18 feat(authz): support authorization config file part 2 2021-08-25 10:15:00 +08:00
zhanghongtong 0111306224 chore(CI): fix log attachment overwrite error 2021-08-24 16:15:14 +08:00
zhanghongtong 41f2b77ec3 chore(CI): update workflows
Signed-off-by: zhanghongtong <rory-z@outlook.com>
2021-08-24 15:04:27 +08:00
zhanghongtong c90fc9578e chore(CI): using docker official actions for build packages workflow
Signed-off-by: zhanghongtong <rory-z@outlook.com>
2021-08-13 15:28:00 +08:00
zhanghongtong c78945441c chore(CI): timed trigger code synchronization 2021-08-13 15:20:36 +08:00
zhanghongtong d1faf93bbf chore(CI): rename artifact for build packages workflows
Signed-off-by: zhanghongtong <rory-z@outlook.com>
2021-08-13 10:30:42 +08:00
Zaiming (Stone) Shi 64ddb13d8e
Merge pull request #5450 from zmstone/chore-update-otp-version-for-ci
chore: update otp version in CI
2021-08-11 14:02:54 +02:00
Zaiming Shi 4abb3e65eb test(ci): dump haproxy logs if test failed 2021-08-11 10:39:40 +08:00
Zaiming Shi bf94051d56 chore: update otp version in CI 2021-08-10 15:56:22 +02:00
x1001100011 0fe3083cd7 build: add erlang 24.0.1 for ci 2021-08-09 11:12:25 +02:00
zhanghongtong cf20fc6db7 chore(CI): easier build packages
Signed-off-by: zhanghongtong <rory-z@outlook.com>
2021-08-04 22:20:54 +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 190c7d8f6c chore: delete pull request template
nobody is following it anyway
2021-07-27 08:57:10 +08:00
Shawn f8f7493352 fix(test): set RETRY_INTERVAL and MAX_TOPIC_ALIAS for paho test 2021-07-17 17:36:01 +08:00
DDDHuang d04e1c6f54
refactor: clients api; status api; adapter minirest v1
The serious influence:
authn:
api
authz:
api; api test suit
dashboard:
all closed
lwm2m:
api;
modules:
api(api_topic_metrics, modules_api); test suit(emqx_modules_SUITE)
prometheus:
api
retainer:
api; api test suit
rule_engine:
api: api test suit
telemetry:
api
2021-07-12 10:05:51 +08:00
DDDHuang c11a8c6db6 refactor: clients api; status api; adapter minirest v1
The serious influence:

authn:
    api
authz:
    api; api test suit
dashboard:
    all closed
lwm2m:
    api;
modules:
    api(api_topic_metrics, modules_api); test suit(emqx_modules_SUITE)
prometheus:
    api
retainer:
    api; api test suit
rule_engine:
    api: api test suit
telemetry:
    api
2021-07-09 18:09:07 +08:00
William Yang 939f3855d5 ci(build-packages): docker fail fast: false 2021-07-07 13:41:47 +02:00
William Yang 9d760ff5bd ci(build-packages): rm rebar.lock in prepare phase 2021-07-07 13:41:47 +02:00
William Yang 606e48560c ci: build-package set fail-fast to false
To get better overall vision
2021-07-06 10:18:14 +02:00
zhanghongtong b2801299cb chore(CI): cancel build of 32-bit docker 2021-07-06 09:25:56 +08:00
zhanghongtong 2f5ab6a974 chore(CI): fix macos build error 2021-07-05 13:28:56 +08:00
Rory Z b93ec0a83a chore(CI): fix github workflows error (#1) 2021-07-02 17:01:16 +08:00
Turtle 918a26e921 feat(conf): merge all conf to emqx.conf 2021-07-02 17:01:16 +08:00
William Yang 47ce507c07 chore: disable auto assignee for github issues.
save tigercl
2021-07-01 18:09:03 +08:00
Rory Z d7c1cf6a5f chore(CI): delete compatibility test suite 2021-06-28 11:44:01 +08:00
Rory Z 8eca3e3a4e chore(CI): update ci env 2021-06-28 11:44:01 +08:00
Shawn 36c7785fd0 The config handler phase2 (#5052)
* refator(config_handler): handle and validate the updates to raw_configs

* fix(hocon): update hocon to 0.8.0

* refactor(config_handler): check and apply envs only in top-level handler

* refactor(config_handler): update config from top level to bottom level

* refactor(emqx_data_bridge): move configs to emqx.conf

* fix(emqx_schema): remove the extra config path

* fix(config_handler): load the emqx.conf when starting emqx_config_handler

* fix(data_bridge): API not working

* feat(config_handler): save updated configs to emqx_override.conf

* fix(config_handler): cannot find the emqx.conf and emqx_override.conf

* fix(emqx_config): cannot find the correct path for etc dir

* fix(test): load load emqx_schema foreign refereced apps

* refactor(emqx_plugin): do not generate configs before load plugins

All configs (including the configs for plugins) now should go into
the `emqx.conf`.

* fix(tests): update the test cases for plugins

* fix(tests): don't include schema from apps when testing

* fix(tests): use emqx-ct-helper branch hocon
2021-06-28 11:43:48 +08:00
zhanghongtong d4784a0d33 chore(CI): upload logs when emqx ct failed 2021-06-28 11:43:31 +08:00