Commit Graph

26 Commits

Author SHA1 Message Date
Paulo F. Oliveira fd4c26e7d0 Update CI now that rebar3 nightly no longer supports OTP 24 (#282) 2024-06-13 18:58:34 -05:00
Paulo F. Oliveira 6292fa4771 Test over OTP 27 and rebar3 3.23 (#274) 2024-05-25 20:08:17 +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 0430fb6cc6 Fix CI for pull requests (#259) 2024-02-29 22:03:16 +00: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 cf854bf149 Fix "Windows workflow broken since recent commit" (#246) 2024-01-28 12:52:46 -06:00
Paulo F. Oliveira 07193a0ba2 Update outdated/deprecated actions (#244) 2024-01-28 12:52:05 -06:00
Paulo F. Oliveira 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. Oliveira 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. Oliveira 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. Oliveira 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
Bryan Paxton e3f6ffe287 Provide an input for github tokens (#172)
* Provide an input for github tokens

- By providing an input for github tokens with a default users no longer have to pass
  the github token via their environment across workflows.
- Remove GITHUB_TOKEN from our environment in all workflows

* Don't run workflows on main on pull requests

Co-authored-by: Paulo F. Oliveira <paulo.ferraz.oliveira@gmail.com>
2023-01-06 10:14:27 -06:00
Paulo F. Oliveira 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. Oliveira 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. Oliveira 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
Blake Kostner b980a5ac9b Ease Elixir escripts execution by adding ${HOME}/.mix/escripts to path (#153)
* 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>
2022-11-22 22:39:36 +00:00
Paulo F. Oliveira 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
Wojtek Mach 8bfa104bdd Test environment variables are set (#142) 2022-09-16 20:01:17 +02: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 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. Oliveira c428d8c359 Attempt use on top of Erlang 25.0-rc1 (#93) 2022-02-22 11:09:02 +00: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 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 c988d89031 Add Gleam (#67) 2021-08-03 18:56:12 +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