9be7566cbb
feat: execute service as distributed erlang ( #96 )
...
continuous-integration/drone/push Build is passing
To create a cluster with distributed nodes, the following changes were made:
* Use [`dns_cluster`][0] to execute distributed nodes
* Add _script_ to execute distributed nodes locally
Also, improve local execution by:
* Use [`mix release`][1] to make easier [deploy `phoenix`][2]
* Use [`compose watch`][3] to synchronize code from the host with the service
Some minor improvements:
* Ignore files and folders in git and docker
* Remove boilerplate comments
[0]: https://github.com/phoenixframework/dns_cluster
[1]: https://hexdocs.pm/mix/Mix.Tasks.Release.html
[2]: https://hexdocs.pm/phoenix/releases.html
[3]: https://docs.docker.com/compose/how-tos/file-watch/
Co-authored-by: Joao P Dubas <joao.dubas@gmail.com>
Reviewed-on: #96
Co-authored-by: Joao P Dubas <joao.dubas+gitea@gmail.com>
Co-committed-by: Joao P Dubas <joao.dubas+gitea@gmail.com>
2024-09-22 18:56:27 +00:00
4195fc615f
feat: upgrade application dependencies ( #93 )
...
continuous-integration/drone/push Build is passing
[Upgrade deps][0]:
* `absinthe` from 1.7.7 to 1.7.8
* `ecto` from 3.11.2 to 3.12.0
* `ecto_sql` from 3.11.3 to 3.12.0
* `gettext` from 0.24.0 to 0.25.0
* `jason` from 1.4.3 to 1.4.4
* `mix_audit` from 2.1.3 to 2.1.4
* `postgrex` from 0.18.0 to 0.19.0
* `prom_ex` from 1.9.0 to 1.10.0
* `telemetry_metrics` from 0.6.2 to 1.0.0
Install transient deps:
* `peep` to 3.2.0
Reviewed-on: #93
[0]: https://diff.hex.pm/diffs?diffs[]=absinthe:1.7.7:1.7.8&diffs[]=ecto:3.11.2:3.12.0&diffs[]=ecto_sql:3.11.3:3.12.0&diffs[]=gettext:0.24.0:0.25.0&diffs[]=jason:1.4.3:1.4.4&diffs[]=mix_audit:2.1.3:2.1.4&diffs[]=postgrex:0.18.0:0.19.0&diffs[]=prom_ex:1.9.0:1.10.0&diffs[]=telemetry_metrics:0.6.2:1.0.0
Co-authored-by: Joao P Dubas <joao.dubas+gitea@gmail.com>
Co-committed-by: Joao P Dubas <joao.dubas+gitea@gmail.com>
2024-08-12 20:08:18 +00:00
39fd238ed8
feat: upgrade erlang and deps ( #87 )
...
continuous-integration/drone/push Build is passing
* Upgrade erlang to 27.0.1
* Upgrade abisnthe to 1.7.7
Reviewed-on: #87
Co-authored-by: Joao P Dubas <joao.dubas+gitea@gmail.com>
Co-committed-by: Joao P Dubas <joao.dubas+gitea@gmail.com>
2024-07-12 11:12:50 +00:00
3f83808335
feat: upgrade elixir and erlang runtimes, and deps ( #83 )
...
continuous-integration/drone/push Build is passing
Upgrade runtimes:
* [erlang from 26.2.5 to 27.0][0]
* [elixir from 1.16.3 to 1.17.1][1]
Upgrade dependencies:
* `castore` [from 1.0.6 to 1.0.8](https://diff.hex.pm/diff/castore/1.0.6..1.0.8 )
* `cowboy` [from 2.10.0 to 2.12.0](https://diff.hex.pm/diff/cowboy/2.10.0..2.12.0 )
* `cowlib` [from 2.12.1 to 2.13.0](https://diff.hex.pm/diff/cowlib/2.12.1..2.13.0 )
* `credo` [from 1.7.6 to 1.7.7](https://diff.hex.pm/diff/credo/1.7.6..1.7.7 )
* `db_connection` [from 2.6.0 to 2.7.0](https://diff.hex.pm/diff/db_connection/2.6.0..2.7.0 )
* `ecto_sql` [from 3.11.2 to 3.11.3](https://diff.hex.pm/diff/ecto_sql/3.11.2..3.11.3 )
* `erlex` [from 0.2.6 to 0.2.7](https://diff.hex.pm/diff/erlex/0.2.6..0.2.7 )
* `hpax` [from 0.1.2 to 1.0.0](https://diff.hex.pm/diff/hpax/0.1.2..1.0.0 )
* `jason` [from 1.4.1 to 1.4.3](https://diff.hex.pm/diff/jason/1.4.1..1.4.3 )
* `mime` [from 2.0.5 to 2.0.6](https://diff.hex.pm/diff/mime/2.0.5..2.0.6 )
* `mint` [from 1.5.2 to 1.6.2](https://diff.hex.pm/diff/mint/1.5.2..1.6.2 )
* `nimble_options` [from 1.1.0 to 1.1.1](https://diff.hex.pm/diff/nimble_options/1.1.0..1.1.1 )
* `nimble_pool` [from 1.0.0 to 1.1.0](https://diff.hex.pm/diff/nimble_pool/1.0.0..1.1.0 )
* `phoenix` [from 1.7.12 to 1.7.14](https://diff.hex.pm/diff/phoenix/1.7.12..1.7.14 )
* `phoenix_ecto` [from 4.6.1 to 4.6.2](https://diff.hex.pm/diff/phoenix_ecto/4.6.1..4.6.2 )
* `phoenix_live_dashboard` [from 0.8.3 to 0.8.4](https://diff.hex.pm/diff/phoenix_live_dashboard/0.8.3..0.8.4 )
* `phoenix_live_view` [from 0.20.14 to 0.20.17](https://diff.hex.pm/diff/phoenix_live_view/0.20.14..0.20.17 )
* `phoenix_view` [from 2.0.3 to 2.0.4](https://diff.hex.pm/diff/phoenix_view/2.0.3..2.0.4 )
* `plug` [from 1.15.3 to 1.16.1](https://diff.hex.pm/diff/plug/1.15.3..1.16.1 )
* `plug_crypto` [from 2.0.0 to 2.1.0](https://diff.hex.pm/diff/plug_crypto/2.0.0..2.1.0 )
* `telemetry_metrics_prometheus_core` [from 1.2.0 to 1.2.1](https://diff.hex.pm/diff/telemetry_metrics_prometheus_core/1.2.0..1.2.1 )
* `websock_adapter` [from 0.5.5 to 0.5.6](https://diff.hex.pm/diff/websock_adapter/0.5.5..0.5.6 )
* `yaml_elixir` [from 2.9.0 to 2.11.0](https://diff.hex.pm/diff/yaml_elixir/2.9.0..2.11.0 )
To make `graphql` work with the newer `erlang` and `elixir`, the `absinthe` is installed directly from github:
* [`absinthe`](358e273a26
)
* [`absinthe_plug`](3a984cc341
)
Finally, the `ci` routine was simplified, so test + lint is executed in parallel, and more core is reused.
[0]: https://www.erlang.org/news/170
[1]: https://github.com/elixir-lang/elixir/releases/tag/v1.17.1
Reviewed-on: #83
Co-authored-by: Joao P Dubas <joao.dubas+gitea@gmail.com>
Co-committed-by: Joao P Dubas <joao.dubas+gitea@gmail.com>
2024-07-08 21:04:26 +00:00
ece17e3cf9
feat: upgrade elixir runtimes and dependencies ( #78 )
...
continuous-integration/drone/push Build is passing
Upgrade [elixir][0] runtime from [1.16.2 to 1.16.3][1].
Also, [upgrade application dependencies][2]:
* `ecto_sql` from 3.11.1 to 3.11.2
* `phoenix_ecto` from 4.6.0 to 4.6.1
* `postgrex` from 0.17.5 to 0.18.0
Reviewed-on: #78
[0]: https://github.com/elixir-lang/elixir/releases/tag/v1.16.3
[1]: https://github.com/elixir-lang/elixir/compare/v1.16.2...v1.16.3
[2]: https://diff.hex.pm/diffs?diffs[]=ecto_sql:3.11.1:3.11.2&diffs[]=phoenix_ecto:4.6.0:4.6.1&diffs[]=postgrex:0.17.5:0.18.0
Co-authored-by: Joao P Dubas <joao.dubas+gitea@gmail.com>
Co-committed-by: Joao P Dubas <joao.dubas+gitea@gmail.com>
2024-05-28 14:27:49 +00:00
9aeaaabc35
chore(deps): upgrade erlang runtime and application dependencies ( #73 )
...
continuous-integration/drone/push Build is passing
Bump [application dependencies][app-diffs]:
* [`credo` from 1.7.5 to 1.7.6][credo-diffs]
* [`phoenix_ecto` from 4.5.1. to 4.6.0][phoenix_ecto-diffs]
Bump [`erlang`][erlang-release] from [26.2.3 to 26.2.5][erlang-diffs].
[app-diffs]: https://diff.hex.pm/diffs?diffs[]=credo:1.7.5:1.7.6&diffs[]=phoenix_ecto:4.5.1:4.6.0
[credo-diffs]: https://diff.hex.pm/diff/credo/1.7.5..1.7.6
[phoenix_ecto-diffs]: https://diff.hex.pm/diff/phoenix_ecto/4.5.1..4.6.0
[erlang-release]: https://www.erlang.org/patches/otp-26.2.5
[erlang-diffs]: https://github.com/erlang/otp/compare/OTP-26.2.3...OTP-26.2.5
Reviewed-on: #73
Co-authored-by: Joao P Dubas <joao.dubas+gitea@gmail.com>
Co-committed-by: Joao P Dubas <joao.dubas+gitea@gmail.com>
2024-05-16 18:46:25 +00:00
037f4d7504
feat(deps): bump application dependencies ( #70 )
...
continuous-integration/drone/push Build is passing
[Bump dependencies][0]:
1. junit_formatter from 3.3.1 to 3.4.0
2. phoenix from 1.7.11 to 1.7.12
3. plug_cowboy from 2.7.0 to 2.7.1
4. telemetry_poller from 1.0.0 to 1.1.0
[0]: https://diff.hex.pm/diffs?diffs%5B%5D=junit_formatter:3.3.1:3.4.0&diffs%5B%5D=phoenix:1.7.11:1.7.12&diffs%5B%5D=plug_cowboy:2.7.0:2.7.1&diffs%5B%5D=telemetry_poller:1.0.0:1.1.0
Co-authored-by: renovate-bot <renovate-bot@dubas.dev>
Reviewed-on: #70
Co-authored-by: Joao P Dubas <joao.dubas+gitea@gmail.com>
Co-committed-by: Joao P Dubas <joao.dubas+gitea@gmail.com>
2024-04-15 14:18:49 +00:00
9bd41ba3b8
chore(deps): bump erlang runtime and deps ( #67 )
...
continuous-integration/drone/push Build is passing
Update runtime:
* Bump [`erlang` from 26.2.2 to 26.2.3][0]
Update [dependencies][1]:
* credo from 1.7.4 to 1.7.5
* mix_audit from 2.1.2 to 2.1.3
* phoenix_ecto from 4.4.3 to 4.5.1
* postgrex from 0.17.4 to 0.17.5
[0]: https://www.erlang.org/patches/otp-26.2.3
[1]: https://diff.hex.pm/diffs?diffs[]=credo:1.7.4:1.7.5&diffs[]=mix_audit:2.1.2:2.1.3&diffs[]=phoenix_ecto:4.4.5:4.5.1&diffs[]=postgrex:0.17.4:0.17.5
Reviewed-on: #67
Co-authored-by: Joao P Dubas <joao.dubas+gitea@gmail.com>
Co-committed-by: Joao P Dubas <joao.dubas+gitea@gmail.com>
2024-03-19 16:23:27 +00:00
1b21556d2c
Upgrade runtime and deps ( #60 )
...
Upgrade project runtimes and dependencies to the latest versions.
1. Runtimes:
1. `elixir` to 1.16.1
1. `erlang` to 26.2.2
1. [Dependencies][0]:
1. `absinte` from 1.7.5 to 1.7.6
1. `credo` from 1.7.1 to 1.7.4
1. `dialyxir` from 1.4.2 to 1.4.3
1. `ecto_sql` from 3.10.3 to 3.11.1
1. `gettext` from 0.23.1 to 0.24.0
1. `mix_audit` from 2.1.1 to 2.1.2
1. `pg_ranges` from 1.1.0 to 1.1.1
1. `phoenix` from 1.7.10 to 1.7.11
1. `plug_cowboy` from 2.6.1 to 2.7.0
1. `postgrex` from 0.17.3 to 0.17.4
1. `telemetry_metrics` from 0.6.1 to 0.6.2
[0]: https://diff.hex.pm/diffs?diffs[]=absinte:1.7.5:1.7.6&diffs[]=credo:1.7.1:1.7.4&diffs[]=dialyxir:1.4.2:1.4.3&diffs[]=ecto_sql:3.10.3:3.11.1&diffs[]=gettext:0.23.1:0.24.0&diffs[]=mix_audit:2.1.1:2.1.2&diffs[]=pg_ranges:1.1.0:1.1.1&diffs[]=phoenix:1.7.10:1.7.11&diffs[]=plug_cowboy:2.6.1:2.7.0&diffs[]=postgrex:0.17.3:0.17.4&diffs[]=telemetry_metrics:0.6.1:0.6.2
Reviewed-on: #60
2024-02-11 13:53:11 +00:00
7420139650
feat(ci): additional code/deps/security checks ( #37 )
...
To improve `CI` quality the following checks were added:
* compile warnings
* deprecated dependencies
* insecure dependencies
* unused dependencies
* code vulnerabilities
Also, to improve `CI` execution time, dependencies checks and lining were separated from the test pipeline.
Last, but not least, to make local development easier a `Dockerfile` was created to contain any system dependencies, and targets to handle database creation and migration were added.
Reviewed-on: #37
2023-11-11 20:35:45 +00:00
62219ecc9f
chore(deps): upgrade locked deps ( #50 )
...
After running `mix do deps.unlock --all, deps.clean --all, clean, deps.get` the following dependencies were updated:
```
credo ................... 1.7.0 ... 1.7.1
db_connection ........... 2.5.0 ... 2.6.0
dialyxir ................ 1.4.0 ... 1.4.2
ecto_sql ................ 3.10.1 .. 3.10.2
gettext ................. 0.23.0 .. 0.23.1
phoenix ................. 1.7.9 ... 1.7.10
phoenix_ecto ............ 4.4.2 ... 4.4.3
phoenix_live_dashboard .. 0.8.0 ... 0.8.3
phoenix_live_view ....... 0.19.5 .. 0.20.1
phoenix_view ............ 2.0.2 ... 2.0.3
postgrex ................ 0.17.1 .. 0.17.3
websock_adapter ......... 0.5.4 ... 0.5.5
```
For a detailed diff view check [diff.hex.pm][0].
[0]: https://diff.hex.pm/diffs?diffs[]=credo:1.7.0:1.7.1&diffs[]=db_connection:2.5.0:2.6.0&diffs[]=dialyxir:1.4.0:1.4.2&diffs[]=ecto_sql:3.10.1:3.10.2&diffs[]=gettext:0.23.0:0.23.1&diffs[]=phoenix:1.7.9:1.7.10&diffs[]=phoenix_ecto:4.4.2:4.4.3&diffs[]=phoenix_live_dashboard:0.8.0:0.8.3&diffs[]=phoenix_live_view:0.19.5:0.20.1&diffs[]=phoenix_view:2.0.2:2.0.3&diffs[]=postgrex:0.17.1:0.17.3&diffs[]=websock_adapter:0.5.4:0.5.5
Reviewed-on: #50
Co-authored-by: Joao P Dubas <joao.dubas+gitea@gmail.com>
Co-committed-by: Joao P Dubas <joao.dubas+gitea@gmail.com>
2023-11-11 19:00:26 +00:00
d7c99b099d
chore(deps): update dependency prom_ex to ~> 1.9.0 ( #48 )
...
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| [prom_ex](https://hex.pm/packages/prom_ex ) | minor | `~> 1.8.0` -> `~> 1.9.0` |
---
This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS4xMTcuMyIsInVwZGF0ZWRJblZlciI6IjM1LjExNy4zIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->
Reviewed-on: #48
Co-authored-by: renovate-bot <renovate-bot@dubas.dev>
Co-committed-by: renovate-bot <renovate-bot@dubas.dev>
2023-10-12 21:47:51 +00:00
42f8276204
chore(deps): update dependency dialyxir to ~> 1.4.0 ( #40 )
...
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| [dialyxir](https://hex.pm/packages/dialyxir ) | minor | `~> 1.3.0` -> `~> 1.4.0` |
---
This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS4xMTcuMyIsInVwZGF0ZWRJblZlciI6IjM1LjExNy4zIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->
Reviewed-on: #40
Co-authored-by: renovate-bot <renovate-bot@dubas.dev>
Co-committed-by: renovate-bot <renovate-bot@dubas.dev>
2023-08-28 14:31:16 +00:00
f8cb4ddfbf
chore(deps): update dependency gettext to ~> 0.23.0 ( #38 )
...
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| [gettext](https://hex.pm/packages/gettext ) | minor | `~> 0.22.0` -> `~> 0.23.0` |
---
This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS4xMTcuMyIsInVwZGF0ZWRJblZlciI6IjM1LjExNy4zIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->
Reviewed-on: #38
Co-authored-by: renovate-bot <renovate-bot@dubas.dev>
Co-committed-by: renovate-bot <renovate-bot@dubas.dev>
2023-08-07 20:21:55 +00:00
22b3823d8e
chore(deps): update elixir docker tag ( #32 )
...
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| elixir | docker | patch | `1.14.4` -> `1.14.5` |
| elixir | | patch | `1.14.4` -> `1.14.5` |
| [elixir](https://elixir-lang.org/ ) ([source](https://github.com/elixir-lang/elixir )) | | minor | `1.14.4` -> `1.15.0` |
Also upgrade deps listed on [hex.pm/l/vtvfy][0].
---
This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC4xMTIuMCIsInVwZGF0ZWRJblZlciI6IjM0LjExMi4wIn0=-->
Co-authored-by: João Paulo Dubas <joao.dubas@noreply.gitea.dubas.dev>
Reviewed-on: #32
[0]: https://diff.hex.pm/diffs?diffs[]=absinthe:1.7.0:1.7.1&diffs[]=credo:1.6.4:1.7.0&diffs[]=dialyxir:1.1.0:1.3.0&diffs[]=ecto_sql:3.7.2:3.10.1&diffs[]=gettext:0.20.0:0.22.2&diffs[]=jason:1.3.0:1.4.0&diffs[]=lcov_ex:0.2.0:0.3.3&diffs[]=phoenix_ecto:4.4.0:4.4.2&diffs[]=phoenix_live_dashboard:0.6.5:0.8.0&diffs[]=prom_ex:1.7.1:1.8.0
Co-authored-by: renovate-bot <renovate-bot@dubas.dev>
Co-committed-by: renovate-bot <renovate-bot@dubas.dev>
2023-06-20 03:06:58 +00:00
6492aa4e0b
chore(deps): update dependency gettext to ~> 0.20 ( #19 )
...
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| [gettext](https://hex.pm/packages/gettext ) | minor | `~> 0.19` -> `~> 0.20` |
This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzMi4xMjcuMSIsInVwZGF0ZWRJblZlciI6IjMyLjEyNy4xIn0=-->
Reviewed-on: #19
Co-authored-by: renovate-bot <renovate-bot@dubas.dev>
Co-committed-by: renovate-bot <renovate-bot@dubas.dev>
2022-08-27 21:53:13 +00:00
34c3a3e4c2
feat: expose system metrics ( #4 )
...
Use prom_ex to expose system metrics to prometheus and create dashboards.
Co-authored-by: Joao P Dubas <joao.dubas@gmail.com>
Reviewed-on: #4
2022-05-03 16:19:39 +00:00
39419f8837
feat (ci): improve configuration ( #16 )
...
- Remove unused `github-actions` configuration
- Cache build and deps to make tests faster
- Add lint step
Reviewed-on: #16
2022-04-26 00:01:43 +00:00
0dc3d6f6c7
chore(deps): update dependency phoenix_live_dashboard to ~> 0.6 ( #11 )
...
continuous-integration/drone/push Build is passing
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| [phoenix_live_dashboard](https://hex.pm/packages/phoenix_live_dashboard ) | minor | `~> 0.4` -> `~> 0.6` |
This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate ).
Reviewed-on: #11
Co-authored-by: renovate-bot <renovate-bot@dubas.dev>
Co-committed-by: renovate-bot <renovate-bot@dubas.dev>
2022-04-25 13:31:13 +00:00
49bafee50c
chore: upgrade all deps ( #2 )
...
continuous-integration/drone/push Build encountered an error
Upgrade dependencies to their latest versions.
2022-04-21 23:29:43 +00:00
Joao P Dubas
585ffc122e
[extra-02] enable coverage tool
...
Even though ExCoveralls is the common library for coverage report in
elixir, we will use LcovEx because it generates lcov compatible reports
that can be used with some interesting actions in github.
2021-07-07 00:41:20 +00:00
Joao P Dubas
cd2f062ef5
[extra-02] install and configure junit formatter
...
With this change it's possible to generate test report that can be used
alongside continuous integration routine.
2021-07-06 01:12:25 +00:00
Joao P Dubas
e493aead51
[extra-02] add code analysis deps
...
Add credo and dialyxr to check code analysis/quality.
2021-06-28 13:55:55 +00:00
Joao P Dubas
553eca56df
[extra-01] add pg_ranges lib
...
This allow the system to use postgres range type.
2021-06-28 00:31:28 +00:00
Joao P Dubas
179bd7f85d
[day-04] add crudry to handle absinthe errors
2021-06-26 17:26:53 +00:00
Joao P Dubas
424bfa917e
[day-03] install absinthe dependency
...
Yeah, it's time to work with graphql in elixir.
2021-06-24 00:03:34 +00:00
Joao P Dubas
8658384030
[day-01] phoenix project setup
...
Create new phoenix project
2021-06-22 01:55:16 +00:00