Commit Graph

390 Commits

Author SHA1 Message Date
Zaiming (Stone) Shi
97c0f92fcf ci: pin emqx-fvt ref 1.0.4-dev2 2022-01-26 23:32:21 +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
e157064e24
fix(ci): use correct condition to build docker images 2022-01-26 16:59:50 -03:00
Thales Macedo Garitezi
06e31830fb
fix(ci): use tgz and elixir package name 2022-01-26 16:59:50 -03:00
Thales Macedo Garitezi
aa1a1a7bb1
chore(ci): update CI container images 2022-01-26 16:59:50 -03:00
Thales Macedo Garitezi
a974221ffa
chore(mix): split elixir docker image build into separate step 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
1240c40364
chore(ci): build only a few zips with elixir, build docker image with
elixir
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
f66462ca6b
chore(ci): cache rocksdb+quicer for elixir packages 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
fca0d2bfd8
fix(ci): split elixir package building into own step
Since the job step may run out of execution time, by separating the
Elixir build from the traditional one may prevent timeouts.
2022-01-26 16:59:49 -03:00
Thales Macedo Garitezi
ba6d4e4a19
fix(ci): raspbian arch is arm, not arm64 2022-01-26 16:59:49 -03:00
Thales Macedo Garitezi
e874ec2b36
chore(images): use new image in more CI workflows 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
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
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
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
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