Our GitHub workflow file varies slightly across projects so I'd like to use this PR as a blueprint. I'd also like to limit the amount of resources we take from GitHub, namely to start less VMs, unless we have a good reason to. I think just running on oldest Elixir+OTP and on newest Elixir+OTP should be fine the vast majority of time.
Summary of changes:
use ubuntu-16.04 for all builds. This makes sure we can use older OTP releases, like 19.x
limit build matrix to only oldest support and currently newest Elixir+OTP combination. If this project would be using any specific Elixir/OTP features, we'd extend the matrix accordingly.
perform lint tasks (compiling with warnings as errors, checking formatting, checking unused deps) in the same job on the latest combination.
Our GitHub workflow file varies slightly across projects so I'd like to use this PR as a blueprint. I'd also like to limit the amount of resources we take from GitHub, namely to start less VMs, unless we have a good reason to. I think just running on oldest Elixir+OTP and on newest Elixir+OTP should be fine the vast majority of time.
Summary of changes:
ubuntu-16.04
for all builds. This makes sure we can use older OTP releases, like 19.x