Make OTP installation optional (#81)

This commit is contained in:
Michał Łępicki
2022-01-12 15:26:44 +01:00
committed by GitHub
parent 65219deb69
commit 3179686d1f
12 changed files with 183 additions and 47 deletions
+32 -13
View File
@@ -11,14 +11,14 @@
This action sets up an Erlang/OTP environment for use in a GitHub Actions
workflow by:
- installing Erlang/OTP
- optionally, installing Elixir
- optionally, installing Gleam
- optionally, installing `rebar3`
- optionally, installing `hex`
- installing [Erlang/OTP](https://www.erlang.org/)
- optionally, installing [Elixir](https://elixir-lang.org/)
- optionally, installing [Gleam](https://gleam.run/)
- optionally, installing [`rebar3`](https://www.rebar3.org/)
- optionally, installing [`hex`](https://hex.pm/)
- optionally, having
[problem matchers](https://github.com/actions/toolkit/blob/main/docs/problem-matchers.md) show
warnings and errors on pull requests
warnings and errors on pull requestsotp-version: false)
**Note**: currently, this action only supports Actions' `ubuntu-` and `windows-` runtimes.
@@ -147,7 +147,7 @@ jobs:
- run: rebar3 ct
```
### Example (Gleam + `rebar3`, on Ubuntu)
### Example (Gleam on Ubuntu)
```yaml
# create this in .github/workflows/ci.yml
@@ -161,11 +161,30 @@ jobs:
- uses: erlef/setup-beam@v1
with:
otp-version: '24'
gleam-version: '0.16'
rebar3-version: '3.16'
- run: rebar3 ct
gleam-version: '0.19.0-rc3'
- run: gleam test
```
### Example (Gleam on Ubuntu without OTP)
```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: false
gleam-version: '0.19.0-rc3'
- run: gleam check
```
**Note**: the `otp-version: false` input is only applicable when installing Gleam.
## Elixir Problem Matchers
The Elixir Problem Matchers in this repository are adapted from
@@ -180,9 +199,9 @@ See [MATCHER_NOTICE](MATCHER_NOTICE.md) for license details.
- `@v1.8`: the latest in the `1.8.z` series (this tag is movable),
- `@v1.8.0`: release `1.8.0` (this tag is not movable).
To prevent issues in CI (unless you're OK with potential incompatibility between versions - we
make real a effort to not introduce those without bumping major) we suggest you to use `@vx.y.z`,
whenever possible.
We make a real effort to not introduce incompatibilities without changing the major
version number. To be extra safe against changes causing issues in your CI you should specify
an exact version with `@vx.y.z`.
## License