Upgrade runtimes to the latest versions:
* elixir to 1.15.4
* erlang to 26.0.2
Improve CI definition by using a cache that considers the runtime version.
Save disk space by using the `slim` image variant.
Co-authored-by: Joao P Dubas <joao.dubas@gmail.com>
Reviewed-on: #35
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [meltwater/drone-cache](https://github.com/meltwater/drone-cache) | docker | minor | `v1.3.0` -> `v1.4.0` |
---
This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC4xMTIuMCIsInVwZGF0ZWRJblZlciI6IjM0LjExMi4wIn0=-->
Reviewed-on: #29
Co-authored-by: renovate-bot <renovate-bot@dubas.dev>
Co-committed-by: renovate-bot <renovate-bot@dubas.dev>
Welcome to [Renovate](https://github.com/renovatebot/renovate)! This is an onboarding PR to help you understand and configure settings before regular Pull Requests begin.
🚦 To activate Renovate, merge this Pull Request. To disable Renovate, simply close this Pull Request unmerged.
---
### Detected Package Files
* `docker-compose.yml` (docker-compose)
* `.drone.yml` (droneci)
* `.github/workflows/ci.yml` (github-actions)
* `mix.exs` (mix)
### Configuration Summary
Based on the default config's presets, Renovate will:
- Start dependency updates only once this onboarding PR is merged
- Enable Renovate Dependency Dashboard creation
- If semantic commits detected, use semantic commit type <code>fix</code> for dependencies and <code>chore</code> for all others
- Ignore `node_modules`, `bower_components`, `vendor` and various test/tests directories
- Autodetect whether to pin dependencies or maintain ranges
- Rate limit PR creation to a maximum of two per hour
- Limit to maximum 10 open PRs at any time
- Group known monorepo packages together
- Use curated list of recommended non-monorepo package groupings
- Fix some problems with very old Maven commons versions
- Ignore spring cloud 1.x releases
- Ignore web3j 5.0.0 release
- Ignore http4s digest-based 1.x milestones
- Use node versioning for @types/node
- Limit concurrent requests to reduce load on Repology servers until we can fix this properly, see issue 10133
- Do not upgrade from Alpine stable to edge
🔡 Would you like to change the way Renovate is upgrading your dependencies? Simply edit the `renovate.json` in this branch with your custom config and the list of Pull Requests in the "What to Expect" section below will be updated the next time Renovate runs.
---
### What to Expect
With your current configuration, Renovate will create 7 Pull Requests:
<details>
<summary>chore(deps): update styfle/cancel-workflow-action action to v0.9.1</summary>
- Schedule: ["at any time"]
- Branch name: `renovate/styfle-cancel-workflow-action-0.x`
- Merge into: `main`
- Upgrade [styfle/cancel-workflow-action](https://github.com/styfle/cancel-workflow-action) to `0.9.1`
</details>
<details>
<summary>chore(deps): update dependency gettext to ~> 0.19</summary>
- Schedule: ["at any time"]
- Branch name: `renovate/gettext-0.x`
- Merge into: `main`
- Upgrade gettext to `~> 0.19`
</details>
<details>
<summary>chore(deps): update dependency phoenix_live_dashboard to ~> 0.6</summary>
- Schedule: ["at any time"]
- Branch name: `renovate/phoenix_live_dashboard-0.x`
- Merge into: `main`
- Upgrade phoenix_live_dashboard to `~> 0.6`
</details>
<details>
<summary>chore(deps): update dependency telemetry_metrics to ~> 0.6</summary>
- Schedule: ["at any time"]
- Branch name: `renovate/telemetry_metrics-0.x`
- Merge into: `main`
- Upgrade telemetry_metrics to `~> 0.6`
</details>
<details>
<summary>chore(deps): update romeovs/lcov-reporter-action action to v0.3.1</summary>
- Schedule: ["at any time"]
- Branch name: `renovate/romeovs-lcov-reporter-action-0.x`
- Merge into: `main`
- Upgrade [romeovs/lcov-reporter-action](https://github.com/romeovs/lcov-reporter-action) to `v0.3.1`
</details>
<details>
<summary>chore(deps): update actions/cache action to v3</summary>
- Schedule: ["at any time"]
- Branch name: `renovate/actions-cache-3.x`
- Merge into: `main`
- Upgrade [actions/cache](https://github.com/actions/cache) to `v3`
</details>
<details>
<summary>chore(deps): update actions/checkout action to v3</summary>
- Schedule: ["at any time"]
- Branch name: `renovate/actions-checkout-3.x`
- Merge into: `main`
- Upgrade [actions/checkout](https://github.com/actions/checkout) to `v3`
</details>
<br />
🚸 Branch creation will be limited to maximum 2 per hour, so it doesn't swamp any CI resources or spam the project. See docs for `prhourlylimit` for details.
---
❓ Got questions? Check out Renovate's [Docs](https://docs.renovatebot.com/), particularly the Getting Started section.
If you need any further assistance then you can also [request help here](https://github.com/renovatebot/renovate/discussions).
---
This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
Reviewed-on: #7
Co-authored-by: renovate-bot <renovate-bot@dubas.dev>
Co-committed-by: renovate-bot <renovate-bot@dubas.dev>
1. Ignore unnecessary files, such as `pgcli` log/history, and extra `docker-compose` definitions.
2. Add `Makefile` with common tasks.
3. Add git pre-commit hook to ensure project is always properly formatted.
4. Add [`btree_gist`][0] extension to `postgres`.
Reviewed-on: #6
[0]: https://www.postgresql.org/docs/14/btree-gist.html
* Upgrade elixir, erlang, and postgres to their latest versions.
* Fix CI configuration, so tests are executed.
* Migrate project configuration from `Mix.Config` to `Config`.
Reviewed-on: #5
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.
To make easier to run the app locally with docker and in CI, the
configurations were adjusted to read the database access from
environment variables:
1. POSTGRES_USER
2. POSTGRES_PASS
3. POSTGRES_HOST
We move from start/end date to a period date range to represent the
interval where a training take place.
Besides that, new constraints are added to ensure a trainings of a user
can't overlap. These constraints reflect in changeset validation.