* 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
* 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
* 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>
* 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
* 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
* 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
* 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)
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