michalmuskala / jason

A blazing fast JSON parser and generator in pure Elixir.
Other
1.62k stars 169 forks source link

Migrate CI to GitHub Actions, adding recommended Elixir and Erlang/OTP combinations #112

Closed adrianomitre closed 4 years ago

adrianomitre commented 4 years ago

This pull request migrate the CI from Travis CI to GitHub Actions, as requested by José Valim in this comment.

In addition, it makes sure all recommended Elixir and Erlang/OTP combinations are run on CI.

Quoting José Valim:

I would still advise folks to go with:

  • For each Elixir version, add a run with earliest supported Erlang/OTP
  • For the last Elixir version, also test the latest supported Erlang/OTP

Please refer to the original discussion on https://github.com/dashbitco/broadway/pull/188 for the full rationale.

Additional functionality: make sure there are no compilation warnings.

In case one wonders why not use otp: N.x for OTP as well as for Elixir, the reason is the following: actions/setup-elixir v1.4.0 uses semantic version resolution for Erlang/OTP, but Erlang/OTP version scheme does not follow SemVer and "In general, versions can have more than three parts.", so otp: 19.x resolves to 19.3.6, not 19.3.6.13, as expected.

michalmuskala commented 4 years ago

This looks awesome! Thank you ❤️