182 Commits

Author SHA1 Message Date
adfb85533b
merge: updates from upstream
Conflicts:
    mix.lock
2024-11-02 14:22:34 +00:00
d0114d9c46 feat: always build image when running tests (#107)
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #107
Co-authored-by: Joao P Dubas <joao.dubas+gitea@gmail.com>
Co-committed-by: Joao P Dubas <joao.dubas+gitea@gmail.com>
2024-11-02 14:19:04 +00:00
fb001fc8b5 chore: update deps (#106)
All checks were successful
continuous-integration/drone/push Build is passing
Update deps:

* `ecto_sql` from 3.12.0 to 3.12.1
* `phoenix_ecto` from 4.6.2 to 4.6.3
* `postgrex` from 0.19.1 to 0.19.2

Update deps of deps:

* `castore` from 1.0.9 to 1.0.9
* `ecto` from 3.12.4 to 3.12.4
* `file_system` from 1.0.0 to 1.0.1
* `peep` from 3.2.0 to 3.3.0

Reviewed-on: #106
Co-authored-by: Joao P Dubas <joao.dubas+gitea@gmail.com>
Co-committed-by: Joao P Dubas <joao.dubas+gitea@gmail.com>
2024-11-02 14:10:33 +00:00
f5d001d419
merge: updates from upstream 2024-11-02 13:30:15 +00:00
70582003de feat: check code quality through git hooks (#105)
All checks were successful
continuous-integration/drone/push Build is passing
Add `git hooks` that execute common and repetitive tasks before committing and pushing to make developer life easier.

Reviewed-on: #105
Co-authored-by: Joao P Dubas <joao.dubas+gitea@gmail.com>
Co-committed-by: Joao P Dubas <joao.dubas+gitea@gmail.com>
2024-11-02 13:29:32 +00:00
aef062dcf5
fix(growth): remove unused match
All checks were successful
continuous-integration/drone/pr Build is passing
2024-11-02 12:56:38 +00:00
02540e1046
merge: updates from upstream
All checks were successful
continuous-integration/drone/pr Build is passing
Conflicts:
  mix.exs
  mix.lock
2024-10-30 19:56:46 +00:00
ab97a6c14f chore(deps): update dependency prom_ex to ~> 1.11.0 (#104)
All checks were successful
continuous-integration/drone/push Build is passing
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [prom_ex](https://hex.pm/packages/prom_ex) | minor | `~> 1.10.0` -> `~> 1.11.0` |

---

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

Reviewed-on: #104
Co-authored-by: renovate-bot <renovate-bot@dubas.dev>
Co-committed-by: renovate-bot <renovate-bot@dubas.dev>
2024-10-30 19:25:50 +00:00
69cd36d7e1
merge: updates from upstream
All checks were successful
continuous-integration/drone/pr Build is passing
2024-10-21 02:16:01 +00:00
f6cfff14e7
merge: update from upstream
All checks were successful
continuous-integration/drone/pr Build is passing
2024-10-21 02:14:48 +00:00
216015fb82 chore(docker/ci): bump erlang to 27.1.2 (#103)
All checks were successful
continuous-integration/drone/push Build is passing
Also, use debian bookworm 20241016.

Reviewed-on: #103
Co-authored-by: Joao P Dubas <joao.dubas+gitea@gmail.com>
Co-committed-by: Joao P Dubas <joao.dubas+gitea@gmail.com>
2024-10-21 02:13:56 +00:00
ffa2a68b7a
fix(growth): use Application.app_dir to write/read priv dir
All checks were successful
continuous-integration/drone/pr Build is passing
2024-10-21 01:53:14 +00:00
26b72afd5a chore(deps): update dependency erlang to v27.1.2 (#102)
All checks were successful
continuous-integration/drone/push Build is passing
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [erlang](https://github.com/erlang/otp) | patch | `27.1.1` -> `27.1.2` |

---

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

Reviewed-on: #102
Co-authored-by: renovate-bot <renovate-bot@dubas.dev>
Co-committed-by: renovate-bot <renovate-bot@dubas.dev>
2024-10-21 01:51:44 +00:00
fb38910137
test(growth): add test for happy download paths
All checks were successful
continuous-integration/drone/pr Build is passing
2024-10-07 19:27:27 +00:00
6ba171343d
test(growth): add dep to write in-memory excel data
This will be used to mock data from WHO site.
2024-10-07 19:23:26 +00:00
0fc8c56c41
chore(growth): add separated method to merge genders data
This makes easier to test aggregation logic for multiple gender
configuration.
2024-10-07 19:22:14 +00:00
c77d4eb97d
chore(growth): allow one to customize Req options
With this change it's possible to change the way the application make
requests to WHO website.
2024-10-07 19:21:27 +00:00
df16f2ce1c
merge: updates from upstream
All checks were successful
continuous-integration/drone/pr Build is passing
2024-10-07 12:17:42 +00:00
5e029670eb feat: execute test with docker compose (#101)
All checks were successful
continuous-integration/drone/push Build is passing
When we changed the application to be executed as distributed nodes (PR #96), performing tests with `docker-compose` became impossible.

To fix this situation in this PR, two new targets are added to `Makefile`:

* `compose_test`
* `compose_test_shell`

These new targets allow one to execute tests and enter the container shell responsible for running these tests.

Reviewed-on: #101
Co-authored-by: Joao P Dubas <joao.dubas+gitea@gmail.com>
Co-committed-by: Joao P Dubas <joao.dubas+gitea@gmail.com>
2024-10-07 12:16:07 +00:00
25cb7508bb
test(growth): add main module tests
All checks were successful
continuous-integration/drone/pr Build is passing
2024-10-05 15:11:33 +00:00
84cf6758bb
fix(growth): results is now a keyword list 2024-10-05 15:10:40 +00:00
7e041ae6c9
chore(growth): adjust indicator lookup to use atoms for unit 2024-10-05 15:09:44 +00:00
82d7009b34
chore(growth): adjust key in ets tables to contain atoms
The `ets` tables containing growth indicator has a key in the form of
`{gender :: atom(), unit :: atom(), value :: number()}`.
2024-10-05 15:07:10 +00:00
fa65a36852
test(growth): fix doctest for centile and percentile
All checks were successful
continuous-integration/drone/pr Build is passing
2024-10-05 12:58:36 +00:00
1e36c29180
test(growth): add percentile test 2024-10-05 12:58:04 +00:00
8c89b55487
test(growth): add centile compute test 2024-10-05 12:57:20 +00:00
a427e11958
test(growth): add zscore compute test 2024-10-05 12:56:28 +00:00
c9e3bf68ae
test(growth): add bmi test 2024-10-05 12:55:44 +00:00
7670dce630
test(growth): add sample data to be used in tests 2024-10-05 12:53:56 +00:00
f3846cad24
chore(growth): update doc to reflect percentile values
All checks were successful
continuous-integration/drone/pr Build is passing
This fixes an issue were the returned value represented the measurment
at a given z-score (the centile value).
2024-10-03 22:16:15 +00:00
27a7a05584
fix(growth): improve doc for centile calculation
This module converts a given z-score and Box-Cox values into the related
measurement.
2024-10-03 22:14:56 +00:00
fc0d9db7a5
merge: updates from upstream
All checks were successful
continuous-integration/drone/pr Build is passing
Conflicts:
  mix.exs
  mix.lock
2024-10-02 12:31:04 +00:00
0ae8bf53a2 chore(deps): update dependency gettext to ~> 0.26.0 (#94)
All checks were successful
continuous-integration/drone/push Build is passing
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [gettext](https://hex.pm/packages/gettext) | minor | `~> 0.25.0` -> `~> 0.26.0` |

---

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

Co-authored-by: Joao P Dubas <joao.dubas+gitea@gmail.com>
Reviewed-on: #94
Co-authored-by: renovate-bot <renovate-bot@dubas.dev>
Co-committed-by: renovate-bot <renovate-bot@dubas.dev>
2024-10-02 11:51:23 +00:00
d9dcfa3846
merge: updates from upstream
All checks were successful
continuous-integration/drone/pr Build is passing
2024-10-02 10:40:04 +00:00
235396f041 chore: upgrade deps and match ci services to the ones used locally (#100)
All checks were successful
continuous-integration/drone/push Build is passing
Upgrade deps:

* `credo` from 1.7.7 to 1.7.8
* `dialyxir` from 1.4.3 to 1.4.4
* `plug_cowboy` from 2.7.1 to 2.7.2
* `postgrex` from 0.19.0 to 0.19.1

In `CI` match image versions:

* `postgres` from 16.4 to 17.0
* `erlang` from 27.0.1 to 27.1.1
* `elixir` from 1.17.2 to 1.17.3

Reviewed-on: #100
Co-authored-by: Joao P Dubas <joao.dubas+gitea@gmail.com>
Co-committed-by: Joao P Dubas <joao.dubas+gitea@gmail.com>
2024-10-02 10:39:16 +00:00
dbb9fed9f8 chore(deps): update dependency erlang to v27.1.1 (#99)
All checks were successful
continuous-integration/drone/push Build is passing
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [erlang](https://github.com/erlang/otp) | patch | `27.1` -> `27.1.1` |

---

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

Reviewed-on: #99
Co-authored-by: renovate-bot <renovate-bot@dubas.dev>
Co-committed-by: renovate-bot <renovate-bot@dubas.dev>
2024-10-01 20:38:54 +00:00
3a69b8d4ff
merge: updates from upstream
All checks were successful
continuous-integration/drone/pr Build is passing
2024-10-01 14:29:26 +00:00
bb149d1137 chore(deps): update postgres docker tag to v17 (#98)
All checks were successful
continuous-integration/drone/push Build is passing
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| postgres | major | `16.4-alpine` -> `17.0-alpine` |

---

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

Reviewed-on: #98
Co-authored-by: renovate-bot <renovate-bot@dubas.dev>
Co-committed-by: renovate-bot <renovate-bot@dubas.dev>
2024-10-01 14:28:44 +00:00
7c15e1fae6
chore: execute dialyzer with short format
All checks were successful
continuous-integration/drone/pr Build is passing
2024-09-26 00:32:44 +00:00
8328bbe9fb
merge: updates from tracking
All checks were successful
continuous-integration/drone/pr Build is passing
2024-09-25 23:48:32 +00:00
90613635fb
merge: updates from upstream
All checks were successful
continuous-integration/drone/pr Build is passing
Conflicts:
    .gitignore
    lib/wabanex/application.ex
    mix.lock
2024-09-22 19:06:02 +00:00
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
0a4e262b91 chore(deps): update dependency erlang to v27.1 (#95)
All checks were successful
continuous-integration/drone/push Build is passing
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [erlang](https://github.com/erlang/otp) | minor | `27.0.1` -> `27.1` |

---

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

Reviewed-on: #95
Co-authored-by: renovate-bot <renovate-bot@dubas.dev>
Co-committed-by: renovate-bot <renovate-bot@dubas.dev>
2024-09-20 13:07:08 +00:00
bcdabe41c3 chore(deps): update dependency elixir to v1.17.3 (#81)
All checks were successful
continuous-integration/drone/push Build is passing
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [elixir](https://elixir-lang.org/) ([source](https://github.com/elixir-lang/elixir)) | patch | `1.17.2-otp-27` -> `1.17.3` |

---

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

Reviewed-on: #81
Co-authored-by: renovate-bot <renovate-bot@dubas.dev>
Co-committed-by: renovate-bot <renovate-bot@dubas.dev>
2024-09-19 18:07:20 +00:00
dc6e00d54b
chore: ignore elixir tools folder
All checks were successful
continuous-integration/drone/pr Build is passing
2024-09-18 11:49:23 +00:00
5c044e69d9
fix(growth): use centile and percentile correctly
1. The calculation made in `Grownth.Calc.Centile.compute/4` converts a
   given z-score into the expected measurement value.
   This can be used to get specific values for key z-scores, such as,
   -3, -2, 2 and 3.
2. To calculate the percentile of a given z-score the system uses the
   cumulative distribution function.
2024-08-28 13:03:45 +00:00
824a70452f
merge: updates from upstream
All checks were successful
continuous-integration/drone/pr Build is passing
2024-08-13 14:17:32 +00:00
4d545074f5 chore(deps): update postgres docker tag to v16.4 (#90)
All checks were successful
continuous-integration/drone/push Build is passing
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| postgres | minor | `16.3-alpine` -> `16.4-alpine` |

---

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

Co-authored-by: Joao P Dubas <joao.dubas+gitea@gmail.com>
Reviewed-on: #90
Co-authored-by: renovate-bot <renovate-bot@dubas.dev>
Co-committed-by: renovate-bot <renovate-bot@dubas.dev>
2024-08-13 14:09:16 +00:00
b696cc129d
merge: updates from upstream
All checks were successful
continuous-integration/drone/pr Build is passing
Conflicts:
    mix.exs
    mix.lock
2024-08-12 20:19:36 +00:00
4195fc615f feat: upgrade application dependencies (#93)
All checks were successful
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