Commit Graph

662 Commits

Author SHA1 Message Date
Ivan Dyachkov 045875d18d ci: make CI a little faster and less flaky
- use latest ubuntu22.04 emqx-builder image in compose files
- use xl runners for compiling and for emqx app tests
- make helm tests less flaky
2023-10-30 10:32:27 +01:00
Zaiming (Stone) Shi 3aebe4a289 ci: only enable cover-compile by default in CI
so the ad-hoc make apps/appname-ct run can be faster
2023-10-28 00:39:55 +02:00
Zaiming (Stone) Shi 5c14ac2e50 build: refactor Makefile -ct and -prop target generation
Do not pre-generate all the -ct and -prop targets,
rather generate only the one that is in the specified build target
2023-10-27 10:22:15 +02:00
Zaiming (Stone) Shi 47199662ec
Merge pull request #11786 from emqx/release-53
Sync release-53 to master
2023-10-18 16:42:58 +02:00
Zaiming (Stone) Shi dbffc080c2
Merge pull request #11775 from zmstone/1016-docker-build-support-cache
build: make use of rebar git cache in docker build
2023-10-18 13:07:41 +02:00
Ivan Dyachkov 82bac3e136 Merge remote-tracking branch 'upstream/release-53' into 1018-sync-r53 2023-10-18 08:04:45 +02:00
Ivan Dyachkov 898279099b ci: update remaining docker images in workflows to use public.ecr.aws 2023-10-17 22:36:43 +02:00
Zaiming (Stone) Shi 22f8df2eee build: make use of rebar git cache in docker build 2023-10-17 13:06:50 +02:00
Zaiming (Stone) Shi 0886e6281a build: upgrade to rebar3 3.19.0-emqx-8
This version supports REBAR3_GIT_CACHE_DIR option to make use
of local repos as clone reference to reduced the number of clones
2023-10-16 13:34:23 +02:00
Ivan Dyachkov 220893177d ci: rerun failed checks for up to 3 times 2023-10-14 10:04:55 +02:00
Andrew Mayorov 0144ed9981
Merge pull request #11753 from keynslug/chore/smaller-ci-artifacts
chore(ci): try to reduce CI artifacts footprint
2023-10-13 16:56:47 +07:00
Andrew Mayorov d0dac25644
chore(ci): stop depending on git in `check-example-configs.sh` 2023-10-13 00:10:46 +07:00
Andrew Mayorov fdd9d77d41
chore(ci): simplify `check-i18n-style` + stop relying on git 2023-10-12 17:56:15 +07:00
Zaiming (Stone) Shi d753edc0fd chore: remove lib-ee in scripts 2023-10-11 20:12:57 +02:00
Zaiming (Stone) Shi 2c13a26cac test: add support of ipv6 in start-two-nodes-in-docker.sh 2023-10-10 10:05:14 +02:00
Ilya Averyanov 1eb75b43c4 chore(auth): split emqx_authn and emqx_authz apps 2023-10-05 13:41:50 +03:00
Zaiming (Stone) Shi deece276be chore: add bpapi check cut.sh 2023-09-29 16:34:04 +02:00
Zaiming (Stone) Shi eb4a2ad4d5 chore: do not auto generate changelog for ce 2023-09-29 14:10:24 +02:00
Zaiming (Stone) Shi 5e08c436da test: add bat test for corrupted cluster.hocon 2023-09-27 13:37:09 +02:00
Zaiming (Stone) Shi cd8a3be59d docs: add 'json' to spellcheck dict 2023-09-25 18:26:15 +02:00
JianBo He df94426ee3
chore: make static_check happy 2023-09-22 21:50:42 +08:00
Ivan Dyachkov ec43268eee chore: update scripts and CI to work with 5.3.X 2023-09-21 19:29:00 +02:00
Ivan Dyachkov dafd7c6085 chore: bump apps versions 2023-09-21 10:58:42 +02:00
Ivan Dyachkov 105bebc250 chore: merge release-52 into master 2023-09-21 10:22:47 +02:00
zhongwencool fa082b7a4d test: improve echo msg for smoke test 2023-09-21 14:12:23 +08:00
Zaiming (Stone) Shi f3bebb0ba2 Merge remote-tracking branch 'origin/master' into 0907-sync-master-to-release-52 2023-09-07 18:51:30 +02:00
Zaiming (Stone) Shi 445f4c235e chore: release cut script should check ee changelog file 2023-09-07 09:51:37 +02:00
Kjell Winblad fa6a98e2a3 chore: fix format of file to pass format check 2023-08-24 16:50:35 +02:00
Serge Tupchii bac0f7107c chore: bump OTP to 25.3.2-2 and EMQX builder to 5.1-4 2023-08-23 19:35:36 +03:00
Thales Macedo Garitezi 8adef6b657 ci: enumerate integration test suites 2023-08-18 11:44:02 -03:00
Kinplemelon 7bad7d68de ci: change element path in ui test case 2023-08-17 18:28:58 +08:00
Ivan Dyachkov 659647955a chore: remove support for docker-latest-* tag from cut.sh 2023-08-11 11:16:30 +02:00
Ivan Dyachkov 7bdefd065f chore: update scripts, workflows and documentation to support release-52 2023-08-11 11:11:58 +02:00
Ivan Dyachkov 8e384ddb6b chore: enforce chart version matching release version in emqx_release.hrl 2023-08-11 09:15:27 +02:00
Ivan Dyachkov 801c93dd46 chore: v5.1.5-build.3 2023-08-10 12:56:28 +02:00
Ivan Dyachkov 6ead09b28d chore: merge 'upstream/master' 2023-08-10 12:56:00 +02:00
Ivan Dyachkov 1c5b42806b build: correctly parse package version 2023-08-10 09:01:39 +02:00
Thales Macedo Garitezi 5294d6b913 ci: use `-patch.[0-9]+` for patch releases
Using just `-[0-9]+` requires further changes to the parser in `emqx_release`, and might
also cause problems with Elixir's `Version.parse` depending on the suffix.
2023-08-09 13:15:58 -03:00
Ivan Dyachkov 42b0a131ce fix(semver): use a.b.c-d version pattern instead of a.b.c.d for extra releases 2023-08-09 14:45:34 +02:00
Ivan Dyachkov c587a753da fix(docker): use 'make $PROFILE-docker' in CI 2023-08-09 14:45:17 +02:00
Ivan Dyachkov 4767b952dd ci: move sanity checks to the main workflow 2023-08-06 14:16:56 +02:00
Ivan Dyachkov 8545cac33d ci(parse-git-ref): handle more than one tag on the same commit
also add shelltest in CI
2023-08-06 14:16:56 +02:00
Ivan Dyachkov ff14995bf6 ci: automatically detect if the git tag is the latest one
also support tags like v5.1.1.1
2023-08-06 14:16:56 +02:00
Ivan Dyachkov 8232d8bc8b ci: download actionlint from github releases 2023-08-06 14:16:56 +02:00
Ivan Dyachkov 559cda5d74 ci: accept 'ci/*' branches in parse-git-ref.sh 2023-08-06 14:16:56 +02:00
Ivan Dyachkov dce2719c30 chore: fix scripts/check-i18n-style.escript to exit with 1 when there are errors 2023-08-06 14:16:56 +02:00
Ivan Dyachkov 43116a0797 ci: fix regex in parse-git-ref.sh 2023-08-06 14:16:56 +02:00
Ivan Dyachkov a32b8fd21f ci: use single entry point for push event 2023-08-06 14:16:56 +02:00
firest f98f97f37e feat(ldap): set test env and add test suites 2023-08-01 18:49:54 +08:00
Thales Macedo Garitezi 620b5fc048 fix(spellcheck): fix several spellcheck issues not caught in CI
Fixes some issus later found by CI that somehow didn't block the originating PRs.

