Commit Graph

8058 Commits

Author SHA1 Message Date
Thales Macedo Garitezi 4fccff9d9c
ci(mix): build emqx packages with elixir 2022-01-04 17:52:18 -03:00
Thales Macedo Garitezi 46d4c17b12
fix(mix): typo in variable name (pkg build) 2022-01-04 17:50:33 -03:00
Thales Macedo Garitezi 5cf067c85f
Merge pull request #6634 from emqx/fix-mix-deps-check
fix(ci): setup mix before running check
2022-01-04 14:09:36 -03: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 6603485e73
Merge pull request #6632 from zmstone/build-no-need-for-compile-step-before-release
build: remove 'compile' step before 'release'
2022-01-04 17:24:51 +01:00
Zaiming (Stone) Shi 9b6f99f738
Merge pull request #6633 from zmstone/build-mac-package-only-when-labled
ci: build mac package only when labeled with 'mac'
2022-01-04 17:19:37 +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 3c79966d8b build: remove 'compile' step before 'release'
'compile' is implict dependent step for 'release'
2022-01-04 14:47:17 +01:00
Thales Macedo Garitezi 1302e942c5
Merge pull request #6611 from emqx/stalebot-skip-prs
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 14:30:22 -03: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 9401b3fe49
Merge pull request #6612 from zmstone/ci-run-dialyzer-on-slef-hosted
ci: run dialyzer check on self-hosted runner
2022-01-03 16:49:46 +01:00
Zaiming (Stone) Shi b98a00c35d ci: run dialyzer check on self-hosted runner 2022-01-03 16:07:14 +01:00
Zaiming (Stone) Shi cc977abc45
Merge pull request #6610 from emqx/update-mongodb-mix
chore(deps): update mix.lock (mongodb)
2022-01-03 16:06:36 +01:00
k32 b4048c2789
Merge pull request #6609 from k32/dev/sysmon-conf
fix(system_monitor): Unify configuration with sysmon
2022-01-03 14:03:32 +01:00
Thales Macedo Garitezi 1d71256305
chore(deps): update mix.lock (mongodb) 2022-01-03 10:02:59 -03: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
k32 377ed03a20 fix(system_monitor): Unify configuration with sysmon 2022-01-03 12:09:37 +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
Thales Macedo Garitezi 33f06be5f1
Merge pull request #6600 from emqx/update-hocon
chore(hocon): update hocon version
2021-12-31 15:14:25 -03:00
Thales Macedo Garitezi 6858f496a7
chore(hocon): update hocon version 2021-12-31 14:13:39 -03:00
Ilya Averyanov 384493369b
Merge pull request #6587 from savonarola/improve-authz-coverage-more
chore(authz): increase coverage
2021-12-31 18:58:21 +03:00
Zaiming (Stone) Shi b09d0d8e4c
Merge pull request #6586 from zmstone/docs-explain-layered-config-at-the-top
docs: explain layered config at the top
2021-12-31 08:10:15 +01:00
Ilya Averyanov 2ffcaad41e chore(authz): increase coverage 2021-12-31 01:24:18 +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
Zaiming (Stone) Shi d88a648092 docs: update config doc
Explain layered style at the very top of the doc
2021-12-30 18:38:01 +01:00
Zaiming (Stone) Shi d191f7cf7e chore: update to hocon 0.22.2 2021-12-30 18:36:26 +01:00
Thales Macedo Garitezi c70a47bba6
refactor(mix): undo the `bin/emqx` script split into helper files 2021-12-30 13:45:13 -03:00
Zaiming (Stone) Shi 5cb2e5696d
Merge pull request #6309 from emqx/configure-stalebot
ci(stalebot): stalebot initial configuration
2021-12-30 14:35:51 +01:00
Ilya Averyanov c98e0efdad chore(mongodb): update client 2021-12-30 13:57:48 +03:00
Ilya Averyanov 7208669946 chore(authn): reduce number of pre-generated certificates, refactor
tests
2021-12-30 13:49:14 +03:00
Thales Macedo Garitezi 3fc8d4049f
Merge pull request #6571 from emqx/fix-sticky-shared-sub-conf
fix(config): add missing enum constructors for `shared_subscription_strategy`

Currently, there's [code](048afa6d2d/apps/emqx/src/emqx_shared_sub.erl (L270-L279)) and tests that expect the possibility of
values `sticky`, `hash_topic` and `hash_clientid` in the
`node.shared_subscritpion_strategy` configuration, but the schema enum
does not contain those constructors.

There's also a `hash` constructor expected, but apparently it's just for backwards compatibility (same as `hash_clientid`), so maybe we can skip it in 5.0
2021-12-29 15:08:49 -03:00
Zaiming (Stone) Shi fe338ca904
Merge pull request #6569 from zmstone/add-bsl
Add BSL
2021-12-29 15:53:54 +01:00
Thales Macedo Garitezi 048afa6d2d
fix(config): add missing enum constructors for `shared_subscription_strategy`
Currently, there's code and tests that expect the possibility of a
value `sticky`, `hash_topic` and `hash_clientid` in the
`node.shared_subscritpion_strategy` configuration, but the schema enum
does not contain those constructors.
2021-12-29 10:34:20 -03:00
Ilya Averyanov 2b3d3ebb0a chore(authn): test JWT authn with HTTPS key server 2021-12-29 16:24:57 +03:00
Ilya Averyanov f230c20521 chore(authn): test HTTPS authn 2021-12-29 16:24:57 +03:00
Ilya Averyanov a7ca6cb39f chore(authn): test MongoDB authn via ssl connection 2021-12-29 16:24:52 +03:00
Zaiming (Stone) Shi 7f49934216 chore: add BSL.txt 2021-12-29 13:35:49 +01:00
Zaiming (Stone) Shi f5049b696a docs: fix a misspell in emqx_mgmt_cli 2021-12-29 13:29:51 +01:00
Thales Macedo Garitezi 54a6674715
fix: undo tool-versions change 2021-12-28 17:35:54 -03:00
Thales Macedo Garitezi 8f4453fedb
fix(gateway): undo move headers to root `include`
Keeping headers in the src directory makes sense for the interfaces we
don't want to expose outside, but the `include_lib` directive fails to
compile under Mix. Changing `include_lib("emqx_gateway/src/...")` to
`-include("src/...")` pleases both Mix and Rebar.
2021-12-28 17:34:47 -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 3c966d77ca
Merge pull request #6560 from emqx/improve-update-appup-50
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 14:58:27 -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 ecbb28fedf
Merge pull request #6540 from emqx/fix-bin-vm-args
fix(bin_emqx): remove `vm_args` backup in `install`

The `install_upgrade.escript` depended on being able to retrieve the
`vm_args` argument from `init`, but that options has been removed
recently.  Since this backup was unused, we also remove it here.

Also, the `cuttlefish` script reference is removed, since it is no longer 
present in the release.
2021-12-28 11:27:02 -03:00
Thales Macedo Garitezi cea54365dd
chore(mix): keep debug info and docs in beams 2021-12-28 10:27:17 -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