Commit Graph

402 Commits

Author SHA1 Message Date
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 f24b3f416e
ci(mix): build slim packages 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 d44c6eedfd ci: find relup base version using a script 2022-01-26 18:29:55 +01:00
Zaiming (Stone) Shi b44b090d9e ci: get package version per profile 2022-01-26 14:25:59 +01:00
Zaiming (Stone) Shi 5d6136fddb ci: test both ce and ee upgrade 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
JimMoen 31edd49f76 fix(topic_metrics): `POST` `PUT` need response 2022-01-20 10:15:06 +08:00
William Yang a67c463e8c ci: fix typo 2022-01-18 09:47:25 +01:00
William Yang b347769721 ci: fix indentation in yaml 2022-01-18 09:37:28 +01:00
William Yang 451324300b ci: speed up run_test_case jobs with cache 2022-01-17 08:33:15 +01:00
William Yang bf376afb5a ci: speedup all test jobs with build cache 2022-01-14 10:07:46 +01:00
Zaiming (Stone) Shi 38c0b7766c ci: fix emqx build profile to s3 dir mapping 2022-01-13 22:39:40 +01:00
Zaiming (Stone) Shi 5263f59f0e ci: rename artifact id in api tests flow 2022-01-13 20:28:21 +01:00
Zaiming (Stone) Shi 2faa3fb4cd ci: build test package from latest builder image 2022-01-13 18:54:01 +01:00
Zaiming (Stone) Shi ecd7ea0a2f ci: change to build and test with .tar.gz instead of .zip packages 2022-01-13 18:54:01 +01:00
William Yang fa59141d6d
Merge pull request #6741 from qzhuyan/ci/william/mac-cache-otp-install
ci(mac): cache otp install only
2022-01-13 14:55:08 +01:00
William Yang 30d119d3a9 ci(mac): cache otp install only
only cache otp installation instead of the entire kerl dir to save cache spaces
2022-01-13 11:41:45 +01:00
William Yang 1306946eb1 ci(cross-build-package): revert build cache for docker img
- The docker img use os: alpine, it is unliked to hit a cache.
- The build cache method casue the tag get overwritten among multi
arch builds
2022-01-13 11:26:34 +01:00
William Yang 56859a7fb0
Merge pull request #6716 from qzhuyan/ci/william/build-cache-for-cross-build-packages
build cache for cross build packages
2022-01-12 15:22:05 +01:00
William Yang e388ad1b21 ci(build-cache): add scripts/get-dep-refs.sh 2022-01-12 11:58:50 +01:00
xiangfangyang-tech 62c1f21eff
Merge pull request #6710 from xiangfangyang-tech/autotest_broker_test
chore(autotest): add autotest broker test git-action script
2022-01-12 17:05:37 +08:00
xiangfangyang-tech c398b75292 chore(autotest): add git action script for automate tests 2022-01-12 10:26:59 +08:00
William Yang 5312aa4a93 ci(cross-build-package): docker build with cache 2022-01-11 17:05:45 +01:00
Zaiming (Stone) Shi 32ac720064 ci: exclude edge + rlog test 2022-01-11 15:13:49 +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
William Yang 7520620a08 ci(cross_build_packages): use cache 2022-01-11 11:42:19 +01:00
k32 12e61c4bd3 test(dialyzer): Disable separate static checks workflow 2022-01-11 11:26:35 +01:00
k32 5ef3f37c26 test(bpapi): Only run static checks on ubuntu 2022-01-11 11:26:35 +01:00
k32 26f4b2495b test(bpapi): Run verification in CI 2022-01-11 11:26:35 +01:00
William Yang 06abc0d552
Merge pull request #6688 from qzhuyan/ci/william/build-cache-slim-packages
Ci/william/build cache slim packages
2022-01-11 10:58:31 +01:00
William Yang e54b1e0581 ci(build_slim_packages): reenable mac build 2022-01-11 09:58:04 +01:00
William Yang 11daef4ab3 ci: use build cache for build_slim_packages 2022-01-11 09:58:01 +01:00
Zaiming (Stone) Shi 8a92b9dafa docs: update Windows build instructions 2022-01-10 12:15:23 +01:00
Thales Macedo Garitezi 9059f2005a
fix(elixir): put Patch in version and add missing deps
Elixir requires that we use version of the form `Major.Minor.Patch`.
Also, Mix requires dependecies to be declared in `rebar.config` so it
can include the header files correctly.
2022-01-06 10:54:45 -03: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
zhanghongtong 46eeeb36cc ci(static checks): timed trigger static check 2022-01-05 17:29:45 +01:00
JimMoen 7ae3c93892 chore(test): update api test script version 2022-01-05 14:37:25 +08:00
Zaiming (Stone) Shi eae2e3ad0c Merge remote-tracking branch 'origin/master' into merge-5.0-beta.3-to-master 2022-01-04 21:11:30 +01:00
Zaiming (Stone) Shi 5df382f054
Merge pull request #6598 from zmstone/ci-port-changes-from-4.4
[5.0] CI port changes from 4.4
2022-01-04 18:52:25 +01: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 77652b9858 ci: refactor package build & test jobs 2022-01-04 17:28:53 +01:00
Thales Macedo Garitezi 93cdf318c7
fix(ci): setup mix before running check 2022-01-04 13:28:03 -03:00
Zaiming (Stone) Shi 8ba059bcd7
Merge pull request #6631 from emqx/rm-mix-lock
ci(mix): rm mix.lock from repo
2022-01-04 17:26:30 +01:00
Zaiming (Stone) Shi 55a94256c7 ci: build mac package only when labeled with 'mac' 2022-01-04 16:50:00 +01:00
Thales Macedo Garitezi d78e9429f3
ci(mix): rm mix.lock from repo
While Mix is not the main build tool, we remove the commited
`mix.lock` file to reduce friction when updating dependencies, since
it requires remembering to run `mix deps.get` to update the
`mix.lock`, used by a CI check in
`scripts/check-elixir-deps-discrepancies.exs`.  We change said script
to produce the required file on the fly.
2022-01-04 12:10:58 -03:00
Zaiming (Stone) Shi 503bf54c77 test(authz): fix meck calls
f
2022-01-04 13:54:25 +01:00
xiangfangyang-tech 14f8f5d5d1 chore(autotest): add git-action script 2022-01-04 15:19:06 +08:00
xiangfangyang-tech 8060a962f1 chore(autotest): add git-action script 2022-01-04 15:12:23 +08:00
Thales Macedo Garitezi f947bf6f98
ci(stale): increase number of operations per run
Since we currently have lots of issues, this may help with reaching
the 2nd page of issues.
2022-01-03 13:25:10 -03:00
Thales Macedo Garitezi 1454374b25
ci(stale): avoid spending operations on pull requests
We are interested in using stale actions only for issues, and
currently there's no clear/clean way of making it not enumerate pull
requests.  As a workaround, we attempt to minimize the number of
operations spent on pull requests by making it run only on pull
requests which have an inexistent tag, thus skipping all PRs.
2022-01-03 13:11:33 -03:00
Zaiming (Stone) Shi 719800914a Merge branch 'ci-run-dialyzer-on-slef-hosted' into merge-5.0-beta.3-to-master 2022-01-03 16:23:11 +01:00
Zaiming (Stone) Shi b98a00c35d ci: run dialyzer check on self-hosted runner 2022-01-03 16:07:14 +01:00
Thales Macedo Garitezi 95566c6f16
Merge pull request #6599 from emqx/stale-action
ci: enable stale GH action in place of stalebot

Since stalebot appears to have been unreliable
recently (https://github.com/probot/stale/issues/349), we can try to
use GH Actions to manage the stale issues.
2022-01-03 09:29:32 -03:00
Zaiming (Stone) Shi 2898fa76e1 Merge remote-tracking branch 'origin/release-5.0-beta.3' into merge-5.0-beta.3-to-master 2022-01-03 11:39:06 +01:00
Ilya Averyanov 852033a955
Merge pull request #6525 from savonarola/authn-ssl-tests
chore(authn): test authn ssl settings
2022-01-01 13:41:37 +03:00
Thales Macedo Garitezi 39999fb467
ci: enable stale GH action in place of stalebot
Since stalebot appears to have been unreliable
recently (https://github.com/probot/stale/issues/349), we can try to
use GH Actions to manage the stale issues.
2021-12-31 15:14:44 -03:00
Zaiming (Stone) Shi a52d26620f ci: fix static check group 2021-12-31 13:04:23 +01:00
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