Commit Graph

319 Commits

Author SHA1 Message Date
zhanghongtong c1480ab52c ci(cts): use makefile target instead of the rebar command 2021-12-22 09:40:09 +08:00
zhanghongtong baf8d7d91c ci: bump otp version to 24.1.5-3 2021-12-14 10:45:08 +08:00
Zaiming (Stone) Shi afd55b31e8
build: define default builder docker image tag (#6245)
prior to this change, the OTP_VSN varaible was taken from
the docker host's OTP version which may differ from the
desired OTP version for the docker builder image.
2021-11-23 09:34:56 +08:00
Zaiming (Stone) Shi 2514f474b0
Sync v4.3 to v4.4 (#6262)
* fix(http): fix duplicate http headers

* chore(appup): add appup.src

* fix(appup): fix multiply defined module in appup

* chore(appup): fix wrong version

* chore(ekka): Bump version to 0.8.1.5

* fix(update_appup): Fix warnings, add support for external repos

* build: use find command's -delete option

* ci: do not sync master branch

* build: ensure openssl11

* build: copy only libcrypto and libtinfo

* fix(trace): handler_id now always return atom

Co-authored-by: zhouzb <zhouzb@emqx.io>
Co-authored-by: k32 <10274441+k32@users.noreply.github.com>
2021-11-23 09:33:20 +08:00
Zaiming Shi c07f32f1ce Merge branch 'build-delete-potentially-broken-symlinks' into sync-v4.3-to-v4.4 2021-11-18 00:23:40 +01:00
Zaiming Shi 5db4607815 build: ensure symlinks in _build dir are deleted after fetching deps
In CI, the source code is downloaded with make deps-all
zipped and uploaded as an GitHub action artifact to be
downloaded in later steps to build packages

The symlinks are abs paths, meaning it might be broken
when unziped (inside docker containers)

This fix adds a `make clean` step after the deps-all target
and the `clean` target also removes rebar.lock and symlinks
2021-11-17 23:27:10 +01:00
Zaiming Shi 35164951e2 feat(docker): add flexible docker build
The defulat docker build (e.g. make emqx-docker) is based on alpine
image and it builds EMQ X from source code.
This is not flexible enough when we want to quickly run some tests
in a docker container.

The new docker build (e.g. make emqx-docker-testing) by default takes
the built zip package, and extract it in a very primitive base image
such as ubuntu:20.04 and centos:8
2021-11-17 08:31:35 +01:00
Zaiming Shi 4d9854012e build: parameterise path to Dockerfile 2021-11-16 16:08:36 +01:00
zhanghongtong cace53a02b build: update docker build 2021-11-15 14:33:23 +08:00
zhanghongtong 454f609aa6 build: emqx package name scheme include otp version 2021-11-15 10:45:27 +08:00
zhouzb 2bd12a9a3d chore(dashboard): update version for dashboard 2021-07-28 14:31:24 +08:00
Zaiming Shi 0452bdb056 build: upgrade to rebar3 version 3.14.3-emqx-8
relup could not read appup file error reason was not printed
rebar3 3.24.3-8 (with relx 4.3.0-emqx-3) fixed it
2021-06-04 16:58:01 +02:00
zhanghongtong 6595d53962 build(relup): update build script for support relup 2021-05-07 21:25:10 +02:00
Zaiming Shi 958143f7a9 fix(frontend): dashboard 4.3.1 for a security patch 2021-05-07 18:44:39 +02:00
Zaiming Shi 396cae26fe build: fix build order of release and relup 2021-05-07 17:58:32 +08:00
Zaiming Shi 05835f2fab chore(dashboard): pin dashboard version v4.3.0 2021-04-30 12:26:59 +02:00
JianBo He 4f6216b812 build(test): add proper checking targets for each application 2021-04-13 18:10:21 +08:00
Zaiming Shi 4116806544 chore(build): upgrade to rebar3 3.14.3-emqx-6
This rebar3 version has two fixes comparing to 3.14.3-emqx-5
1. For elixir plugin build, ensure vsn in app info
2. Error details in rebar3 exception if .app is not found
   when generating release
2021-04-11 11:31:59 +02:00
JianBo He 8c1a773057 chore(dashboard): upgrade front-page version 2021-04-08 19:23:45 +08:00
Zaiming Shi f363bea960 chore(Makefile): Add make run and make quickrun 2021-03-29 09:42:07 +02:00
Zaiming Shi 45dfc8a2fa chore(test): make app-ct run easier 2021-03-20 11:20:48 +01:00
Zaiming Shi 73a8494760 fix(build): rebar3 compile before release
Doing release directly works fine for prue Erlang dependencies.
However if we add a elixir dependency, the application
info and release becomes problematic

Elixir apps do not have .app or .app.src files
so the app vsn can not be found during app discovery
which leads to "No valid version ([]) of .app file found"
error when creating the release.
This is maybe fixed in https://github.com/erlang/rebar3/pull/2518

Another issue is "Undefined applications: [elixir,logger]"
This seem to be caused by the rebar3 not being able to identify
as a release dependency if an elixir app was not compiled before.
2021-03-19 12:22:43 +01:00
Rory Z 862e484944
chore(CI): build workflow support enterprise repo (#4363) 2021-03-18 16:30:48 +08:00
Zaiming Shi d9a937cd34 chore(build): No rebar3 color for windows 2021-03-15 08:04:39 +01:00
zhanghongtong c5f0194af7 chore(CI): fix build error on windows 2021-03-15 07:31:53 +01:00
Zaiming Shi 5f064a8e42 chore(test): enable cover only when necessary
So that ad-hoc ./rebar3 eunit and ct can run faster
2021-03-11 19:06:03 +01:00
Zaiming Shi e1979bf488 chore(build): Single source of EMQX_DESCRIPTION 2021-03-09 20:22:48 +01:00
Zaiming Shi 7eb6588cc9
Chore build update rebar3 version (#4303)
* chore(Makefile): Delete unnecessary exports for deps-get

* chore(rebar3): upgrade to rebar3 version 3.14.3-emqx-5

This rebar3 version does not copy .git directory.
Before this, if a plugin repo clone is placed in lib-extra,
rebar2 ct or eunit commnad may fail at source code copy step.
2021-03-09 08:50:24 +08:00
Zaiming Shi b7bde35b51 chore(Makefile): delete .o .d files when make clean 2021-03-08 11:35:15 +01:00
Zaiming Shi 625755ea33 chore(Makefile): refine 'make clean' 2021-03-07 09:49:11 +01:00
Zaiming Shi 73500a0983 chore(build): inject product description from makefile 2021-03-06 08:41:50 +01:00
Zaiming Shi 3e3c06118c chore(build): Ensure git hooks from Makefile 2021-03-06 08:41:50 +01:00
Zaiming Shi 609b015f93 chore(build): Use different env variable for dashboard version 2021-03-05 10:51:50 +01:00
Zaiming Shi cd0890796d chore(build): use only mark file to tell apart ce ee 2021-03-02 23:38:10 +01:00
Zaiming Shi b166ee5651
Merge pull request #4254 from zmstone/chore-build-fail-fast-if-otp-is-too-old
chore(build): Fail fast on old version OTP
2021-03-01 20:28:56 +01:00
Zaiming Shi 6c21a9473a chore(build): Fail fast on old version OTP 2021-03-01 19:48:27 +01:00
Zaiming Shi 11ad9caeda chore(dashboard): Pin dashboard frontend tag v4.3.0-beta.1 2021-03-01 16:34:37 +01:00
Zaiming Shi 30293b602a chore(build): move rebar3 download script to scripts dir 2021-03-01 21:00:17 +08:00
Zaiming Shi 534b6c0062 chore(scripts): get-dashboard.sh accepts URL as arg
Also move it to scripts dir
2021-03-01 21:00:17 +08:00
Zaiming Shi 7afeadd6fc chore(ci): run eunit test in github action 2021-02-26 20:50:07 +01:00
Zaiming Shi e7785a63ee fix(scripts): update scripts to work with new lib-opensource dir 2021-02-11 17:22:20 +01:00
JianBo He 045bc02ec9 test(ci): add proptests chekcing to the makefile 2021-02-04 14:22:17 +08:00
JianBo He 52c747ca6b chore(cover): add coverall back 2021-02-04 14:22:17 +08:00
zhanghongtong ca1e78677e chore(dashboard): delete static files
delete static files of dashboard and download them during build
2021-01-05 17:22:19 +08:00
Shawn 1887dfa8a4 fix(test): set node name to 'test@127.0.0.1' when run ct 2020-12-28 16:02:04 +08:00
Shawn a9629a931b chore(test): add coverage generation for make ct 2020-12-23 13:48:49 +08:00
zhanghongtong a364758e2a test(emqx_recon): stop emqx correctly in the test case 2020-12-22 13:39:49 +08:00
zhanghongtong fd6cc1a848 test(CI): update actions
add fvt tests

update test cases
2020-12-17 14:23:33 +08:00
Zaiming Shi 1236c1934c chore(build): refine packages builds
This commit merge packages.mk into Makefile
with the complex part moved to shell script ./build.
2020-12-16 09:22:47 +01:00
Rory Z c0f03ca132
test(CI): add actions for build emqx packages (#3915) 2020-12-15 13:34:11 +08:00