Tweak our test combos (#31)

This commit is contained in:
Paulo F. Oliveira
2021-04-19 23:17:55 +01:00
committed by GitHub
parent 78d10b5f61
commit d2707f347b
4 changed files with 89 additions and 67 deletions
+79 -64
View File
@@ -21,99 +21,114 @@ jobs:
integration_test: integration_test:
name: > name: >
Pre-release integration tests Pre-release integration tests
(Erlang/OTP ${{matrix.pair.otp-version}}, (Ubuntu ${{matrix.combo.os}},
Elixir ${{matrix.pair.elixir-version}}, Erlang/OTP ${{matrix.combo.otp-version}},
rebar3 ${{matrix.pair.rebar3-version}}) Elixir ${{matrix.combo.elixir-version}},
runs-on: ubuntu-18.04 rebar3 ${{matrix.combo.rebar3-version}})
runs-on: ${{matrix.combo.os}}
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
pair: combo:
# Full Versions - elixir-version: 'v1.0'
- otp-version: '22.0' otp-version: '17'
elixir-version: '1.9.1' os: 'ubuntu-16.04'
- otp-version: '22.3.4' - elixir-version: 'v1.0'
rebar3-version: '3.14.4' otp-version: '17'
# Semver ranges os: 'ubuntu-18.04'
- otp-version: '21.x' - elixir-version: 'v1.1'
elixir-version: '<1.9.1' otp-version: '18'
- otp-version: '21.x' os: 'ubuntu-16.04'
rebar3-version: '3.14.4' - elixir-version: 'v1.1'
# Branches otp-version: '18'
- otp-version: '22.0' os: 'ubuntu-18.04'
elixir-version: master - elixir-version: 'v1.2'
- otp-version: 'master' otp-version: '19'
elixir-version: '1.11.3' rebar3-version: '3.10'
# Pre-releases os: 'ubuntu-16.04'
- otp-version: '23.0' - elixir-version: 'v1.2'
elixir-version: '1.11.0-rc.0' otp-version: '19'
# Fallback to Elixir (with no OTP) rebar3-version: '3.10'
- otp-version: '24.0-rc1' os: 'ubuntu-18.04'
elixir-version: '1.9.3' - elixir-version: 'v1.4'
# Miscellaneous combos otp-version: '20'
- elixir-version: 'master' rebar3-version: '3.11'
otp-version: '22.3' os: 'ubuntu-16.04'
- elixir-version: 'master' - elixir-version: 'v1.4'
otp-version: '22' otp-version: '20'
- elixir-version: 'master' rebar3-version: '3.11'
otp-version: '^22' os: 'ubuntu-18.04'
- elixir-version: 'master' - elixir-version: 'v1.4'
otp-version: '22' otp-version: '20'
- elixir-version: '1.6.5' rebar3-version: '3.11'
otp-version: 'maint-21' os: 'ubuntu-20.04'
- elixir-version: 'v1.6.5' - elixir-version: 'v1.6'
otp-version: 'maint-21'
- elixir-version: 'v1.9.x'
otp-version: '21.1'
- elixir-version: '1.9.x'
otp-version: '21' otp-version: '21'
- elixir-version: 'v1.8.x' rebar3-version: '3.12'
os: 'ubuntu-16.04'
- elixir-version: 'v1.6'
otp-version: '21'
rebar3-version: '3.12'
os: 'ubuntu-18.04'
- elixir-version: 'v1.6'
otp-version: '21'
rebar3-version: '3.12'
os: 'ubuntu-20.04'
- elixir-version: 'v1.7'
otp-version: '22' otp-version: '22'
- elixir-version: 'v1.8.x' rebar3-version: '3.13'
otp-version: '23.1' os: 'ubuntu-16.04'
- elixir-version: 'v1.8' - elixir-version: 'v1.7'
otp-version: '^22.3' otp-version: '22'
rebar3-version: '3.13'
os: 'ubuntu-18.04'
- elixir-version: 'v1.7'
otp-version: '22'
rebar3-version: '3.13'
os: 'ubuntu-20.04'
- elixir-version: 'v1.10' - elixir-version: 'v1.10'
otp-version: '21.x'
- elixir-version: 'v1.x'
otp-version: 'master'
- elixir-version: 'v1.11.0-rc.0'
otp-version: '23' otp-version: '23'
- elixir-version: 'v1.11.0-rc.0' rebar3-version: '3.14'
otp-version: '23.0' os: 'ubuntu-16.04'
- elixir-version: 'v1.11.0-rc.0' - elixir-version: 'v1.10'
otp-version: 'master' otp-version: '23'
rebar3-version: '3.14'
os: 'ubuntu-18.04'
- elixir-version: 'v1.10'
otp-version: '23'
rebar3-version: '3.14'
os: 'ubuntu-20.04'
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
- name: Use erlef/setup-beam - name: Use erlef/setup-beam
id: setup-beam id: setup-beam
uses: ./ uses: ./
with: with:
otp-version: ${{matrix.pair.otp-version}} otp-version: ${{matrix.combo.otp-version}}
elixir-version: ${{matrix.pair.elixir-version}} elixir-version: ${{matrix.combo.elixir-version}}
rebar3-version: ${{matrix.pair.rebar3-version}} rebar3-version: ${{matrix.combo.rebar3-version}}
- name: Erlang/OTP version (action) - name: Erlang/OTP version (action)
run: echo "Erlang/OTP ${{steps.setup-beam.outputs.otp-version}}" run: echo "Erlang/OTP ${{steps.setup-beam.outputs.otp-version}}"
- name: Elixir version (action) - name: Elixir version (action)
run: echo "Elixir ${{steps.setup-beam.outputs.elixir-version}}" run: echo "Elixir ${{steps.setup-beam.outputs.elixir-version}}"
if: ${{matrix.pair.elixir-version}} if: ${{matrix.combo.elixir-version}}
- name: rebar3 version (action) - name: rebar3 version (action)
run: echo "rebar3 ${{steps.setup-beam.outputs.rebar3-version}}" run: echo "rebar3 ${{steps.setup-beam.outputs.rebar3-version}}"
if: ${{matrix.pair.rebar3-version}} if: ${{matrix.combo.rebar3-version}}
- name: mix version and help (CLI) - name: mix version and help (CLI)
run: | run: |
mix -v mix -v
mix help local.rebar mix help local.rebar
mix help local.hex mix help local.hex
if: ${{matrix.pair.elixir-version}} if: ${{matrix.combo.elixir-version}}
- name: Run Mix project tests - name: Run Mix project tests
run: | run: |
cd test-projects/mix cd test-projects/mix
mix deps.get mix deps.get
mix test mix test
if: ${{matrix.pair.elixir-version}} if: ${{matrix.combo.elixir-version}}
- name: Run rebar3 project tests - name: Run rebar3 project tests
run: | run: |
cd test-projects/rebar3 cd test-projects/rebar3
rebar3 as test do xref,dialyzer,ct,cover rebar3 ct
if: ${{matrix.pair.rebar3-version}} if: ${{matrix.combo.rebar3-version}}
+2 -2
View File
@@ -37,12 +37,12 @@ not match a pre-release.
### Compatibility between Ubuntu and Erlang/OTP ### Compatibility between Ubuntu and Erlang/OTP
This list presents the known working version combos between Ubuntu This list presents the known working version combos between Ubuntu
and Erlang/OTP. Non-listed combos are not guaranteed to work. and Erlang/OTP.
| Ubuntu | Erlang/OTP | Status | Ubuntu | Erlang/OTP | Status
|- |- |- |- |- |-
| ubuntu-16.04 | 17 - 23 | ✅ | ubuntu-16.04 | 17 - 23 | ✅
| ubuntu-18.04 | 20 - 23 | ✅ | ubuntu-18.04 | 17 - 23 | ✅
| ubuntu-20.04 | 20 - 23 | ✅ | ubuntu-20.04 | 20 - 23 | ✅
### Basic example (Elixir) ### Basic example (Elixir)
+4
View File
@@ -6,4 +6,8 @@ defmodule TestTest do
out = Logfmt.encode(foo: "bar") out = Logfmt.encode(foo: "bar")
assert out == "foo=bar" assert out == "foo=bar"
end end
test "ensures ssl" do
assert {:ok, _} = Application.ensure_all_started(:ssl)
end
end end
+4 -1
View File
@@ -5,7 +5,10 @@
-compile([export_all, nowarn_export_all]). -compile([export_all, nowarn_export_all]).
all() -> all() ->
[hello_world]. [hello_world, ssl_ok].
hello_world(_Config) -> hello_world(_Config) ->
?assertEqual(world, mylib:hello()). ?assertEqual(world, mylib:hello()).
ssl_ok(_Config) ->
{ok, _} = application:ensure_all_started(ssl).