68 Commits

Author SHA1 Message Date
Paulo F. Oliveira 6e9312bce0 fix: broken tests (mostly out of stuff being outdated) (#468)
* Update rebar3's releases.json per current results

* Up rebar3 test versions

* Retire windows-2019

* Add "support" to win25-vs2026 next to win25

windows-2025-vs2026 label was previously a beta testing
tag but is now the production default

* Fix rebar3 test releases.json

* Bump per CI results

* Fix per CI results (I checked in releases.json)

* Adapt to Ubuntu 26.04 (no -arm)

* Consider Ubuntu ARM variants in execution

* Typo

* Bump it to the minimum expect value

* Bump it to the minimum expect value

* Tweak ARM tests: drop windows-11

* Fix per prior test results

* Try testing OTP to update README

* Improve guarantees on the README (via tests)

* Improve guarantees on the README (via tests)

Trust tests in intervals (if first Ok and last Ok the middle Ok)

* Add further constraints for testing (per README)

* Remove moving-target test

This is prone to fail for an issue with OTP's main
branch but it shouldn't affect the action, so we
remove it

* Respect Hex's boundaries

* Make it consistent (no need for .0 in versioning)

* Restrict it a bit

We keep the README as-is, since there's nothing preventing us
from thinking it works as stated, but we move our tests forward

* Make it easier to follow

* Fix it per stalled CI

* Fix it: no macos-16; it's macos-26

* Deprecate macos-13

Per https://github.blog/changelog/2025-07-11-upcoming-changes-to-macos-hosted-runners-macos-latest-migration-and-xcode-support-policy-updates/#macos-13-is-closing-down

* Make ImageOS support more explicit

* Move forward
2026-06-28 15:53:20 +01:00
Sebastian Weddmark Olsson 0a549596b0 Compatibility matrix strategy (#389)
* Compatibility matrix strategy

Example on how one can maintain a compatibility matrix

* v2 -> v4

Co-authored-by: Kian-Meng Ang <kianmeng.ang@gmail.com>

* ubuntu-18 not longer available

* Update README.md after review suggestions

* Link rebar3 compat

Apparently rebar3 has started to maintain a version compatability table themselves. Missing older versions though

| 3.10.0 | 17         |
| 3.11.1 | 18         |

* Tweak README change proposal

* Apply suggestions from code review

Apply changes to resolve linter warnings

Co-authored-by: Paulo F. Oliveira <paulo.ferraz.oliveira@gmail.com>

---------

Co-authored-by: Kian-Meng Ang <kianmeng.ang@gmail.com>
Co-authored-by: Paulo F. Oliveira <paulo.ferraz.oliveira@gmail.com>
2026-03-14 16:50:22 +00:00
peter madsen-mygdal eb86ad6523 feat: add macOS-26 to supported ImageOS mappings (#430)
Add macos26 to the ImageOSToContainer map so runners using
macOS-26 are recognized instead of throwing an error.

Update macos.yml

Update README.md
2026-03-14 16:28:58 +00:00
Dino Kovač 98c13a9ed3 Support mise.toml (#415)
* 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>
2026-03-09 22:41:15 +00:00
Loïc Hoguin b94e7d372a Allow for Windows'25 container (#388) 2025-10-01 13:12:32 +02:00
Paulo F. Oliveira 6a38171948 Test for updated doc. on latest / ranges / -rc (#349)
* Set the expectations

* Reason on the past

* Also allow for removal of OTP- in comparison to RC

* Test it on what makes sense

* For known elements don't compare with ranges

* Don't put maint-27 alongside 27 in the initial map

* Generate the dist

* Revisit the whole latest vs. rc- vs. strict definition
2025-06-26 20:39:15 +01:00
Paulo F. Oliveira e1b020163b Minor maintenance updates (#336) 2025-05-29 15:50:24 +01:00
Paulo F. Oliveira 58f0e7ac10 Support macOS via https://github.com/erlef/otp_builds (#332)
Co-authored-by: Wojtek Mach <wojtekmach@users.noreply.github.com>
2025-05-29 11:38:18 +01:00
Viacheslav Katsuba 9092f97e4d Fix broken link CODE_OF_CONDUCT.md (#335) 2025-05-27 20:15:49 +01:00
Paulo F. Oliveira 8e3c26cc73 chore: approach Node.js' "suites and tests" way of testing (#328) 2025-04-26 17:54:49 -05:00
Kian-Meng Ang 3eb03c83a9 Fix invalid Markdown in Compatibility section (#319) 2025-03-24 08:55:30 -05:00
Gilbert Bishop-White 3360bfffe1 Add ability to specify OTP architecture (#316) 2025-01-31 12:29:21 -06:00
Richard Viney 5fa4c5f4ff Update Gleam versions in README.md (#308) 2024-11-12 18:53:41 -06:00
Paulo F. Oliveira 7f9edf8627 Tweak/readme (#295) 2024-06-28 06:48:33 -05:00
Bryan Paxton 21a744d70c Reduce action description in action.yml (GHA Marketplace constraint) (#294)
Co-authored-by: Paulo F. Oliveira <paulo.ferraz.oliveira@gmail.com>
2024-06-23 13:52:18 -05:00
Paulo F. Oliveira 54e90d44b0 Tweak markdownlint rules and README versioning (#286) 2024-06-15 21:13:54 -05:00
Benjamin Schultzer 6ed3c523c4 Add support for latest release (#269) 2024-06-15 16:18:03 +01:00
Paulo F. Oliveira 6292fa4771 Test over OTP 27 and rebar3 3.23 (#274) 2024-05-25 20:08:17 +01:00
Eric Saxby 618f13887e Add support for Ubuntu 24 (#271) 2024-05-21 19:20:56 +01:00
Paulo F. Oliveira cdb7a12eb6 Test on OTP-27.0-rc1 + a few minor README tweaks (#255) 2024-03-03 17:48:54 -06:00
Paulo F. Oliveira 951dd857ae Move bin path, in Windows, from D: to C: (#251) 2024-02-12 22:03:29 -06:00
Paulo F. Oliveira 07193a0ba2 Update outdated/deprecated actions (#244) 2024-01-28 12:52:05 -06:00
Paulo F. Oliveira 4678b57fab Have the action output a versioning element so it could be used as part of the cache restore key (#239)
* Do a bit of YAMLlint'ing

* Ease consumer cache invalidation

By providing an output with the action version we ease
cache invalidation on consumer, due to the fact we can
now stop worrying about changes to the action's cache itself

Might also be interesting for self-hosted runners...

* Remove duplicates

* Do further validations for robustness
2024-01-12 13:46:16 -06:00
Kian-Meng Ang ea13066252 Match the right Ubuntu version to Erlang/OTP-20 in readme (#212) 2023-06-15 14:08:54 +01:00
Paul Guyot cf692c3264 New option to work with one or more hex.pm mirrors (#197)
* New option to work with one or more hex.pm mirrors

Add a new option called `hexpm-mirrors` for one or more hex.pm mirrors.
Default list is `builds.hex.pm`, so behavior is unaffected unless option is
used.

Signed-off-by: Paul Guyot <pguyot@kallisys.net>

* Implement suggested rewording changes from @paulo-ferraz-oliveira

Co-authored-by: Paulo F. Oliveira <paulo.ferraz.oliveira@gmail.com>
Signed-off-by: Paul Guyot <pguyot@kallisys.net>

---------

Signed-off-by: Paul Guyot <pguyot@kallisys.net>
Co-authored-by: Paulo F. Oliveira <paulo.ferraz.oliveira@gmail.com>
2023-05-04 07:27:05 +01:00
Bryan Paxton ffd9affe89 Update examples in readme to reference actions/checkout@v3 (#181) 2023-02-13 18:35:35 -06:00
Paulo F. Oliveira aee3f52e58 Update versions as to not have CI fail (while fixing "non-failing" CI) (#164)
* Make README links usable

* Update versions under test

Otherwise it silently fails with "Error: Requested Erlang/OTP version
(23.2) not found in version list (should you be using option
'version-type': 'strict'?)", which is not too important since this
happens when setup-beam.js is included (which happens in the test
environment only)

* Fix failing Gleam test

I think `gleam check` requires OTP (execution complains about missing
`escript`) where `gleam format` does not
2022-12-11 18:33:12 -06:00
Paulo F. Oliveira c373088147 Ease consumption by means of .tool-versions (#159)
* Ease consumption by means of .tool-versions

* Update as per self-review

* Update as per self-review

* Act on CI results

* Act on CI results

* Act on CI results

This value is check by code, in any case

* Act on CI results

* Act on CI results

* Act on CI results

It appears we can't install Elixir twice on Windows, but can
on Ubuntu; this is outside the scope of this branch's context
so I won't fix it now

* Tweak visual consumption elements

* Ease potential future maintenance and/or update
2022-11-22 22:34:21 +00:00
Louis Pilfold ee0fa0b672 Update for latest Gleam (#138)
* Update for latest Gleam

- Gleam releases now use LLVM triplets for platforms so the download
  URLs have been updated accordingly.
- Gleam's rebar3 support has been removed.

This change means that future versions of this action cannot download
older versions of Gleam. I can make it backwards compatible, but I will
need help from someone who can convert the shell script into PowerShell
for Windows.

* Support older Gleam versions

* Remove rebar from Gleam
2022-09-12 15:35:29 +01:00
Paulo F. Oliveira caa49b0658 Try current state with Ubuntu 22.04 (#124) 2022-07-12 21:59:53 -05:00
Kian-Meng Ang 79c4ce944c Update README: signal OTP-25 as a working version (#122)
See https://github.com/erlef/setup-beam/pull/118
2022-06-27 12:44:56 +01:00
Michał Łępicki a7fc45fd2d Fix mispaste in README.md (#119) 2022-05-31 08:48:37 -05:00
Javier Garea b8427d3a11 Fix wrong environment variable descriptions in the README (#115) 2022-05-12 13:46:50 +01:00
Paulo F. Oliveira 2494d08aa0 Add environment variables (#94)
* Allow for Windows'22 container

(win22 is just a guess, at this moment)

* Add environment variables

* Clean up code
2022-02-22 11:05:11 +00:00
Paulo F. Oliveira b28629c519 Allow for Windows'22 container (#91)
(win22 is just a guess, at this moment)
2022-02-22 11:04:38 +00:00
Michał Łępicki 3179686d1f Make OTP installation optional (#81) 2022-01-12 14:26:44 +00:00
Paulo F. Oliveira 65219deb69 Prevent deprecation warnings (#83) 2022-01-12 14:25:57 +00:00
Paulo F. Oliveira c71c5c91bb Allow using rebar3 nightly builds (#84) 2022-01-12 14:25:40 +00:00
Paulo F. Oliveira e6ab31075d Allow disabling problem matchers (#85) 2022-01-12 11:41:23 +00:00
Jason Axelson 782d47cc60 Mention what problem matchers do in the README (#75)
Otherwise it is difficult to know that the erlef/setup-beam matchers are
what is creating the warning/error annotations on PR's
2021-12-18 19:24:24 -06:00
Paulo F. Oliveira c988d89031 Add Gleam (#67) 2021-08-03 18:56:12 +01:00
Paulo F. Oliveira 9283f857f1 Improve warning message for missing ImageOS env. variable (self-hosted runners) (#59) 2021-07-12 18:35:08 +01:00
Paulo F. Oliveira 830642517c Improve visibility (+ fix bugs) over version-type and opt-in versions (#57)
(and tweak README regarding action versioning)
2021-07-09 10:11:50 +01:00
Paulo F. Oliveira d8a37f5aac Improve on "Add Windows to the mix" (#52)
* Support more OTP+Windows versions (try to bridge the gap with gleam-lang/setup-erlang that seems to support pre-21 versions)
* Merge ci.yml and test.yml
* Add Elixir to the Windows mix
* Hopefully improve error/warning messages
* Adapt the doc.s to the current reality
* Add option version-type (loose by default, for compatibility)
2021-07-08 15:35:25 +01:00
Paulo F. Oliveira 82b4475ba2 Add Windows to the mix (#49) 2021-06-24 21:58:51 +01:00
Paulo F. Oliveira e6db7bde79 Add Erlang 24 to README and some more info on version matching (#45) 2021-06-09 15:59:44 +01:00
Paulo F. Oliveira d2707f347b Tweak our test combos (#31) 2021-04-19 23:17:55 +01:00
Paulo F. Oliveira f05ed1cf77 Add Erlang/OTP v. Ubuntu compatibility list (#27) 2021-03-31 22:00:01 +01:00
Paulo F. Oliveira 1f3954e2a3 Reduce size of dist (#26) 2021-03-31 19:18:27 +01:00
Paulo F. Oliveira 89cb00455a Introduce rebar-version (#9)
Previously (Remove redundant code) (+27 squashed commits)
Squashed commits:
[0b79c31] Rename as setup-beam
[312b42b] Simplify platform verification
[b43ca96] Prevent use of OTP- prefixed Erlang/OTP versions
[103a236] Move the promise-based approach to an async-based approach

(not testing for failure, so not guaranteeing readable/usable output either)
[1e7f631] Remove local test files
[d03e0c6] Prevent use of -otp- infixed Elixir versions
[697110e] Have versions output in action, not just in tests
[7360781] Ease test validations
[71e6999] Reinstall tests that were there before
[6602f20] Attempt at simplifying regexp matching with build listings
[09247af] Provide for an Elixir to "not OTP" fallback mechanism

(as explained by the comments)
[dfc4083] Attempt at renaming for clarity

We also get rid of return values when not reachable
We also move the `-otp-` part of the Elixir version upstream so it's easy to reason about
  (and update the tests accordingly)
[0d4eb28] Bump our dep.s

(trying to figure out why core.setFailed isn't making the action fail, as it should)
[ebf48ef] Have action fail (with an exception) when no expected version is found

(we otherwise feel that a simple warning is not enough, as it may end up hiding potential bugs)
[8478364] Adapt tests to our actual inputs
[16ea63d] Add prettier again, now sync'ed with jslint

(pass it on the code, already)
[cfc65df] Improve error messages and tests
[a017948] Test unavailable Elixir upon mix
[7f2a3e9] Test failing installations

Also output core.error when expected
[08061ca] Attempt at making shell scripts more robust
[4ee73cb] Separate test code from production code

1. inputs (for CI) are managed by code, not by .yml env. variables
2. rebar3_builds.txt added for stable repeatability
3. tests tweaked to make it easier to modify and drop dependency on production code
4. `dist` regenerated (duplicate files gone)
5. setup-elixir.js tweaked to this new reality
[d17fed4] Remove prettier from the package
[7d6f8f5] Actually break CI when we should
[b972eaf] Remove unrequired element
[0ffa28a] Ease maintenance and readability
[4690169] Fix as per broken tests
[a1371c6] Merge setup-erlang in
2021-03-30 11:54:20 -05:00