10 Commits

Author SHA1 Message Date
9be7566cbb feat: execute service as distributed erlang (#96)
All checks were successful
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
39fd238ed8 feat: upgrade erlang and deps (#87)
All checks were successful
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)
All checks were successful
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)
All checks were successful
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)
All checks were successful
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
9bd41ba3b8 chore(deps): bump erlang runtime and deps (#67)
All checks were successful
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
dbce23e51a chore(deps): update hexpm/elixir docker tag to v1.16.2 (#65)
All checks were successful
continuous-integration/drone/push Build is passing
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| hexpm/elixir | final | patch | `1.16.1-erlang-26.2.2-debian-bookworm-20240130-slim` -> `1.16.2-erlang-26.2.2-debian-bookworm-20240130-slim` |

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNjIuMSIsInVwZGF0ZWRJblZlciI6IjM3LjE2Mi4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Reviewed-on: #65
Co-authored-by: renovate-bot <renovate-bot@dubas.dev>
Co-committed-by: renovate-bot <renovate-bot@dubas.dev>
2024-03-19 12:48:38 +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
4d09f20e69 chore(deps): update elixir docker tag (#56)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| elixir | final | minor | `1.15.7-slim` -> `1.16.0-slim` |
| [elixir](https://elixir-lang.org/) ([source](https://github.com/elixir-lang/elixir)) |  | minor | `1.15.7` -> `1.16.1` |

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS4xMTcuMyIsInVwZGF0ZWRJblZlciI6IjM3LjE2Mi4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Reviewed-on: #56
Co-authored-by: renovate-bot <renovate-bot@dubas.dev>
Co-committed-by: renovate-bot <renovate-bot@dubas.dev>
2024-01-31 11:42:10 +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