Commit Graph

188 Commits

Author SHA1 Message Date
Zaiming (Stone) Shi 3a17fb2522
Merge pull request #8204 from zmstone/0612-build-exclude-sub-build-dirs
build: add strict-semver version bump check for apps
2022-06-13 19:33:06 +01:00
Zaiming (Stone) Shi 100aeda83b build: add strict-semver version bump check for apps 2022-06-13 17:46:06 +02:00
Zaiming (Stone) Shi 215286760a build: ignore _build sub-dir in release dir 2022-06-12 21:07:13 +02:00
Thales Macedo Garitezi 6a5c896f56
ci(relup): fix: follow URL redirects when checking for package existence 2022-06-09 11:51:02 -03:00
DDDHuang e1150e36a2 feat: dashboard v4.3.20 for ee 4.3.10 2022-05-30 11:30:23 +08:00
Zaiming (Stone) Shi 1bebbd6ee5 fix(emqx_os_mon): ensure alarm is deactivated on unsupported platforms 2022-05-25 16:21:53 +02:00
Zaiming (Stone) Shi 0400638f71 feat(update_appup.escript): allow skipped versions
Say app current version is 1.1.2, and the compare baes is
version 1.1.1, but there is a 1.1.2 in appup.

We may skip updating appup instructions for 1.1.2
as it's never used, (at least not in EMQX)
2022-05-25 15:36:12 +02:00
Shawn 41331c5c1a chore: release 4.3.15-rc.1 2022-05-23 22:26:20 +08:00
Thales Macedo Garitezi 0cfeca9d90
fix(update_appup): clean untracked nested git directories
Since the script copies the current workdir into the temporary
directory for the previous build, when we latter try to clean the
directory, `git clean -fdx` refuses to clean the folders of some
dependencies:

```
+ git clean -fdx
Skipping repository _build/default/lib/lc
```

