Commit Graph

226 Commits

Author SHA1 Message Date
Zaiming (Stone) Shi 3944888a19 chore: update-appup.sh always rebuild baseline
Reasons
* OTP version might be different in developer's env and build env
* For some tags, we do not build release. e.g. rel-v4.4.X
2022-03-24 11:23:47 +01:00
JianBo He 65e11bcb01 chore: bump vsn for 4.4.2-rc.1 2022-03-24 14:26:52 +08:00
JianBo He 5e42a67c8d chore: update dashboard vsn 2022-03-24 14:22:19 +08:00
Zaiming (Stone) Shi 8415abb05a Merge remote-tracking branch 'origin/main-v4.4' into main-v4.4 2022-03-22 21:01:15 +01:00
Zaiming (Stone) Shi 6ea8d2f270 Merge remote-tracking branch 'origin/main-v4.3' into main-v4.4 2022-03-22 20:54:22 +01:00
Zaiming (Stone) Shi ed9266b6c0 ci: update to latest builder image 2022-03-22 12:05:55 +01:00
Zaiming Shi 13086e7259 chore: fix update-appup.sh for bash 3.2 2022-03-19 08:42:52 +01:00
JianBo He af65310ce7 chore(script): update_appup.escript support the update cmd
We often use the advanced directive `update` when hot upgrading
gen_server, gen_statem, and other such processes, and it will be
parsed as:
```
{suspend,[Mod]},
{load,{Mod,brutal_purge,brutal_purge}},
{code_change,up,[{Mod,[Extra]}]},
{resume,[Mod]},
```
So, we should treat the update instruction as having completed the
upgrade of this module.
2022-03-15 10:51:30 +08:00
Zaiming (Stone) Shi cedeff4dab build(appup): fix module delete instructions
when there is a application_restart instruction, there is no
need to add module delete instructions
2022-03-09 11:18:02 +01:00
Zaiming (Stone) Shi 27617539f1 fix(appup): adjust update-appup.sh for 4.4. 2022-03-08 19:31:21 +01:00
Zaiming (Stone) Shi 571456b3c4 Merge remote-tracking branch 'origin/main-v4.3' into main-v4.4 2022-03-08 18:59:38 +01:00
Zaiming (Stone) Shi d8e29f19cb refactor(appup): always generate appup from script 2022-03-08 13:24:54 +01:00
Zaiming (Stone) Shi 111b93b4ea fix(update-appup): pass in --repo option even when download bin package
the repo url is NOT used to clone the source,
but used to determin the sub-dir name when extracting the zip package
2022-03-05 17:24:49 +01:00
Zaiming (Stone) Shi 1ae46cc22a build(appup): exclude gpb from appup checks 2022-03-05 16:49:58 +01:00
Zaiming (Stone) Shi 0a6e2d596b build: fix update-appup for ee 2022-03-05 11:49:44 +01:00
Zaiming (Stone) Shi 521f47ff80 build: add 4.4 dashboard download 2022-03-05 10:46:56 +01:00
Zaiming (Stone) Shi 87a2155fb5 Merge remote-tracking branch 'origin/main-v4.3' into main-v4.4 2022-03-05 10:40:03 +01:00
Zaiming (Stone) Shi c6660084f8 build: one place for dashboard version 2022-03-05 09:44:12 +01:00
zhanghongtong cb969b5493 Merge branch 'main-v4.4' of https://github.com/emqx/emqx into merge-4.3-to-4.4 2022-03-04 20:51:38 +08:00
Zaiming (Stone) Shi 3b22efeb9c build(update_appup): handle add_module instruction 2022-03-04 12:30:46 +01:00
JianBo He c5a6b47390 build(ci): fix package name 2022-03-03 11:57:17 +08:00
JianBo He f0be91b7fd Merge remote-tracking branch 'ce/main-v4.3' into merge-main-v4.3-into-v4.4 2022-03-03 11:13:45 +08:00
Zaiming (Stone) Shi 558748dab2 build(update_appup): only download package if not exist 2022-03-02 19:38:25 +01:00
Zaiming (Stone) Shi b0900fe25a build(update-appup): fix ARCH resolution 2022-03-02 19:37:11 +01:00
Shawn 8be8f538a1 fix(relup): verify emqx_relup call in upgrade and downgrade clauses 2022-03-02 11:56:44 +08:00
Shawn 77e3c1d3ac feat(relup): support providing 'Extra' parameter from appup.src 2022-03-02 10:48:10 +08:00
Zaiming (Stone) Shi ef382bf34c chore: add --make-command to update_appup script args 2022-03-01 17:04:05 +01:00
Zaiming (Stone) Shi 0996b79d96 chore: add a script to simplify appup update 2022-03-01 17:02:29 +01:00
Shawn 41afbd2b13 refactor(relup): don't collect relvsn -> appvsn mappings 2022-03-01 23:10:11 +08:00
Shawn 769e79e2cd chore(relup): also inject emqx_app automatically 2022-03-01 16:19:58 +08:00
Shawn a7791b6c58 fix(relup): download to 4.4.0 failed with error bad_lib_vsn 2022-03-01 11:33:49 +08:00
Shawn bcd56d3db2 Merge branch 'main-v4.4' into inject_relup_instructions_v4.4 2022-02-28 19:13:55 +08:00
Shawn f25b8801b4 fix(build): also make SYSTEM configurable by env variable 2022-02-28 19:07:38 +08:00
Zaiming (Stone) Shi bbbb0edca1 chore: skip downloading upgrade base images for windows
because we do not support relup for windows for now
2022-02-27 14:56:46 +01:00
Shawn 28bd2fcfa4 fix(relup): release upgrade failed with {bad_lib_vsn,emqx,"4.4.2"} 2022-02-27 20:04:21 +08:00
Shawn 17440b2b53 fix(relup): add module emqx_relup 2022-02-27 10:25:57 +08:00
Shawn 2365d1e983 fix(relup): inject relup only for the current rel vsn 2022-02-27 10:11:02 +08:00
Zaiming (Stone) Shi 8654600ea2 fix(update_appup): use curl command instead of wget 2022-02-26 17:00:47 +01:00
Zaiming (Stone) Shi 0931a426cd chore(update_appup.escript): make it work with dirty src dirs 2022-02-26 16:44:11 +01:00
Shawn 692d1e2a33 fix(relup): OTP_VSN: unbound variable 2022-02-26 21:31:09 +08:00
Shawn 91c46de4aa fix(relup): inject relup instructions to the end of relup file 2022-02-26 21:10:20 +08:00
Zaiming (Stone) Shi 4473a832bc build: fix macos -> macos* so matches macos10 and macos11 2022-02-22 09:43:06 +01:00
Zaiming (Stone) Shi fb7944391d build: fix shellcheck 2022-02-22 09:40:32 +01:00
JianBo He 18feec9030 chore(ci): fix the download filename 2022-02-22 13:43:46 +08:00
JianBo He 521bdd20b4 Merge remote-tracking branch 'ce/main-v4.3' into merge-main-v4.3-into-v4.4 2022-02-22 11:43:46 +08:00
Zaiming (Stone) Shi 5e3543e282
Merge pull request #7073 from zmstone/fix-find-command-for-4.3-and-4.4
build: fix find command for windows
2022-02-21 12:23:42 +01:00
Zaiming (Stone) Shi 107e447de4 build: fix find command for windows
windows has its own find command
2022-02-21 09:17:45 +01:00
Zaiming (Stone) Shi 3a5a2047e9 build: fix windows build 2022-02-21 00:53:56 +01:00
Ilya Averyanov 557c52dd8a chore(codestyle): remove Elvis 2022-02-18 20:35:19 +03:00
Shawn 3bd961ca73 fix(CI): remove e|v from downloading urls of emqx packages 2022-02-18 23:05:35 +08:00
Shawn 3690d1951e chore: add more debug info for relup-base-packages.sh 2022-02-18 22:41:03 +08:00
Zaiming (Stone) Shi cc1734490f chore: trigger a version check before pushing a tag 2022-02-17 11:20:19 +01:00
Xinyu Liu 09c5114d42
Merge pull request #7042 from Rory-Z/ci/fix-cross-build-fail
ci(cross build): fix build raspbian failed on armhf
2022-02-17 16:52:17 +08:00
zhanghongtong ee7acdfc33 ci(cross build): fix build raspbian failed on armhf 2022-02-17 15:52:36 +08:00
Xinyu Liu 1b5986a5e1
Merge pull request #7044 from terry-xiaoyu/fix_windows_build
fix(build): change header of shell script to "#!/usr/bin/env bash"
2022-02-17 15:33:34 +08:00
Shawn 037b9e440c fix(build): change header of shell script to "#!/usr/bin/env bash" 2022-02-17 15:21:17 +08:00
Zaiming (Stone) Shi 62dd815807 chore(scripts): make shellcheck happy 2022-02-16 16:16:35 +01:00
Zaiming (Stone) Shi 538f843f14 fix(relup-base-packages.sh): download per release edition 2022-02-16 16:16:10 +01:00
Zaiming (Stone) Shi f7135433be chore(relup-base-vsns.sh): rename PROFILE to EDITION
to avoid confusion with rebar profile
2022-02-16 14:10:43 +01:00
JianBo He 4775ea353d chore: update scripts/apps-version-check.sh
Co-authored-by: k32 <10274441+k32@users.noreply.github.com>
2022-02-16 19:41:17 +08:00
JianBo He e7ce4ed215 chore: force check for version upgrade of emqx_dashboard
same with: https://github.com/emqx/emqx/pull/5879
2022-02-16 18:38:55 +08:00
Rory Z 149fe7bcdf
Merge pull request #7010 from Rory-Z/build/add-new-script
build(relup): add new script for download relup base packages
2022-02-16 15:57:25 +08:00
zhanghongtong 2acdc64b9d style(script): rename variable name 2022-02-16 14:52:31 +08:00
Zaiming (Stone) Shi d2840a8aa1 docs: change EMQ X to EMQX in more descriptive info 2022-02-15 22:18:25 +01:00
zhanghongtong 091398d863 build(relup): add new script for download relup base packages 2022-02-15 17:57:31 +08:00
Zaiming (Stone) Shi 22ae8985c6 chore: compare to rel-* versions for appup 2022-02-14 22:18:53 +01:00
Zaiming (Stone) Shi 9f897a650a build: rename distro from 'rhel' to 'el' 2022-02-14 09:28:29 +01:00
Zaiming (Stone) Shi fd75756d5c ci: update to emqx-builder 4.4-5 (rockylinux) 2022-02-09 22:49:08 +01:00
Zaiming (Stone) Shi d863609f43 build: use rockylinux and 'rhel' for package names 2022-02-09 22:13:00 +01:00
Shawn 791b22f151
Merge branch 'main-v4.4' into copy_of_main-v4.3 2022-01-27 18:46:49 +08:00
Zaiming (Stone) Shi e5d196569c ci: find relup base version using script scripts/relup-base-vsns.sh 2022-01-26 18:26:43 +01:00
Shawn 301d6bf794 fix(ci): add some debug print for downloading rebar3 2022-01-26 18:55:17 +08:00
Shawn 362147924d fix(build): only use rebar3 3.18.0-emqx-1 for OTP 24 2022-01-25 11:02:39 +08:00
Shawn d422e6e700 fix(build): relup for otp24 failed
The defination of `#application{}` record in systools.hrl is changed in OTP 24.
So we need a rebar3 binary compiled with OTP 24.
2022-01-24 18:04:40 +08:00
JianBo He b297388c20 Merge branch 'main-v4.3' into merge-main-v4.3-into-v4.4 2022-01-11 10:03:28 +08:00
Zaiming (Stone) Shi feecaa6c98 build: ci tests.sh test specific package 2021-12-31 15:35:31 +01:00
Zaiming (Stone) Shi a21dade927 build: add scripts/buildx 2021-12-30 01:00:56 +01:00
Thales Macedo Garitezi 5a6225d397
Merge pull request #6480 from emqx/improve-update-appup-43
chore(update_appup): Improve `update_appup.escript`
2021-12-28 09:54:52 -03:00
Zaiming (Stone) Shi 967dc7d55e fix: portable shebang 2021-12-27 15:40:25 +01:00
Thales Macedo Garitezi 62ff6a8b30
chore(update_appup): rm unused value 2021-12-20 13:41:14 -03:00
Thales Macedo Garitezi b2396438a0
chore(update_appup): add expected versions check
For apps inside emqx umbrella, we try to bump only the patch part of
their version numbers, and use only 3-part version
numbers (`Major.Minor.Patch`).  With those assumptions, we may infer
all versions that need to be covered in a given upgrade, and check if
those are covered in regexes.
2021-12-20 13:38:08 -03:00
Thales Macedo Garitezi ce4a193cbb
chore(update_appup): rm unused fn 2021-12-20 13:21:01 -03:00
Thales Macedo Garitezi af3a1326d1
chore(update_appup): bugfix: variable not pinned in lambda 2021-12-20 13:21:01 -03:00
Thales Macedo Garitezi fef8a18bfb
chore(update_appup): insert `load_module`s after `application:stop`
If there is already any `application:stop(Application)` call in the
appup instructions, we prefer to add `load_module` instructions after
it, so we can be sure that the load is replaced safely.
2021-12-17 16:53:56 -03:00
Thales Macedo Garitezi 42ca5ab5a9
chore(update_appup): do not force appup render if contents are the same
To avoid losing comments and/or manual indentation in appup files that
are already up to date, we now check whether the contents have the
exact same terms as those we are about to write to an existint .appup
file.
2021-12-17 16:53:56 -03:00
Thales Macedo Garitezi e1e72c144a
chore(update_appup): do not use load_module if restart_application
Since the appup instruction `restart_application` already loads all
modules of a given application, there is no need to introduce those
instructions if a restart is already present.
2021-12-17 16:53:56 -03:00
Thales Macedo Garitezi 3ff6661a58
chore(update_appup): take regexes into account when comparing vsns
This change makes the `update_appup.escript` check whether the new
version of an application (the _current_ one) is already contained in
entries in the _new_ .appup file for that application if such .appup
file contains regexes.