Example failure:

https://github.com/emqx/emqx/actions/runs/5715470851/job/15485284918?pr=11372
2023-07-31 14:32:12 -03:00
Dennis Zhuang 975795a6e0 feat: add ci test 2023-07-24 17:58:48 +08:00
Dennis Zhuang c5078980f3 feat: adds the greptimedb bridge to emqx modules 2023-07-24 17:58:48 +08:00
Paulo Zulato 27630ca215
Merge pull request #11261 from paulozulato/feat-bridge-kinesis
Implement Amazon Kinesis Producer bridge
2023-07-18 16:48:34 -03:00
Ivan Dyachkov 8293fce7f2 chore: fix pkg-tests.sh 2023-07-18 17:12:20 +02:00
Ivan Dyachkov ca51732d8e
Merge pull request #11292 from emqx/update-rocksdb 2023-07-18 16:14:50 +02:00
Andrew Mayorov 143cdb9e44
chore: bump jq to v0.3.10 2023-07-18 14:11:39 +02:00
Thales Macedo Garitezi 99378355ea ci: bump builder image -> 5.1-3 2023-07-18 09:00:29 -03:00
Paulo Zulato 484519dcf9 feat(kinesis): implement Amazon Kinesis Producer bridge
Fixes https://emqx.atlassian.net/browse/EMQX-10474
Fixes https://emqx.atlassian.net/browse/EMQX-10475
2023-07-17 11:51:42 -03:00
Thales Macedo Garitezi 26d4ee5780 ci(fix): actually fail check for missing reboot apps 2023-07-13 09:02:20 -03:00
Thales Macedo Garitezi 06010f7ca9 Merge remote-tracking branch 'origin/release-51' into sync-r51-20230712 2023-07-12 16:47:45 -03:00
Ivan Dyachkov 088ff8b17c ci: fix rerun apps check token scope and improve logging 2023-07-11 14:36:48 +02:00
Ivan Dyachkov 1ca2f413c4 fix: add ezstd_nif.so to macos signing 2023-07-10 21:11:26 +02:00
Thales Macedo Garitezi d97d5b8af7 ci(machine_boot): add ci check for missing reboot apps
In order to avoid forgetting to add an application to
`emqx_machine_boot:sorted_reboot_apps`, this script checks for any calls to
`mria:create_table` in all EMQX applications and checks it against said function in
`emqx_machine_boot`.