So, if the branch contains a dependency with changed version, it'll
not be picked up by the script, as both versions will be identical and
hence have no `.appup` difference.
2022-04-28 11:09:25 -03:00
JimMoen 8f13a96788 chore: ignore comments and blank lines when app version checking 2022-04-14 11:23:25 +08:00
Zaiming (Stone) Shi d205cb6fc0 build: make centos6 happy 2022-04-08 14:26:03 +02:00
JimMoen 7f5abdfd5b chore: update dashboard version 2022-04-08 14:22:53 +08:00
Zaiming (Stone) Shi d6d232a7dd chore: make get-distro.sh aware of windows 2022-04-04 14:35:11 +02:00
Zaiming (Stone) Shi a54813dd69 fix(appup): re-generate appup from 4.3.13 2022-04-02 23:00:41 +02:00
Zaiming (Stone) Shi 38447ff187 chore(appup): fix update-appup.sh
git reset before clean
2022-03-31 10:10:12 +02:00
Zaiming (Stone) Shi 59fae1714b chore: use shorter path 2022-03-28 14:10:33 +02:00
Zaiming (Stone) Shi 6ca0e63599 chore: fix appup update script
so it can handle switch between tags
2022-03-28 09:58:03 +02:00
Zaiming (Stone) Shi d3bcc201d6
Merge pull request #7401 from zmstone/ci-add-build-base-option-to-appup-update-script
chore: update-appup.sh always rebuild baseline
2022-03-24 15:58:25 +01:00
Zaiming (Stone) Shi b8afa16b53 chore: fix shellcheck 2022-03-24 12:28:34 +01:00
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 5e42a67c8d chore: update dashboard vsn 2022-03-24 14:22:19 +08: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 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 c6660084f8 build: one place for dashboard version 2022-03-05 09:44:12 +01:00
Zaiming (Stone) Shi 3b22efeb9c build(update_appup): handle add_module instruction 2022-03-04 12:30:46 +01: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
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
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
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 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
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 e5d196569c ci: find relup base version using script scripts/relup-base-vsns.sh 2022-01-26 18:26:43 +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
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
k32 113cfa6422 fix(update_appup): Fix warnings, add support for external repos 2021-11-18 12:31:02 +01:00
k32 7d07e8d948 chore(emqx): Update version and appup file 2021-11-08 14:24:37 +01:00
Zaiming Shi 37edb03866 build: fix elvis check and ensure newline at EOF 2021-11-04 21:07:45 +01:00
Zaiming Shi 9832a2ed00 build: show linux distro in BUILT_ON info 2021-10-31 17:21:47 +01:00
Spycsh ec30fb346a chore: add cluster script for local machine 2021-10-28 12:07:23 +08:00
Zaiming Shi 08c2907d44 chore: skip appup file in vsn check script 2021-10-15 12:10:37 +02:00
Zaiming Shi 51bc9c83c3 fix: ignore unused var 2021-10-15 15:49:26 +08:00
k32 14aaa4affe fix(update_appup): Fix dependency check 2021-10-14 14:18:09 +02:00
k32 cb5db8059b fix(update_appup): Use a different syntax for substitution 2021-10-14 13:47:04 +02:00
k32 703f52cec7 feat(update_appup): Support binary releases (.zip) 2021-10-13 17:25:29 +02:00
k32 4643415b0b chore(appup): Update appup scripts 2021-10-12 17:45:10 +02:00
k32 668bcad4e0 fix(update_appup): Add forgotten CLI parameter 2021-10-07 09:59:32 +02:00
k32 20ee42be87 chore(update-appup): s/Pred/Prev/g 2021-10-06 23:45:52 +02:00
k32 29ad2c04da fix: Use application version instead of the release version 2021-10-06 23:45:52 +02:00
k32 ecf4d196eb feat(update_appup): Return error when missing appup.src 2021-10-06 23:45:52 +02:00
k32 89fbf5fea2 feat(update_appup): Add a warning message 2021-10-06 23:45:52 +02:00
k32 ca77749281 feat(update_appup): Add a full description of the algorithm 2021-10-06 23:45:52 +02:00
k32 6bee6279f8 feat(update_appup): Make the script more generic 2021-10-06 23:45:52 +02:00
k32 c50c72b18e fix(update_appup): Fix downgrade module loading 2021-10-06 23:45:52 +02:00
k32 f793883e35 refactor(update_appup): Minor code cleanup 2021-10-06 23:45:52 +02:00
k32 aca6367561 feat(update_appup): Create stubs 2021-10-06 23:45:52 +02:00
k32 4020db8fc1 feat(update_appup): Compare beam files 2021-10-06 23:45:52 +02:00
Zaiming Shi 1d9f5ea133 chore: force appup for emqx_dashboard app in each release 2021-10-06 22:19:05 +02:00
Turtle efa71d12fe chore(minirest): Upgrade minirest version to 0.3.7 2021-08-05 14:19:53 +08:00
Turtle a7d67eb862 fix(script): fix emqx-ee get dashboard src fail 2021-08-03 12:17:35 +08:00
tigercl fee3462603
fix(http pipelining): support to switch http pipelining (#5279) 2021-07-27 17:32:56 +08:00
Zaiming Shi 49a78c8ef2 fix(script): exclude non-edge apps in relup dependency 2021-06-23 21:30:59 +08:00
Zaiming Shi f17962e79a chore: add more info in error message 2021-06-23 19:40:12 +08:00
Turtle 98c4fff43f chore: fix inject deps notfound emqx_reloader 2021-06-23 19:03:06 +08:00
Zaiming Shi b92940af29 test(ci): add plugin list status check after relup new vsn install 2021-06-22 08:54:55 +08:00
Zaiming Shi bed45417dc chore(relup): add relup dependency injection 2021-06-22 08:54:55 +08:00
zhanghongtong 1098df815a chore(CI): fix relup error 2021-06-10 09:25:37 +08:00
Zaiming Shi 54458e3924 chore(appup): ensure emqx_app alwasy loaded in appup 2021-06-03 13:02:49 +02:00
Tobias Lindahl 981364341e chore(appup): load emqx_channel in appup
Note that the large whitespace diff on the appup file is because this
is the first time the new script for modifying appup files is used.
2021-06-03 12:22:58 +02:00
k32 4f425828d6 feat(scripts): Add an appup helper script 2021-06-02 11:50:49 +02:00
Zaiming Shi 1ab5909be3 build: use direct download link to get opensource dashboard 2021-05-27 16:18:17 +08:00
Zaiming Shi 0ac3e6e0ce build: ensure rebar3 in PATH 2021-05-27 16:18:17 +08:00
zhanghongtong f61397fe9a chore(script): update app vsn check script 2021-05-27 13:36:06 +08:00
Rory-Z 9698933f83 chore(CI): ignore changes to the etc directory when checking the app version 2021-05-14 17:35:45 +08:00