NOTE: this does not cover the case in which we calculate the
difference between _old_ and _new_ appup entries, and those consist of
regexes.  In such case, we would need to check if one regex is
"contained" in the other, which is not currently supported by this
patch.
2021-12-17 16:53:55 -03:00
zhongwencool 2c2145dfe6 Merge branch 'main-v4.3' into sync-from-4.3 2021-12-07 23:20:01 +08:00
Thales Macedo Garitezi 93caddd448
refactor(review): factor out common functionality 2021-11-29 10:23:54 -03:00
Thales Macedo Garitezi 0932920d36
chore(appup): make update_appup.escript output only differences for
external dependencies

Currently, the update_appup.escript outputs as an error the full appup
file for external dependencies, even if all the changes are already
contained in the depency.  Here, we make it only output the missing
actions to be inserted, to aid in seeing what are the differences.
2021-11-25 15:21:25 -03:00
Thales Macedo Garitezi 29f982385d
chore(appup): remove old file extension and preserve dirname for apps 2021-11-24 15:09:25 -03:00
Thales Macedo Garitezi c950566294
chore(appup): minor fixes to update_appup.escript
- Fixes clause error on `create_stub/1`.
- Small optimization: do not download the same file multiple times
  with `wget`.
2021-11-24 14:22:51 -03: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
k32 113cfa6422 fix(update_appup): Fix warnings, add support for external repos 2021-11-18 12:31:02 +01:00
zhanghongtong af5f93d81a build: show macos version 2021-11-17 14:43:03 +08:00
Zaiming Shi ced2429011 fix: bump new feature lib-ce apps to 4.4 2021-11-16 16:08:36 +01:00
Zaiming Shi b68f01e7e7 build: do not print 'otp' prefix for otp version 2021-11-15 23:42:19 +01:00
zhanghongtong 454f609aa6 build: emqx package name scheme include otp version 2021-11-15 10:45:27 +08:00
Zaiming Shi 6222e1b0eb Merge remote-tracking branch 'origin/main-v4.3' into sync-v4.3-to-v4.4 2021-11-08 21:01:14 +01:00
k32 7d07e8d948 chore(emqx): Update version and appup file 2021-11-08 14:24:37 +01:00