Commit Graph
95 Commits
Author SHA1 Message Date
Paulo F. OliveiraandGitHub 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
Paulo F. OliveiraandGitHub 5dfda65506 fix: address Prototype Pollution via parse() in NodeJS flatted (#445)
Address Prototype Pollution via parse() in NodeJS flatted
2026-03-28 23:59:07 +00:00
Paulo F. OliveiraandGitHub f8b54b559e Run ARM-specific tests consistently (#434)
* Run ARM-specific test consistently

* Fix for builds.hex.pm

https://builds.hex.pm/builds/otp/arm64/ubuntu-<x>.04/builds.txt

file is only available when <x> >= 20.

* Fix for builds.hex.pm

https://builds.hex.pm/builds/otp/arm64/ubuntu-20.04/builds.txt

does not contain Erlang 19 any more...
2026-03-14 20:10:19 +00:00
Paulo F. OliveiraandGitHub 1dacaf8a01 Fix for license update automation (#412) 2026-03-02 23:14:13 +00:00
daf8797d04 Update 3rd party licenses (#411)
Co-authored-by: GitHub Actions <actions@user.noreply.github.com>
2026-03-02 22:08:40 +00:00
Paulo F. OliveiraandGitHub 542d9a8e62 Improve output (around "Requested ... version") when we know input (#368)
Improve output when we know input
2026-02-28 14:07:39 +00:00
Paulo F. OliveiraandGitHub fceaea9f54 Fix: more versioning around nightly and maint/main (#359)
* 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
2025-07-10 16:20:49 +01:00
Paulo F. OliveiraandGitHub 1fe9179886 Handle .tool-versions' line break on Windows (#357)
* Test .tool-version on top of Windows

* Parse .tool-version with Windows-style line endings
2025-07-03 17:35:06 +01:00
Paulo F. OliveiraandGitHub 8fc1380bb7 Fix calculating -otp- major for Elixir (#351)
* Set expectations

* Ease testing without having to install via `require`

* Code a solution for the tests

* Avoid errors on unit tests

rebar3 is saying something about SSL, most likely because
our tests are installing a bunch of OTPs which makes
for unpredictable behavior

* Avoid errors on integration tests
2025-07-01 22:13:13 +01:00
Paulo F. OliveiraandGitHub 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. OliveiraandGitHub a8bc27ec39 Add back deprecated runners with warning (#348)
Add back deprecated elements, with a warning on support/maintenance
2025-06-25 00:13:39 +01:00
Paulo F. OliveiraandGitHub afe592256a Match only on what we know should match (versions start with numbers, after OTP-) (#341) 2025-05-29 23:43:43 -05:00
Paulo F. OliveiraandGitHub 3025c9910d Dependabot version updates (#340)
* yamllint for newer file

* Allow for proper, lower-level, pinning

Makes for increased reproducibility (and overall control)
2025-05-30 02:53:21 +01:00
Paulo F. OliveiraandGitHub 65066e38a0 Act on CodeQL's suggestions for tightening security / improving performance (#338)
* Act on CodeQL's actions/missing-workflow-permissions

https://codeql.github.com/codeql-query-help/actions/actions-missing-workflow-permissions/

* Be more specific in the matched regex

And don't match a group if we don't need to match one

* Make it slightly faster since we know what after -otp-

I create a const because both expressions are looking for
the same thing
2025-05-29 19:57:00 -05:00
Paulo F. OliveiraandGitHub e1b020163b Minor maintenance updates (#336) 2025-05-29 15:50:24 +01:00
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
Paulo F. OliveiraandGitHub 891e46b77a Improve output when failing to get a version from "a place" (#334) 2025-05-28 17:42:50 -05:00
Paulo F. OliveiraandGitHub f28fd8ebb9 Fix for rebar3 nightly/latest (#331) 2025-05-25 10:42:17 -05:00
Paulo F. OliveiraandGitHub 8e3c26cc73 chore: approach Node.js' "suites and tests" way of testing (#328) 2025-04-26 17:54:49 -05:00
Paulo F. OliveiraandGitHub 1f578f0ad6 Remove "I have performed a self-review of my changes" from the pull request template (#303) 2024-09-25 21:14:39 +01:00
Paulo F. OliveiraandGitHub ee8d6d1ec3 Fix CI (don't use 26.2.5 on Windows; be strict when comparing versions) (#299) 2024-07-16 19:52:57 -05:00
Paulo F. OliveiraandGitHub 7f9edf8627 Tweak/readme (#295) 2024-06-28 06:48:33 -05:00
Paulo F. OliveiraandGitHub 31b1b6df0d Remove input parameter that isn't one (in tests) (#290) 2024-06-22 11:08:37 -05:00
Paulo F. OliveiraandGitHub d9b218387a Update the action's description (GH marketplace) (#291) 2024-06-22 11:07:45 -05:00
Paulo F. OliveiraandGitHub 54e90d44b0 Tweak markdownlint rules and README versioning (#286) 2024-06-15 21:13:54 -05:00
Paulo F. OliveiraandGitHub cfc70fd675 Test under non-RC Elixir 1.17 (#281) 2024-06-15 16:05:47 +01:00
Paulo F. OliveiraandGitHub fd4c26e7d0 Update CI now that rebar3 nightly no longer supports OTP 24 (#282) 2024-06-13 18:58:34 -05:00
Paulo F. OliveiraandGitHub 6292fa4771 Test over OTP 27 and rebar3 3.23 (#274) 2024-05-25 20:08:17 +01:00
Paulo F. OliveiraandGitHub c36fc0ca1b Hack around rebar3 compiling your project to output its version (#256) 2024-03-03 17:49:50 -06:00
Paulo F. OliveiraandGitHub cdb7a12eb6 Test on OTP-27.0-rc1 + a few minor README tweaks (#255) 2024-03-03 17:48:54 -06:00
Paulo F. Oliveira 0430fb6cc6 Fix CI for pull requests (#259) 2024-02-29 22:03:16 +00:00
Paulo F. OliveiraandGitHub 951dd857ae Move bin path, in Windows, from D: to C: (#251) 2024-02-12 22:03:29 -06:00
Paulo F. OliveiraandGitHub 98ca4dce66 Have npm run build-dist _always_ recreate dist (#247) 2024-01-28 16:45:05 -06:00
Paulo F. OliveiraandGitHub cf854bf149 Fix "Windows workflow broken since recent commit" (#246) 2024-01-28 12:52:46 -06:00
Paulo F. OliveiraandGitHub 07193a0ba2 Update outdated/deprecated actions (#244) 2024-01-28 12:52:05 -06:00
Paulo F. OliveiraandGitHub b60baf4753 Add known branch exceptions to version matching (#242) 2024-01-17 23:37:13 +00:00
Paulo F. OliveiraandGitHub bc84950393 Bump semver to 7.5.4 (#240) 2024-01-17 23:32:48 +00:00
Paulo F. OliveiraandGitHub 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
Paulo F. OliveiraandGitHub a34c98fd51 Fix typos in security policy (#237) 2024-01-06 14:37:38 -06:00
Paulo F. OliveiraandGitHub 2a21db5504 Ease pre-pull request fork CI as well as github-actions based dispatch (#229) 2023-08-25 17:04:51 +01:00
Paulo F. OliveiraandGitHub afb8586fc4 Feature tool-cache for Gleam and rebar3 (#223)
* Make iterating over mirrors more flexible (and reusable)

At the same time we fix an error, where we aren't using the
mirrors for the OTP build :)

* Make installation of cache-based tool callback -based

This hopefully eases introduction of new languages at the cost
of a bit of abstraction (there's an extensive comment on how to
fill in the install options' object)

We'll soon test this abstraction by making Gleam and rebar3
cached too

* Increase our visibility when debugging

* Improve on lessons learned to ease incorporation of further caches

(starting with Gleam on Linux)

* Cache Gleam on Windows

* Cache Rebar3 on Linux

Also, gets rid of all .sh

* Cache Rebar3 on Windows

Also, gets rid of all .ps1

* Act on CI results

And also be consistent when it comes to using
fs....Sync vs fs.promise....

* Move tests to a single file

* Move main executable to a single file

* Decrease number of changes to ease review

* Expose function required for tests

* Don't async/await when not required

* Resolve post- merge-conflict resolution issues
2023-08-07 10:32:15 +01:00
Paulo F. OliveiraandGitHub f6a73a7bf1 Rework our version matching algorithm (#217)
* Update some dependencies' versions (also, get rid of husky)

* Introduce branch dependency execution

We want the most important things to fail first and prevent the
other ones from executing

e.g. if your dist/ is not updated, there's no point seeing the tests fail

* Rid ourselves of bloat

* Introduce expectations for upcoming version

* Tweak whitespace

* Tweak our calls to getVersionFromSpec (increase code consistency)

* Remove non-used variable

* Start coercing on input, stop sorting/maybe prepending 'v' on input

We'll deal with all this in a centralized place to make
it easier to reason on the code

* Revamp our getVersionFromSpec

1. stop accepting maybePrependWithV0, since this is only used in specialized
   cases
2. sort versions internally (don't expect it to come sorted)
3. compare rc/strict and .includes in a single go (don't separate these)
4. don't expect already coerced version arrays, coerce them when required
   (the maybeCoerced version had changed already, which means we're smarter
   at putting stuff inside the version array)
5. raise an exception if a semver-invalid version is not flagged as strict

* Reduce our expectations, but still be appropriate to our mission

* Update our tests for our new expectations (start the TDD bit)

* Execute npm run build-dist and keep results

* Increase inter-job dependency

* Don't expect markdownlint to be installed remotely

* Revert "Increase inter-job dependency"

This reverts commit 500b0fe7e9eec1c4f258b4d16b40719ee1d0a1ad.

* Revert "Introduce branch dependency execution"

This reverts commit fbe1317a800d7722f4e8b668c073218263d0ab17.

* Have all the CI workflows run under the same conditions

* Fix as per CI results

* Re-establish the possibility to match versions like 22.3.4.2.1.0

We cheat on the semver matching:
1. we keep an ordered list of versions that respect e.g. 22.3.4
2. if we match 22.3.4 when fetching a version, we get the last value
   from the list of versions that respect it, e.g. 22.3.4.2.1.0
   (since this is ordered, it should work as previously expected)

This increases code complexity for getVersionFromSpec,
but hopefully not by much...

We also remove throw-based test cases (non-versions will fail later,
with null), and add some tests to prove our need code.

* Trim out linting practices

But still keep them useful
2023-07-21 20:56:02 +01:00
Paulo F. OliveiraandGitHub fa5c1c2428 Improve our community standards (#218)
* Add a bug report template

* Add a feature request template

* Add a pull request template

* Add a security policy

* Lint newer files
2023-07-01 11:26:50 -05:00
Paulo F. OliveiraandGitHub 145c80cf85 Test Erlang/OTP 26 + Elixir 1.14 on top Windows (#191)
* Add more stuff to test on

* Tweak our debugging (more verbose when the runner is in debug mode)

* Hopefully make it easier to debug

* Have the distribution work :-)

* Adapt to a better reality
2023-06-24 11:27:31 -05:00
Paulo F. OliveiraandGitHub 61e01a43a5 Fix post -main-merge issue (#213) 2023-06-21 15:08:08 -05:00
Paulo F. OliveiraandGitHub 977eee5f6e Fix 3rd party licenses updater (action) (#202)
* Act on CI results: fix as per what GitHub Actions is requesting

Seems to have worked up until recently, but then it started
breaking :shrug

* Name the workflow a little better
2023-05-08 19:42:25 -05:00
Paulo F. OliveiraandGitHub b9783cdeea Ease debugging, fix some CI issues, tweak folder structure (#200)
* Enable debug for OTP versions' listings

* Make it easier to detect

* Prevent error annotation on expected error

The fact that one mirror fails in the above test and others follow
working is test enough for me

A single failing mirror should fail, but it's confusing to have
an error annotation for a success (via continue-on-error) while
not being able to suppress it via GitHub Actions

* Trying to figure out why we have a rebar_core exception

Might simply be that the bug is already fixed and we need to bump rebar3

* Try to debug into non-JSON input

* Prevent error in rebar_core

We're getting Access Denied for
Fetching registry from "https://repo.hex.pm:443/registry.ets.gz?"

* Try to figure out what's breaking tests

* Make jsonParse(...).map failure more understandable

* Ease test maintenance

* Tweak folder structure while moving console._ to core._
2023-05-08 09:31:17 +01:00
Paulo F. OliveiraandGitHub 2595a954a1 Fix tests (#184)
* Fix licenses

* Be less hopeful

* Prevent remote breakage from breaking our CI
2023-03-29 22:54:51 -05:00
Paulo F. OliveiraandGitHub 049962787b Test rebar3 being installed after OTP via .tool-versions (#180) 2023-01-27 21:57:09 -06:00
Paulo F. OliveiraandGitHub 1f06ac36d3 Simulate input github-token to fix unit tests (#174)
* Simulate input to fix unit tests
2023-01-07 13:51:47 -06:00
Paulo F. OliveiraandGitHub 37ac1c5116 Try to prevent 403 when accessing the GitHub API (#168)
* Repeat request on error (while logging it)

* Test one change at a time

* Conditionally authorize requests

This seems to affect Windows builds, so might not be the best solution,
but we're trying to isolate the issue to move forward

* Act on CI results

* Ease consumption via a JSON.parse wrapper

We still throw the error, but in a more controlled manner

* Act on CI results
2023-01-04 07:27:57 +00:00
Paulo F. OliveiraandGitHub 2d314bc413 Check behaviour on Windows pre- Gleam 0.23 (#166)
* Check behaviour on Windows pre- Gleam 0.23

* Increase consistency with .sh counterpart

* Support older versions (pre 0.22.1) on Windows

* Increase inter-script consistency

* Run `npm run build-dist`

* React to CI results
2022-12-14 09:25:50 -06:00
Paulo F. OliveiraandGitHub 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. OliveiraandGitHub 35850967ef Have rebar3.cmd work on a Windows CMD shell (#151)
* 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
2022-12-01 19:16:40 +00:00
Paulo F. OliveiraandGitHub 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
Paulo F. OliveiraandGitHub 713cc2ffe3 Move away from set-output (while updating all deps) (#148)
* 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
2022-10-19 21:51:01 +01:00
Paulo F. OliveiraandGitHub 8d31e4db55 Allow version-type: strict + otp-version: master for Elixir -based builds (#144)
* 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.
2022-10-19 21:10:26 +01:00
Paulo F. OliveiraandGitHub 6b2f8153b4 Crash on invalid Elixir+OTP combo (#134)
* 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
2022-09-13 08:21:46 +01:00
Paulo F. OliveiraandGitHub 69fb25ba7e Ease consumption (#125)
Don't take `maint-` -prefixed versions into account unless they're asked for it
specifically
At the same time, while fetching versions, make sure we identify them better so that
25 does not end up pulling maint-25 instead of OTP-25.0, as it should
2022-08-01 13:23:47 +01:00
Paulo F. OliveiraandGitHub caa49b0658 Try current state with Ubuntu 22.04 (#124) 2022-07-12 21:59:53 -05:00
Paulo F. OliveiraandGitHub ac7b7d515b Test on top of Erlang/OTP 25+ (not RC) (#118)
* 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)
2022-05-30 15:11:49 +01:00
Paulo F. OliveiraandGitHub 311afd9034 Apply security fix as proposed by Dependabot (#110)
* Apply security fix as proposed by Dependabot

I actually went to the developer first, pull request the lib., but then my
update got reject, since the lib. moved to TypeScript (from JavaScript);
still, a new release was done and this might just solve our issue

* Update eslint as warned by GitHub notifications
2022-04-23 20:01:06 +01:00
Paulo F. OliveiraandGitHub 9d4fdad6a1 Feature/run build dist (#109)
* Remove duplicates

We already have everything we need in 3RD_PARTY_LICENSES

* Be mindful of pull request creators
2022-04-21 23:51:29 +01:00
Paulo F. OliveiraandGitHub 5436ca9587 Keep up with the times (#102)
* Keep up with the times

* Act on local static analysis (and other actions) results

npm run ... from package.json
2022-04-12 18:20:59 +01:00
Paulo F. OliveiraandGitHub 2e0500f2a5 Handle strings as such (#100)
* Handle strings as such

* Let automation do its thing
2022-04-07 20:27:52 +01:00
Paulo F. OliveiraandGitHub c428d8c359 Attempt use on top of Erlang 25.0-rc1 (#93) 2022-02-22 11:09:02 +00:00
Paulo F. OliveiraandGitHub 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. OliveiraandGitHub b28629c519 Allow for Windows'22 container (#91)
(win22 is just a guess, at this moment)
2022-02-22 11:04:38 +00:00
Paulo F. OliveiraandGitHub df03a946e0 Fix 3rd party license updater (#92)
Instead of pushing directly (since the main branch is protected) this creates a pull request
2022-02-22 10:54:04 +00:00
Paulo F. OliveiraandGitHub 6c5caca0fb Update our dependencies to increase security (#88) 2022-01-13 20:49:02 +00:00
Paulo F. OliveiraandGitHub 730ac65cba Fix failing CI (#87) 2022-01-12 18:22:12 +00:00
Paulo F. OliveiraandGitHub 65219deb69 Prevent deprecation warnings (#83) 2022-01-12 14:25:57 +00:00
Paulo F. OliveiraandGitHub c71c5c91bb Allow using rebar3 nightly builds (#84) 2022-01-12 14:25:40 +00:00
Paulo F. OliveiraandGitHub e6ab31075d Allow disabling problem matchers (#85) 2022-01-12 11:41:23 +00:00
Paulo F. OliveiraandGitHub 3250a83e5a Automate updating 3rd party licenses (#82) 2022-01-12 11:40:11 +00:00
Paulo F. OliveiraandGitHub c255c7e97f Fix CI as per failure in main (action.yml) (#71)
* 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)
2021-09-07 04:15:25 +01:00
Paulo F. OliveiraandGitHub c988d89031 Add Gleam (#67) 2021-08-03 18:56:12 +01:00
Paulo F. OliveiraandGitHub 14d4bc3919 Ease debugging around ImageOS env.var (#63) 2021-07-26 17:30:18 +01:00
Paulo F. OliveiraandGitHub 9283f857f1 Improve warning message for missing ImageOS env. variable (self-hosted runners) (#59) 2021-07-12 18:35:08 +01:00
Paulo F. OliveiraandGitHub 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. OliveiraandGitHub 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. OliveiraandGitHub 82b4475ba2 Add Windows to the mix (#49) 2021-06-24 21:58:51 +01:00
Paulo F. OliveiraandGitHub dd4eb24e91 Adapt test var. naming to current reality (#47) 2021-06-09 16:21:33 +01:00
Paulo F. OliveiraandGitHub e6db7bde79 Add Erlang 24 to README and some more info on version matching (#45) 2021-06-09 15:59:44 +01:00
Paulo F. OliveiraandGitHub 31cf3db78c Ease maintenance (#43) 2021-05-28 14:49:33 +01:00
Paulo F. OliveiraandGitHub 11d59b146c Allow for latest 100 rebar3 versions when fetching from GitHub (#42) 2021-05-27 20:28:05 -05:00
Paulo F. OliveiraandGitHub b50aa18219 v1.7.1 (#35) 2021-05-15 00:29:16 +01:00
Paulo F. OliveiraandGitHub a550a4c889 Coerce non-semver into semver (#34) 2021-05-15 00:07:41 +01:00
Paulo F. OliveiraandGitHub d2707f347b Tweak our test combos (#31) 2021-04-19 23:17:55 +01:00
Paulo F. OliveiraandGitHub 78d10b5f61 v1.7.0 (#30) 2021-04-03 00:31:42 +01:00
Paulo F. OliveiraandGitHub f05ed1cf77 Add Erlang/OTP v. Ubuntu compatibility list (#27) 2021-03-31 22:00:01 +01:00
Paulo F. OliveiraandGitHub 1f3954e2a3 Reduce size of dist (#26) 2021-03-31 19:18:27 +01:00
Paulo F. OliveiraandGitHub 46b1995d92 Aim for warningless (and more complete) test coverage on rebar3 and mix (#25) 2021-03-31 18:52:14 +01:00
Paulo F. OliveiraandGitHub 0b481810f8 Apply stricter linting (#24) 2021-03-30 21:58:09 +01:00
Paulo F. OliveiraandGitHub 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