Commit Graph

91 Commits

Author SHA1 Message Date
Ivan Dyachkov 0599bd7cfc ci: use our own setup-beam fork
https://github.com/erlef/setup-beam/issues/167
2022-12-22 09:15:57 +01:00
Andrew Mayorov 2e1cdd039e
ci: include OTP-25 in some workflows
* Use OTP-25 exclusively for Elixir builds
* Include OTP-25 in slim package builds
* Include OTP-25 in test workflow matrices
2022-12-16 13:45:04 +03:00
Ivan Dyachkov 3013b982cc ci: build amzn2 package
also
- upgrade emqx-builder to 5.0.24
- use amzn2 instead of el8 by default
- cross-cover emqx and emqx-enterprise in slim packages
2022-12-13 09:04:45 +01:00
firest 6ef7123bb9 chore: bump OTP version 2022-11-09 09:53:03 +08:00
Traphalet f920ff341b ci(actions): update git actions to latest versions 2022-10-28 15:53:26 +03:00
Rory Z b3355ff035 chore(helm): rename emqx-ee helm chart to emqx-enterprise 2022-09-13 17:43:00 +08:00
Rory Z cbe2173547 chore(helm): add image.tag for helm chart 2022-09-13 15:31:14 +08:00
Rory Z 874414793f chore: add emqx enterprise helm chart 2022-09-13 14:06:39 +08:00
Rory Z 7b270db8d9 chore: update docker entry point, support dns cluster in k8s 2022-07-22 10:18:30 +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
Zaiming (Stone) Shi 72cbe5c831
Merge pull request #8244 from zmstone/0616-pin-quic-0.0.12-make-user-of-build-cache
0616 pin quic 0.0.12 make use of build cache
2022-06-16 14:10:19 +01:00
Zaiming (Stone) Shi b3182609c3 ci: delete dpes cache from github work-flows 2022-06-16 13:07:27 +02:00
Rory Z 780bda2803 feat(helm): support dns cluster 2022-06-16 18:48:27 +08:00
Shawn f18eab402a fix(CI): don't use any authz sources when testing 2022-06-10 14:21:20 +08: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
Ilya Averyanov a6911517aa fix(ci): set explicit version for system-wide Erlang 2022-06-02 15:08:20 +03:00
Ilya Averyanov 0893a36dec fix(authn): removed explicit chain creation for security reasons 2022-06-02 14:03:19 +03: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
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
Thales Macedo Garitezi 208cc0fad8
feat(node_dump): add license info to node_dump 2022-04-25 11:42:20 -03: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 49ad66b4bd ci: no need for rocksdb cache anymore 2022-03-11 14:54:00 +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
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
Thales Macedo Garitezi a37ee6aa05
fix(flaky_test): improve helm test preparation check 2022-02-03 09:44:10 -03:00
William Yang 978abe1798 ci: fix jobs triggers 2022-02-01 13:04:52 +01:00
Thales Macedo Garitezi 6165ed010a
fix(ci): fix branch wildcard syntax 2022-01-31 10:50:20 -03:00
Thales Macedo Garitezi d4a16fc94a
Merge pull request #6887 from emqx/mix-use-mix_env
chore(mix): use MIX_ENV to define build profile and edition

Instead of reading some environment variables to define the build profile for the Elixir build, we use the MIX_ENV value to emulate Rebar3's profiles. Also, that makes the build output directory more similar to EMQ X's current scheme.
2022-01-31 10:38:00 -03:00
Thales Macedo Garitezi a597e92576
chore(mix): use MIX_ENV to define build profile and edition 2022-01-28 17:24:35 -03:00
William Yang 528817d620 ci: enable ci tests on pushes.
- Secure tests on master branch after merge.

- Improve build cache hit rates
  Due to security reason, github only allow reuse cache from
  - same branch
  - base branch
  - default branch

  Branch Feature-A could not reuse the cache from Feature-B

- Developers could run the workflow in their own forked repo
  before make the PR, this could relieve the runners on upstream repo
2022-01-28 18:33:53 +01:00
Thales Macedo Garitezi a88af8fcbc
ci(cache): use cache for elixir in fvt workflow 2022-01-26 16:59:50 -03:00
Thales Macedo Garitezi 506dad169a
chore(elixir_otp): bump emqx-builder images 2022-01-26 16:59:50 -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 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
Zaiming (Stone) Shi b44b090d9e ci: get package version per profile 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
William Yang bf376afb5a ci: speedup all test jobs with build cache 2022-01-14 10:07:46 +01:00
Zaiming (Stone) Shi 32ac720064 ci: exclude edge + rlog test 2022-01-11 15:13:49 +01:00
zhouzb caf1784a90 build: update otp version 2021-12-02 15:25:11 +08:00
Zaiming Shi e2d7ff2b0f build: rename emqx-ee to emqx-enterprise 2021-11-29 14:53:47 +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 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
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
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
zhanghongtong f817ba0075 chore(CI): rename image 2021-10-22 13:40:01 +08:00