* Provide a working rebar.cmd for system that need it
(Windows on non-PowerShell)
* Add tests for recent changes
If the "run" were to fail the job would too
* Check if Rust can find it
* feat: add escripts to path
* Update src/install-elixir.ps1
Co-authored-by: Paulo F. Oliveira <paulo.ferraz.oliveira@gmail.com>
* add github action combo to test escript
* force install
* use os homedir for escript install path
Co-authored-by: Paulo F. Oliveira <paulo.ferraz.oliveira@gmail.com>
* 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 all our deps
Get rid of warnings such as:
* `save-state` will be deprecated
* `set-output` will be deprecated
* nodejs 12 is being deprecated
...
Rely on tests to make sure the actions still works
* Fix as per CI results
* Get rid of deprecated containers
* Have a warningless run
We're not testing rebar3 here, in any case
* Check tests failing for something that should pass
* Test with version-type: strict
* Add more tests
GitHub actions is refusing to run a given workflow :shrug
* Try to fix new test that shouldn't be failing
Which is exactly what we intended to originate by starting a new
pull request.
* Fix tests as per CI
* Fix tests as per CI
* Adapt to "latest"
* Fix as per CI results
Actions' window shows everything as Ok but then internals not
Error when evaluating 'runs-on' for job 'integration_test'. .github/workflows/ubuntu.yml (Line: 19, Col: 14): Unexpected type of value '', expected type: OneOf.
Strange one, this one!
* Try to "help" for non-OTP declared input
We do this for OTP-, but not for maint-
as the former is hopefully more common
than the latter
* Introduce `latest` to signify `master`
Semantically they're similar, but with `latest` we know:
1. to fetch Elixir's no-otp-... version
2. to fetch Erlang's master
whereas with 25 (latest at this moment) we'd
try to fetch elixirvsn-otp-25 which could fail with
Elixir master and version-type strict
* Fix as per CI
Still not 100% convinced that `latest` should be separate from `master`
but I want to know how tests run, in this case in particular
* Fix as per CI
* Fix as per CI
* Revert potential wrong decision
* Fix as per understand recent Elixir changes (namely master v. main)
* Try to simplify it
We introduce the concept of version v. branch (as per @ericmj)
and we use that to find the most appropriate Erlang/Elixir combo.
* Prevent "future" errors when choosing incompatible Elixir v. OTP versions
* Fix tests as per GitHub Actions' output
* Make test elixir `master` strict
It has no -otp- in the name
* 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
* Add Erlang/OTP 25+ (not RC) to tests
* Test a specific combo
And a strict version
* Allow testing "edge" cases
We weren't taking our own considerations into account for version strictness
We want to be able to test cases where we use -otp- (if the consumer is doing
it, at least they have to use _strict_ to assert their decision)
* Fix CI as per failure in main (action.yml)
* Apply Dependabot alert from GitHub security alert digest
* Keep up with Node.js
* Run action.yml on Node 14 (locally)
* 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