Add Erlang 24 to README and some more info on version matching (#45)

e6db7bd · Paulo F. Oliveira · 2021-06-09 14:59

2 files +12 -67

Files changed

modified 3RD_PARTY_LICENSES
+1 −1
@@ -209,7 +209,7 @@ THE SOFTWARE.
209 209
210 210 -----
211 211
212 The following software may be included in this product: ansi-regex, ansi-styles, callsites, chalk, has-flag, is-fullwidth-code-point, parent-module, path-key, resolve-from, shebang-regex, string-width, strip-ansi, supports-color, type-fest. A copy of the source code may be downloaded from https://github.com/chalk/ansi-regex.git (ansi-regex), https://github.com/chalk/ansi-styles.git (ansi-styles), https://github.com/sindresorhus/callsites.git (callsites), https://github.com/chalk/chalk.git (chalk), https://github.com/sindresorhus/has-flag.git (has-flag), https://github.com/sindresorhus/is-fullwidth-code-point.git (is-fullwidth-code-point), https://github.com/sindresorhus/parent-module.git (parent-module), https://github.com/sindresorhus/path-key.git (path-key), https://github.com/sindresorhus/resolve-from.git (resolve-from), https://github.com/sindresorhus/shebang-regex.git (shebang-regex), https://github.com/sindresorhus/string-width.git (string-width), https://github.com/chalk/strip-ansi.git (strip-ansi), https://github.com/chalk/supports-color.git (supports-color), https://github.com/sindresorhus/type-fest.git (type-fest). This software contains the following license and notice below:
212 +The following software may be included in this product: ansi-regex, ansi-styles, callsites, chalk, has-flag, is-fullwidth-code-point, parent-module, path-key, resolve-from, shebang-regex, string-width, strip-ansi, supports-color. A copy of the source code may be downloaded from https://github.com/chalk/ansi-regex.git (ansi-regex), https://github.com/chalk/ansi-styles.git (ansi-styles), https://github.com/sindresorhus/callsites.git (callsites), https://github.com/chalk/chalk.git (chalk), https://github.com/sindresorhus/has-flag.git (has-flag), https://github.com/sindresorhus/is-fullwidth-code-point.git (is-fullwidth-code-point), https://github.com/sindresorhus/parent-module.git (parent-module), https://github.com/sindresorhus/path-key.git (path-key), https://github.com/sindresorhus/resolve-from.git (resolve-from), https://github.com/sindresorhus/shebang-regex.git (shebang-regex), https://github.com/sindresorhus/string-width.git (string-width), https://github.com/chalk/strip-ansi.git (strip-ansi), https://github.com/chalk/supports-color.git (supports-color). This software contains the following license and notice below:
213 213
214 214 MIT License
215 215
modified README.md
+11 −66
@@ -12,18 +12,19 @@ workflow by:
12 12 - installing Erlang/OTP
13 13 - optionally, installing Elixir
14 14 - optionally, installing `rebar3`
15 +- optionally, installing `hex`
15 16
16 17 **Note** Currently, this action only supports Actions' `ubuntu-` runtimes.
17 18
18 19 ## Usage
19 20
20 See [action.yml](action.yml).
21 +See [action.yml](action.yml) for the action's specification.
21 22
22 **Note** The Erlang/OTP release version specification is [relatively
23 +**Note**: The Erlang/OTP release version specification is [relatively
23 24 complex](http://erlang.org/doc/system_principles/versions.html#version-scheme).
24 25 For best results, we recommend specifying exact Erlang/OTP, Elixir versions, and
25 26 `rebar3` versions.
26 However, values like `22.x` are also accepted, and we attempt to resolve them
27 +However, values like `22.x`, or even `>22`, are also accepted, and we attempt to resolve them
27 28 according to semantic versioning rules.
28 29
29 30 Additionally, it is recommended that one specifies Erlang/OTP, Elixir and `rebar3` versions
@@ -41,13 +42,14 @@ and Erlang/OTP.
41 42
42 43 | Ubuntu | Erlang/OTP | Status
43 44 |- |- |-
44 | ubuntu-16.04 | 17 - 23 | ✅
45 | ubuntu-18.04 | 17 - 23 | ✅
46 | ubuntu-20.04 | 20 - 23 | ✅
45 +| ubuntu-16.04 | 17 - 24 | ✅
46 +| ubuntu-18.04 | 17 - 24 | ✅
47 +| ubuntu-20.04 | 20 - 24 | ✅
47 48
48 49 ### Basic example (Elixir)
49 50
50 51 ```yaml
52 +# create this in .github/workflows/ci.yml
51 53 on: push
52 54
53 55 jobs:
@@ -66,6 +68,7 @@ jobs:
66 68 ### Basic example (`rebar3`)
67 69
68 70 ```yaml
71 +# create this in .github/workflows/ci.yml
69 72 on: push
70 73
71 74 jobs:
@@ -83,6 +86,7 @@ jobs:
83 86 ### Matrix example (Elixir)
84 87
85 88 ```yaml
89 +# create this in .github/workflows/ci.yml
86 90 on: push
87 91
88 92 jobs:
@@ -106,6 +110,7 @@ jobs:
106 110 ### Matrix example (`rebar3`)
107 111
108 112 ```yaml
113 +# create this in .github/workflows/ci.yml
109 114 on: push
110 115
111 116 jobs:
@@ -125,66 +130,6 @@ jobs:
125 130 - run: rebar3 ct
126 131 ```
127 132
128 ### Phoenix example
129
130 ```yaml
131 on: push
132
133 jobs:
134 test:
135 runs-on: ubuntu-latest
136
137 services:
138 db:
139 image: postgres:11
140 ports: ['5432:5432']
141 env:
142 POSTGRES_PASSWORD: postgres
143 options: >-
144 --health-cmd pg_isready
145 --health-interval 10s
146 --health-timeout 5s
147 --health-retries 5
148
149 steps:
150 - uses: actions/checkout@v2
151 - uses: erlef/setup-beam@v1
152 with:
153 otp-version: '22.2'
154 elixir-version: '1.9.4'
155 - run: mix deps.get
156 - run: mix test
157 ```
158
159 #### Authenticating with Postgres in Phoenix
160
161 When using the Phoenix example above, the `postgres` container has some
162 default authentication set up. Specifically, it expects a username of
163 "postgres", and a password of "postgres". It will be available at
164 `localhost:5432`.
165
166 The simplest way of setting these auth values in CI is by checking for the
167 `GITHUB_ACTIONS` environment variable that is set in all workflows:
168
169 ```elixir
170 # config/test.exs
171
172 use Mix.Config
173
174 # Configure the database for local testing
175 config :app, App.Repo,
176 database: "my_app_test",
177 hostname: "localhost",
178 pool: Ecto.Adapters.SQL.Sandbox
179
180 # Configure the database for GitHub Actions
181 if System.get_env("GITHUB_ACTIONS") do
182 config :app, App.Repo,
183 username: "postgres",
184 password: "postgres"
185 end
186 ```
187
188 133 ## Elixir Problem Matchers
189 134
190 135 The Elixir Problem Matchers in this repository are adapted from [here](https://github.com/fr1zle/vscode-elixir/blob/45eddb589acd7ac98e0c7305d1c2b24668ca709a/package.json#L70-L118). See [MATCHER_NOTICE](MATCHER_NOTICE.md) for license details.

Parents: 31cf3db