Commit Graph

136 Commits

Author SHA1 Message Date
Zaiming (Stone) Shi
2e94880bb6 docs: More EMQ X -> EMQX rename in descriptive strings 2022-02-15 22:39:11 +01:00
Zaiming (Stone) Shi
072ecd06f6 chore: exclude alpha beta and rc tags when checking app.src vsn bump 2022-02-14 22:23:52 +01:00
Zaiming (Stone) Shi
525bf47618 chore(buildx.sh): set bash -x option after help message 2022-02-10 12:40:46 +01:00
Thales Macedo Garitezi
eea217093b
fix(mix): include node_dump in tgz and packages 2022-02-07 18:15:17 -03:00
Ilya Averyanov
17599432d1 feat(license): add license application 2022-02-07 19:05:47 +03:00
William Yang
c9561478ac ci(build-cache): elixir build cache 2022-02-02 12:33:35 +01:00
William Yang
5c36143186 ci: remove centos8 support
due to centos8 EOL
2022-02-01 15:22:41 +01:00
William Yang
fd23581dc0
Merge pull request #6880 from qzhuyan/ci/william/aws-arm64-runner
ci: use aws arm64 runner in cross build jobs
2022-02-01 09:05:58 +01:00
Zaiming (Stone) Shi
c643db6bca build: move otp version check to rebar.config.erl 2022-01-31 16:39:14 +01:00
William Yang
4b71495101 ci: export CODE_PATH in test 2022-01-31 16:14:24 +01:00
William Yang
d7b70982d9 build(buildx): add support to run without docker 2022-01-31 16:14:22 +01:00
Thales Macedo Garitezi
d4a16fc94a
Merge pull request #6887 from emqx/mix-use-mix_env
chore(mix): use MIX_ENV to define build profile and edition

Instead of reading some environment variables to define the build profile for the Elixir build, we use the MIX_ENV value to emulate Rebar3's profiles. Also, that makes the build output directory more similar to EMQ X's current scheme.
2022-01-31 10:38:00 -03:00
Thales Macedo Garitezi
a597e92576
chore(mix): use MIX_ENV to define build profile and edition 2022-01-28 17:24:35 -03:00
William Yang
177d42cad4 ci(docker): scripts/docker-create-push-manifests.sh 2022-01-28 19:37:01 +01:00
k32
052bd9081d docs(schema): Fix typos in the schema files 2022-01-27 22:39:19 +01:00
Thales Macedo Garitezi
bd0d331b64
Merge pull request #6636 from emqx/elixir-packages-mkII
ci(mix): build emqx packages with elixir
2022-01-27 11:10:30 -03:00
Kian-Meng Ang
fc92e4c8bf docs: fix typos 2022-01-27 12:29:38 +01:00
Thales Macedo Garitezi
bba595a91f
fix(elixir): guard against missing elixir installation 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
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
ba6d4e4a19
fix(ci): raspbian arch is arm, not arm64 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
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
f3fe3db771 build: fix shellcheck 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
Zaiming (Stone) Shi
bfbc87aaca refactor(config): delete generated includes
In the following commits, the overrides will be loaded at runtime
2022-01-24 13:30:42 +01:00
Zaiming (Stone) Shi
638a9d1af7 build: change to build .tar.gz instead of zip 2022-01-13 18:54:01 +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
Zaiming (Stone) Shi
b2684b995d build: doc for win 2022-01-10 12:30:01 +01:00
Zaiming (Stone) Shi
4897e00aab chore(scripts): get-distro support windows 2022-01-10 12:15:23 +01:00
Zaiming (Stone) Shi
9f7b513a3f chore: fix copyright update script to include more files 2022-01-06 08:44:35 +01:00
Zaiming (Stone) Shi
153a44876e chore: add a script to update copyright end-year 2022-01-05 20:55:00 +01:00
Thales Macedo Garitezi
b9494662ae
fix(ci): fix shellcheck file pattern
Since we started to use the portable shebang style for our scripts, we
need to update the pattern used to find scripts for Shellcheck to
check.
2022-01-05 11:34:04 -03: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
320506957c refactor(bin/emqx): wait for up to 120 seconds by default 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
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
Thales Macedo Garitezi
1d71256305
chore(deps): update mix.lock (mongodb) 2022-01-03 10:02:59 -03: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
Thales Macedo Garitezi
fe444bf134
chore(shellcheck): use git grep to search only tracked files 2021-12-28 16:49:24 -03:00
Thales Macedo Garitezi
0020cf592f
Merge remote-tracking branch 'origin/master' into build-with-mix-mkII 2021-12-28 11:28:40 -03:00
Thales Macedo Garitezi
8342b3711d
chore(update_appup): Improve update_appup.escript (5.0)
Port of #6480 .

* Make the script regex-aware

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.

* Do not use `load_module` instructions if `restart_application` is present

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.

* Do not force `.appup.src` 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.

* Insert `load_module`s after `application:stop`, if present

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.

* 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-28 10:06:42 -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
Zaiming (Stone) Shi
68eb13d478 fix: portable shebang 2021-12-27 15:45:12 +01:00
Thales Macedo Garitezi
c14e8db869
style(format): format elixir files 2021-12-27 10:51:12 -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
014b6d3cfd
chore(shellcheck): fix shellcheck linting warnings 2021-12-22 15:43:43 -03:00