Tweak our test combos (#31)

d2707f3 · Paulo F. Oliveira · 2021-04-19 22:17

11 files +88 -66

Files changed

modified .github/workflows/test.yml
+78 −63
@@ -21,99 +21,114 @@ jobs:
21 21 integration_test:
22 22 name: >
23 23 Pre-release integration tests
24 (Erlang/OTP ${{matrix.pair.otp-version}},
25 Elixir ${{matrix.pair.elixir-version}},
26 rebar3 ${{matrix.pair.rebar3-version}})
27 runs-on: ubuntu-18.04
24 + (Ubuntu ${{matrix.combo.os}},
25 + Erlang/OTP ${{matrix.combo.otp-version}},
26 + Elixir ${{matrix.combo.elixir-version}},
27 + rebar3 ${{matrix.combo.rebar3-version}})
28 + runs-on: ${{matrix.combo.os}}
28 29 strategy:
29 30 fail-fast: false
30 31 matrix:
31 pair:
32 # Full Versions
33 - otp-version: '22.0'
34 elixir-version: '1.9.1'
35 - otp-version: '22.3.4'
36 rebar3-version: '3.14.4'
37 # Semver ranges
38 - otp-version: '21.x'
39 elixir-version: '<1.9.1'
40 - otp-version: '21.x'
41 rebar3-version: '3.14.4'
42 # Branches
43 - otp-version: '22.0'
44 elixir-version: master
45 - otp-version: 'master'
46 elixir-version: '1.11.3'
47 # Pre-releases
48 - otp-version: '23.0'
49 elixir-version: '1.11.0-rc.0'
50 # Fallback to Elixir (with no OTP)
51 - otp-version: '24.0-rc1'
52 elixir-version: '1.9.3'
53 # Miscellaneous combos
54 - elixir-version: 'master'
55 otp-version: '22.3'
56 - elixir-version: 'master'
32 + combo:
33 + - elixir-version: 'v1.0'
34 + otp-version: '17'
35 + os: 'ubuntu-16.04'
36 + - elixir-version: 'v1.0'
37 + otp-version: '17'
38 + os: 'ubuntu-18.04'
39 + - elixir-version: 'v1.1'
40 + otp-version: '18'
41 + os: 'ubuntu-16.04'
42 + - elixir-version: 'v1.1'
43 + otp-version: '18'
44 + os: 'ubuntu-18.04'
45 + - elixir-version: 'v1.2'
46 + otp-version: '19'
47 + rebar3-version: '3.10'
48 + os: 'ubuntu-16.04'
49 + - elixir-version: 'v1.2'
50 + otp-version: '19'
51 + rebar3-version: '3.10'
52 + os: 'ubuntu-18.04'
53 + - elixir-version: 'v1.4'
54 + otp-version: '20'
55 + rebar3-version: '3.11'
56 + os: 'ubuntu-16.04'
57 + - elixir-version: 'v1.4'
58 + otp-version: '20'
59 + rebar3-version: '3.11'
60 + os: 'ubuntu-18.04'
61 + - elixir-version: 'v1.4'
62 + otp-version: '20'
63 + rebar3-version: '3.11'
64 + os: 'ubuntu-20.04'
65 + - elixir-version: 'v1.6'
66 + otp-version: '21'
67 + rebar3-version: '3.12'
68 + os: 'ubuntu-16.04'
69 + - elixir-version: 'v1.6'
70 + otp-version: '21'
71 + rebar3-version: '3.12'
72 + os: 'ubuntu-18.04'
73 + - elixir-version: 'v1.6'
74 + otp-version: '21'
75 + rebar3-version: '3.12'
76 + os: 'ubuntu-20.04'
77 + - elixir-version: 'v1.7'
57 78 otp-version: '22'
58 - elixir-version: 'master'
59 otp-version: '^22'
60 - elixir-version: 'master'
79 + rebar3-version: '3.13'
80 + os: 'ubuntu-16.04'
81 + - elixir-version: 'v1.7'
61 82 otp-version: '22'
62 - elixir-version: '1.6.5'
63 otp-version: 'maint-21'
64 - elixir-version: 'v1.6.5'
65 otp-version: 'maint-21'
66 - elixir-version: 'v1.9.x'
67 otp-version: '21.1'
68 - elixir-version: '1.9.x'
69 otp-version: '21'
70 - elixir-version: 'v1.8.x'
83 + rebar3-version: '3.13'
84 + os: 'ubuntu-18.04'
85 + - elixir-version: 'v1.7'
71 86 otp-version: '22'
72 - elixir-version: 'v1.8.x'
73 otp-version: '23.1'
74 - elixir-version: 'v1.8'
75 otp-version: '^22.3'
87 + rebar3-version: '3.13'
88 + os: 'ubuntu-20.04'
89 + - elixir-version: 'v1.10'
90 + otp-version: '23'
91 + rebar3-version: '3.14'
92 + os: 'ubuntu-16.04'
93 + - elixir-version: 'v1.10'
94 + otp-version: '23'
95 + rebar3-version: '3.14'
96 + os: 'ubuntu-18.04'
76 97 - elixir-version: 'v1.10'
77 otp-version: '21.x'
78 - elixir-version: 'v1.x'
79 otp-version: 'master'
80 - elixir-version: 'v1.11.0-rc.0'
81 98 otp-version: '23'
82 - elixir-version: 'v1.11.0-rc.0'
83 otp-version: '23.0'
84 - elixir-version: 'v1.11.0-rc.0'
85 otp-version: 'master'
99 + rebar3-version: '3.14'
100 + os: 'ubuntu-20.04'
86 101 steps:
87 102 - uses: actions/checkout@v2
88 103 - name: Use erlef/setup-beam
89 104 id: setup-beam
90 105 uses: ./
91 106 with:
92 otp-version: ${{matrix.pair.otp-version}}
93 elixir-version: ${{matrix.pair.elixir-version}}
94 rebar3-version: ${{matrix.pair.rebar3-version}}
107 + otp-version: ${{matrix.combo.otp-version}}
108 + elixir-version: ${{matrix.combo.elixir-version}}
109 + rebar3-version: ${{matrix.combo.rebar3-version}}
95 110 - name: Erlang/OTP version (action)
96 111 run: echo "Erlang/OTP ${{steps.setup-beam.outputs.otp-version}}"
97 112 - name: Elixir version (action)
98 113 run: echo "Elixir ${{steps.setup-beam.outputs.elixir-version}}"
99 if: ${{matrix.pair.elixir-version}}
114 + if: ${{matrix.combo.elixir-version}}
100 115 - name: rebar3 version (action)
101 116 run: echo "rebar3 ${{steps.setup-beam.outputs.rebar3-version}}"
102 if: ${{matrix.pair.rebar3-version}}
117 + if: ${{matrix.combo.rebar3-version}}
103 118 - name: mix version and help (CLI)
104 119 run: |
105 120 mix -v
106 121 mix help local.rebar
107 122 mix help local.hex
108 if: ${{matrix.pair.elixir-version}}
123 + if: ${{matrix.combo.elixir-version}}
109 124 - name: Run Mix project tests
110 125 run: |
111 126 cd test-projects/mix
112 127 mix deps.get
113 128 mix test
114 if: ${{matrix.pair.elixir-version}}
129 + if: ${{matrix.combo.elixir-version}}
115 130 - name: Run rebar3 project tests
116 131 run: |
117 132 cd test-projects/rebar3
118 rebar3 as test do xref,dialyzer,ct,cover
119 if: ${{matrix.pair.rebar3-version}}
133 + rebar3 ct
134 + if: ${{matrix.combo.rebar3-version}}
modified README.md
+2 −2
@@ -37,12 +37,12 @@ not match a pre-release.
37 37 ### Compatibility between Ubuntu and Erlang/OTP
38 38
39 39 This list presents the known working version combos between Ubuntu
40 and Erlang/OTP. Non-listed combos are not guaranteed to work.
40 +and Erlang/OTP.
41 41
42 42 | Ubuntu | Erlang/OTP | Status
43 43 |- |- |-
44 44 | ubuntu-16.04 | 17 - 23 | ✅
45 | ubuntu-18.04 | 20 - 23 | ✅
45 +| ubuntu-18.04 | 17 - 23 | ✅
46 46 | ubuntu-20.04 | 20 - 23 | ✅
47 47
48 48 ### Basic example (Elixir)
modified test-projects/mix/test/test_test.exs
+4 −0
@@ -6,4 +6,8 @@ defmodule TestTest do
6 6 out = Logfmt.encode(foo: "bar")
7 7 assert out == "foo=bar"
8 8 end
9 +
10 + test "ensures ssl" do
11 + assert {:ok, _} = Application.ensure_all_started(:ssl)
12 + end
9 13 end
modified test-projects/rebar3/test/mylib_SUITE.erl
+4 −1
@@ -5,7 +5,10 @@
5 5 -compile([export_all, nowarn_export_all]).
6 6
7 7 all() ->
8 [hello_world].
8 + [hello_world, ssl_ok].
9 9
10 10 hello_world(_Config) ->
11 11 ?assertEqual(world, mylib:hello()).
12 +
13 +ssl_ok(_Config) ->
14 + {ok, _} = application:ensure_all_started(ssl).

Parents: 78d10b5