neiam
/action-setup-beam
action-setup-beam
public · Issues · Pulls · Labels · Forks · Compare · Actions queued
⭐
Log in to mark this repository.
Add Erlang 24 to README and some more info on version matching (#45)
e6db7bd · Paulo F. Oliveira · 2021-06-09 14:59
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