Example run:

```
ͳ scripts/check_missing_reboot_apps.exs --profile emqx-enterprise
Some applications are missing from `emqx_machine_boot:sorted_reboot_apps/0`!
Missing applications:
  * emqx_durable_storage
  * emqx_ee_schema_registry

Hint: maybe add them to `emqx_machine_boot:basic_reboot_apps_edition/1`

Applications that call `mria:create_table` need to be added to that list;
 otherwise, when a node joins a cluster, it might lose tables.
```

Example problem: https://github.com/emqx/emqx/pull/11242
2023-07-10 14:38:58 -03:00
Ivan Dyachkov d795274f96 ci: rerun apps version check on release 2023-07-10 13:53:13 +02:00
Ivan Dyachkov 2570bc3090 fix(scripts): make shellcheck happy
also use EMQX_NODE__ROLE instead of EMQX_NODE__DB_ROLE
2023-07-10 08:41:11 +02:00
Ivan Dyachkov a31b5f1ac1 chore: add scripts/dev-cluster-host.sh 2023-07-09 19:35:12 +02:00
JimMoen 583ccfaafd
test(hstreamdb): create stream and wirte data 2023-07-07 12:25:36 +08:00
JimMoen 1587f038a5
feat: hstreamdb bridge with batch query 2023-07-07 12:25:36 +08:00
zhongwencool 82ea9e5a04 test: dashbaord api ct failed 2023-06-29 10:49:39 +08:00
zhongwencool e26c30ff0c feat: refactor dashboard https ssl_options 2023-06-29 10:49:39 +08:00
Zaiming (Stone) Shi 41de679557 ci: run example config check in ci 2023-06-27 14:23:18 +02:00
Zaiming (Stone) Shi a069b351fd test: add test script to verify config example files 2023-06-27 14:23:18 +02:00
Zaiming (Stone) Shi a757afcb7e
Merge pull request #11122 from zmstone/0622-ci-split-emqx-app-suites
ci: split apps/emqx common test suites into chunks
2023-06-22 18:17:00 +02:00
Thales Macedo Garitezi 7ef03d9e1f
Merge pull request #11090 from thalesmg/gcp-pubsub-consumer
feat(gcp_pubsub_consumer): implement GCP PubSub Consumer bridge
2023-06-22 09:17:45 -03:00
Zaiming (Stone) Shi d6cd56558a ci: split apps/emqx common test suites into chunks 2023-06-22 10:35:00 +02:00
Zaiming (Stone) Shi f95787d229 test: make possible to test core/replica locally 2023-06-20 12:42:00 +02:00
Thales Macedo Garitezi b442910ff1 feat(gcp_pubsub_consumer): implement GCP PubSub Consumer bridge
Fixes https://emqx.atlassian.net/browse/EMQX-10281
2023-06-19 16:04:12 -03:00
zhongwencool 3331af4757 feat: make gateway and slow_subs low level and hide rule_engine 2023-06-13 11:47:38 +08:00
Thales Macedo Garitezi 54985c1d9d ci(run.sh): fix cookie generation
Sometimes, the generated cookie could be interpret by erlang as a
flag (e.g.: `+8w7uIsgUeG80c/ZgUDD9g==`) if not escaped properly,
causing the start up to fail.
2023-06-09 14:09:07 -03:00
Zaiming (Stone) Shi 7d2ea3dc76 docs: refine some desc 2023-06-08 13:58:31 +02:00
Zaiming (Stone) Shi 085ffb617f chore: add 'mcast' to spellcheck dict 2023-06-07 12:05:24 +02:00
JimMoen bed1efd99f
build: bump dashboard tag `v1.2.6-beta.1` and `e1.1.0-beta.2`
The dashboard asset zip file will contain version after these two tags.
2023-06-07 10:26:36 +08:00
Zaiming (Stone) Shi 0b87ea4cdc
Merge pull request #10929 from zmstone/0602-ci-pin-otp-25.3.2-1-elixir-1.14.5
ci: upgrade to otp 25.3.2-1 and elixir 1.14.5
2023-06-02 21:46:08 +02:00
Thales Macedo Garitezi 33aa879ad4
Merge pull request #10910 from thalesmg/unify-restart-interval-v50
feat(resource): deprecate `auto_restart_interval` in favor of `health_check_interval`
2023-06-02 16:20:36 -03:00
Zaiming (Stone) Shi 9c1f77d733 ci: upgrade to otp 25.3.2-1 and elixir 1.14.5 2023-06-02 18:01:09 +02:00
Ivan Dyachkov 1761e669f0
Merge pull request #10916 from id/0601-add-ui-tests-in-ci
ci: add ui(dashboard) tests based on pytest and selenium
2023-06-02 09:07:41 +02:00
Ivan Dyachkov 8cdb1458c7 ci: add ui(dashboard) tests based on pytest and selenium 2023-06-01 20:01:24 +02:00
Thales Macedo Garitezi 99796224d8 refactor(resource): rename `request_timeout` -> `request_ttl`
See
https://emqx.atlassian.net/wiki/spaces/P/pages/612368639/open+e5.1+remove+auto+restart+interval+from+buffer+worker+resource+options
2023-06-01 13:01:53 -03:00
Thales Macedo Garitezi 10425eb925 feat(resource): deprecate `auto_restart_interval` in favor of `health_check_interval`
See:
https://emqx.atlassian.net/wiki/spaces/P/pages/612368639/open+e5.1+remove+auto+restart+interval+from+buffer+worker+resource+options

