Skip to content

Minor maintenance updates #336

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 7 commits into from
May 29, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 0 additions & 19 deletions .eslintrc.yml

This file was deleted.

10 changes: 10 additions & 0 deletions .github/workflows/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,16 @@ jobs:
- name: Check if build left artifacts
run: git diff --exit-code --ignore-space-at-eol

check_action:
name: Action
runs-on: ubuntu-latest
if: github.ref != 'refs/heads/main'
permissions:
contents: read
steps:
- uses: actions/checkout@v4
- uses: raven-actions/actionlint@v2

unit_tests_ubuntu:
name: Unit tests (Ubuntu)
runs-on: ubuntu-latest
Expand Down
8 changes: 5 additions & 3 deletions .github/workflows/macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,8 @@ jobs:
rebar3-version: '3.18.0'
os: 'macos-latest'
version-type: 'strict'
escript_packages: 'hex protobuf'
escript_script: 'protoc-gen-elixir --version'
- otp-version: 'latest'
rebar3-version: 'latest'
os: 'macos-latest'
Expand Down Expand Up @@ -132,6 +134,6 @@ jobs:
- run: env
- name: Check environment variables
run: |
${INSTALL_DIR_FOR_ELIXIR}/bin/elixir -v
${INSTALL_DIR_FOR_OTP}/bin/erl -version
${INSTALL_DIR_FOR_REBAR3}/bin/rebar3 version
"${INSTALL_DIR_FOR_ELIXIR}"/bin/elixir -v
"${INSTALL_DIR_FOR_OTP}"/bin/erl -version
"${INSTALL_DIR_FOR_REBAR3}"/bin/rebar3 version
8 changes: 4 additions & 4 deletions .github/workflows/ubuntu.yml
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,7 @@ jobs:
- run: env
- name: Check environment variables
run: |
${INSTALL_DIR_FOR_ELIXIR}/bin/elixir -v
${INSTALL_DIR_FOR_GLEAM}/bin/gleam --version
${INSTALL_DIR_FOR_OTP}/bin/erl -version
${INSTALL_DIR_FOR_REBAR3}/bin/rebar3 version
"${INSTALL_DIR_FOR_ELIXIR}"/bin/elixir -v
"${INSTALL_DIR_FOR_GLEAM}"/bin/gleam --version
"${INSTALL_DIR_FOR_OTP}"/bin/erl -version
"${INSTALL_DIR_FOR_REBAR3}"/bin/rebar3 version
2 changes: 1 addition & 1 deletion .github/workflows/update_3rd_party_licenses.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ name: Update 3rd party licenses (automation)
on:
schedule:
- cron: '0 12 * * *'
workflow_dispatch:
workflow_dispatch: {}

jobs:
update:
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -145,3 +145,4 @@ jobs:
& "$Env:INSTALL_DIR_FOR_OTP/bin/erl.exe" "+V"
& "$Env:INSTALL_DIR_FOR_REBAR3/bin/rebar3.cmd" "version"
& "$Env:INSTALL_DIR_FOR_REBAR3/bin/rebar3.ps1" "version"
shell: pwsh
2 changes: 1 addition & 1 deletion MATCHER_NOTICE.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Elixir Problem Matchers

Elixir Problem Matchers in [elixir-matchers.json](matchers/elixir-matchers.json)
are adapted from [here](https://github.com/fr1zle/vscode-elixir/blob/45eddb589acd7ac98e0c7305d1c2b24668ca709a/package.json#L70-L118),
are adapted from [vscode-elixir/package.json](https://github.com/fr1zle/vscode-elixir/blob/45eddb589acd7ac98e0c7305d1c2b24668ca709a/package.json#L70-L118),
available under the [MIT license](https://github.com/fr1zle/vscode-elixir/blob/45eddb589acd7ac98e0c7305d1c2b24668ca709a/LICENSE.md):

MIT License
Expand Down
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,8 @@ workflow by:
- 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, installing [`local.hex`](https://hex.pm/)
- optionally, installing [`local.rebar`](https://www.rebar3.org/)
- optionally, opting for strict or loose version matching
- optionally, having
[problem matchers](https://github.com/actions/toolkit/blob/main/docs/problem-matchers.md) show
Expand Down Expand Up @@ -230,7 +231,7 @@ are found (i.e. `erl`, `erl.exe`, `rebar3`, `rebar3.exe`, ...).
### 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).
[vscode-elixir/package.json](https://github.com/fr1zle/vscode-elixir/blob/45eddb589acd7ac98e0c7305d1c2b24668ca709a/package.json#L70-L118).
See [MATCHER_NOTICE](MATCHER_NOTICE.md) for license details.

## Examples
Expand Down
33 changes: 33 additions & 0 deletions action.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,15 @@
---
name: setup-beam

description: >
Set up a BEAM-based CI environment, supporting languages and tools such as Erlang/OTP, Elixir, Gleam, `rebar3`, and `hex`.

author: Erlang Ecosystem Foundation

branding:
color: blue
icon: code

inputs:
github-token:
description: >
Expand All @@ -16,52 +20,81 @@ inputs:
have to manually pass an automatically generated token via their environment settings within a workflow.
[Learn more about automatically generated tokens](https://docs.github.com/en/actions/security-guides/automatic-token-authentication)
default: ${{ github.token }}
required: false

otp-version:
description: Version range or exact version of Erlang/OTP to use,
or false when installing only Gleam without OTP
required: false

otp-architecture:
description: 32 or 64, to specify the architecture of the OTP to install. Only applies to Windows.
default: 64
required: false

elixir-version:
description: Version range or exact version of Elixir to use
required: false

gleam-version:
description: Version range or exact version of Gleam to use
required: false

install-hex:
description: Whether to install Hex (with mix local.hex
when installing Elixir)
default: true
required: false

install-rebar:
description: Whether to install Rebar (with mix local.rebar
when installing Elixir)
default: true
required: false

rebar3-version:
description: Version range or exact version of rebar3 to use (or nightly)
required: false

version-type:
description: strict means the versions are take as-are; loose means we try
to guess versions based on semver rules
default: loose
required: false

disable_problem_matchers:
description: whether to have the problem matchers present in the results
(or not)
default: false
required: false

version-file:
description: a versions file (e.g. as used by `asdf`), which defines inputs
default: ''
required: false

hexpm-mirrors:
description: mirror(s) for hex.pm, one per line
default: |
https://builds.hex.pm
required: false

outputs:
elixir-version:
description: Exact version of Elixir that was installed

otp-version:
description: Exact version of Erlang/OTP that was installed

gleam-version:
description: Exact version of Gleam that was installed

rebar3-version:
description: Exact version of rebar3 that was installed

setup-beam-version:
description: The commit unique id of the execution action version

runs:
using: node20
main: dist/index.js
Loading