Add Gleam (#67)

This commit is contained in:
Paulo F. Oliveira
2021-08-03 18:56:12 +01:00
committed by GitHub
parent 4fbbcf2e6c
commit c988d89031
39 changed files with 442 additions and 64 deletions
+26 -43
View File
@@ -13,6 +13,7 @@ workflow by:
- installing Erlang/OTP
- optionally, installing Elixir
- optionally, installing Gleam
- optionally, installing `rebar3`
- optionally, installing `hex`
@@ -24,13 +25,13 @@ See [action.yml](action.yml) for the action's specification.
**Note**: The Erlang/OTP release version specification is [relatively
complex](http://erlang.org/doc/system_principles/versions.html#version-scheme).
For best results, we recommend specifying exact Erlang/OTP, Elixir versions, and
`rebar3` versions, and setting option `version-type` to `strict`.
For best results, we recommend specifying exact
versions, and setting option `version-type` to `strict`.
However, values like `22.x`, or even `>22`, are also accepted, and we attempt to resolve them
according to semantic versioning rules. This implicitly means `version-type` is `loose`,
which is also the default value for this option.
Additionally, it is recommended that one specifies Erlang/OTP, Elixir and `rebar3` versions
Additionally, it is recommended that one specifies versions
using YAML strings, as these examples do, so that numbers like `23.0` don't
end up being parsed as `23`, which is not equivalent.
@@ -82,44 +83,7 @@ jobs:
...
```
### Basic example (Erlang/OTP + Elixir, on Ubuntu)
```yaml
# create this in .github/workflows/ci.yml
on: push
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: erlef/setup-beam@v1
with:
otp-version: '22.2'
elixir-version: '1.9.4'
- run: mix deps.get
- run: mix test
```
### Basic example (Erlang/OTP + `rebar3`, on Ubuntu)
```yaml
# create this in .github/workflows/ci.yml
on: push
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: erlef/setup-beam@v1
with:
otp-version: '22.2'
rebar3-version: '3.14.2'
- run: rebar3 ct
```
### Matrix example (Erlang/OTP + Elixir, on Ubuntu)
### Example (Erlang/OTP + Elixir, on Ubuntu)
```yaml
# create this in .github/workflows/ci.yml
@@ -143,7 +107,7 @@ jobs:
- run: mix test
```
### Matrix example (Erlang/OTP + `rebar3`, on Ubuntu)
### Example (Erlang/OTP + `rebar3`, on Ubuntu)
```yaml
# create this in .github/workflows/ci.yml
@@ -166,7 +130,7 @@ jobs:
- run: rebar3 ct
```
### Basic example (Erlang/OTP + `rebar3`, on Windows)
### Example (Erlang/OTP + `rebar3`, on Windows)
```yaml
# create this in .github/workflows/ci.yml
@@ -184,6 +148,25 @@ jobs:
- run: rebar3 ct
```
### Example (Gleam + `rebar3`, on Ubuntu)
```yaml
# create this in .github/workflows/ci.yml
on: push
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: erlef/setup-beam@v1
with:
otp-version: '24'
gleam-version: '0.16'
rebar3-version: '3.16'
- run: rebar3 ct
```
## Elixir Problem Matchers
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.