Current problem:

In 5.0.x, we have two timer options that control the state changing of buffer worker
resources: auto_restart_interval and health_check_interval.

- auto_restart_interval controls how often the resource attempts to transition from
disconnected to connected.

- health_check_interval controls how often the resource is checked and potentially moved
from connected to disconnected or connecting.

The existence of two independent timers for very similar purposes is confusing to users,
QA and even developers.  Also, an intimately related configuration is request_timeout,
which can interact badly with auto_restart_interval if the latter is poorly configured:
requests may always expire if request_timeout < auto_restart_interval and if the resource
enters the disconnected state.  For health_check_interval, we attempt to derive a sane
default that gives requests a chance to retry (if request timeout is finite, then the
resource retries requests with a period of min(health_check_interval, request_timeout /
3).

Another problem with the separate auto_restart_interval is that its default value (60 s)
is too high when compared to the default request timeout and health check, leading to the
problems described above if not tuned.

Proposed solution:

We propose to drop auto_restart_interval in favor of health_check_interval, which will be
used for both disconnected -> connected and connected -> {disconnected, connecting}
transition checks.  With that, the resource will attempt to reconnect at the same interval
as the health check, which currently is 15 s.

Also, as two smaller changes to accompany this one:

- Increase the default request_timeout from 15 s to 45 s.
- Rename request_timeout to request_ttl.
2023-06-01 11:20:06 -03:00
Thales Macedo Garitezi cd2e21e89f ci: check if given schema.json exists before running spellcheck
Prints helpful message when schema.json does not exist, as otherwise
the "file" will be mounted as an empty directory inside the
spellchecker container.
2023-05-31 09:59:00 -03:00
Zaiming (Stone) Shi 74582ad36e test(conf-test): use major version number as prefix to find old config 2023-05-30 09:59:57 +02:00
Zaiming (Stone) Shi 65506eb15e build: remove changelog base compare
all changes in the future will have a compare base
2023-05-30 09:32:42 +02:00
Zaiming (Stone) Shi 5aaac86e28 ci: prepare for 5.1 release 2023-05-30 08:03:42 +02:00
Zaiming (Stone) Shi d014b80834 build: download zh translation from emqx-i18n.git 2023-05-29 14:22:23 +02:00
Zaiming (Stone) Shi c2450d230d
Merge pull request #10605 from zmstone/0503-no-telemetry-app-for-ee
0503 refactoring: no telemetry app for ee
2023-05-27 10:57:15 +02:00
Zaiming (Stone) Shi 6e2cde8224 refactor: delete emqx_statsd all together 2023-05-26 15:17:42 +02:00
Zaiming (Stone) Shi ee122155f1 docs: fix spellcheck for telemetry app 2023-05-26 08:44:19 +02:00
Zaiming (Stone) Shi b8b1779627 Merge remote-tracking branch 'origin/master' into 0503-no-telemetry-app-for-ee 2023-05-23 21:42:07 +02:00
Zaiming (Stone) Shi 3bb1f7ab2b Merge remote-tracking branch 'origin/master' into 0503-no-telemetry-app-for-ee 2023-05-23 13:03:55 +02:00
Andrew Mayorov 9aaa0b6fe1
Merge pull request #9927 from emqx/file-transfer
feat: implement file transfer over mqtt
2023-05-19 18:35:13 +03:00