* feat: add Erlang problem matchers for erlc, dialyzer, CT, and EUnit
Adds GitHub Actions problem matchers for Erlang tooling, matching the
existing Elixir matcher support. Covers erlc errors/warnings (which
also catches dialyzer output), Common Test failures, and EUnit failures.
Closes#390
* chore: rebuild dist bundle and format test file
* refactor: move Erlang matchers into installOTP function
Moves maybeEnableErlangProblemMatchers() call inside installOTP(),
between setOutput and endGroup, matching the Elixir pattern.
* refactor: extract generic maybeEnableProblemMatchers function
Replaces separate maybeEnableErlangProblemMatchers and
maybeEnableElixirProblemMatchers with a single generic
maybeEnableProblemMatchers(language) and a problemMatchersEnabled()
helper.
* fix: use static paths for ncc to resolve matcher JSON files
ncc cannot trace dynamic template literals, so the matcher JSON files
were not being copied to dist/. Use a static map of paths instead.
The Gleam installer had two arch-related bugs:
1. Darwin reused the Linux config (installOpts.darwin = installOpts.linux),
downloading x86_64-unknown-linux-musl on macOS, causing ENOEXEC.
2. Linux hardcoded x86_64, downloading the wrong binary on ARM64 runners,
causing 'Syntax error' when trying to execute an x86_64 ELF.
Add arch detection via getRunnerOSArchitecture() to both Linux and
Darwin download URLs, selecting the correct aarch64 or x86_64 binary.
Add a proper Darwin config that downloads apple-darwin archives.
* add support for mise.toml version file type
* changes from review
* Keep versioning consistent
* fix default value for version-file-type input
* Use single `version-file`, autodetect type
* Update src/setup-beam.js
Co-authored-by: Paulo F. Oliveira <paulo.ferraz.oliveira@gmail.com>
* Improve log output for mise version files
* Rebuild dist
* Run build-dist
* add support for mise.toml version file type
* changes from review
* Keep versioning consistent
* fix default value for version-file-type input
* Use single `version-file`, autodetect type
* Update src/setup-beam.js
Co-authored-by: Paulo F. Oliveira <paulo.ferraz.oliveira@gmail.com>
* Improve log output for mise version files
* Rebuild dist
* Run build-dist
---------
Co-authored-by: Michael Ruoss <michael.ruoss@cradle.bio>
Co-authored-by: Michael Ruoss <michael@michaelruoss.ch>
Co-authored-by: Paulo F. Oliveira <paulo.ferraz.oliveira@gmail.com>
* Test Elixir main-otp-28 / Erlang maint-28
* Test Gleam nightly / OTP 28
* Tweak versioning
1. stop trying to "coerce" versions on input
2. handle `OTP-` in one more place
3. handle `nightly`
* Remove tests that should be failing previously
There is no strict 27 for macos-15, for example
* Remove similar tests
We'll test once per platform in similar conditions
* `await` for `assert.rejects` (not noticeable if alone inside `it`)
* Test maint- for strict and loose