Compare commits

...

46 Commits

Author SHA1 Message Date
GitHub Actions 8736e92447 Automation: update setup-beam version output to f4f179b 2026-07-08 21:43:14 +00:00
github-actions[bot] f4f179b825 Update 3rd party licenses (automation) (#484)
Update 3rd party licenses

Co-authored-by: GitHub Actions <actions@user.noreply.github.com>
2026-07-08 22:42:59 +01:00
GitHub Actions a228c4f190 Automation: update setup-beam version output to 730131f 2026-07-07 14:33:08 +00:00
github-actions[bot] 730131f5b9 Update 3rd party licenses (automation) (#483)
Update 3rd party licenses

Co-authored-by: GitHub Actions <actions@user.noreply.github.com>
2026-07-07 09:32:48 -05:00
GitHub Actions 7782cf9cde Automation: update setup-beam version output to 324994a 2026-07-07 12:07:34 +00:00
dependabot[bot] 324994a2c5 Bump prettier from 3.9.1 to 3.9.4 (#481)
Bumps [prettier](https://github.com/prettier/prettier) from 3.9.1 to 3.9.4.
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/3.9.1...3.9.4)

---
updated-dependencies:
- dependency-name: prettier
  dependency-version: 3.9.4
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-07 07:07:14 -05:00
GitHub Actions 551a8c58c5 Automation: update setup-beam version output to 74e4a98 2026-07-07 11:58:09 +00:00
dependabot[bot] 74e4a9879b Bump @vercel/ncc from 0.44.0 to 0.44.1 (#480)
Bumps [@vercel/ncc](https://github.com/vercel/ncc) from 0.44.0 to 0.44.1.
- [Release notes](https://github.com/vercel/ncc/releases)
- [Commits](https://github.com/vercel/ncc/compare/0.44.0...0.44.1)

---
updated-dependencies:
- dependency-name: "@vercel/ncc"
  dependency-version: 0.44.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-07 06:57:53 -05:00
GitHub Actions 992182bb93 Automation: update setup-beam version output to 837c16f 2026-07-07 11:37:41 +00:00
dependabot[bot] 837c16fb56 Bump csv-parse from 7.0.0 to 7.0.1 (#479)
Bumps [csv-parse](https://github.com/adaltas/node-csv/tree/HEAD/packages/csv-parse) from 7.0.0 to 7.0.1.
- [Changelog](https://github.com/adaltas/node-csv/blob/master/packages/csv-parse/CHANGELOG.md)
- [Commits](https://github.com/adaltas/node-csv/commits/csv-parse@7.0.1/packages/csv-parse)

---
updated-dependencies:
- dependency-name: csv-parse
  dependency-version: 7.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-07 06:37:26 -05:00
GitHub Actions 50a47d8240 Automation: update setup-beam version output to 149ca49 2026-06-30 20:39:42 +00:00
John Downey 149ca49ab5 Add tests for arm64 Linux runner OS detection (#462)
Add tests for arm64 ImageOS OS detection
2026-06-30 21:39:23 +01:00
GitHub Actions 48f5ea24e9 Automation: update setup-beam version output to fa47191 2026-06-30 20:09:03 +00:00
John Downey fa471919e3 Add tests for Ubuntu 26 runners (#465)
Add test coverage for Ubuntu 26.04 runners
2026-06-30 21:08:45 +01:00
GitHub Actions b59f4962e3 Automation: update setup-beam version output to 3598349 2026-06-30 20:03:00 +00:00
github-actions[bot] 35983496a6 Update 3rd party licenses (automation) (#478)
Update 3rd party licenses

Co-authored-by: GitHub Actions <actions@user.noreply.github.com>
2026-06-30 21:01:49 +01:00
GitHub Actions fad8771ace Automation: update setup-beam version output to c35be0e 2026-06-29 22:24:43 +00:00
dependabot[bot] c35be0e285 Bump undici from 6.24.0 to 6.27.0 in the npm_and_yarn group across 1 directory (#477)
* Bump undici in the npm_and_yarn group across 1 directory

Bumps the npm_and_yarn group with 1 update in the / directory: [undici](https://github.com/nodejs/undici).


Updates `undici` from 6.24.0 to 6.27.0
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](https://github.com/nodejs/undici/compare/v6.24.0...v6.27.0)

---
updated-dependencies:
- dependency-name: undici
  dependency-version: 6.27.0
  dependency-type: indirect
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>

* Help Renovate out (exec 'npm run build-dist')

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Paulo F. Oliveira <paulo.ferraz.oliveira@gmail.com>
2026-06-29 23:24:27 +01:00
GitHub Actions e6d7811738 Automation: update setup-beam version output to b153028 2026-06-29 22:19:34 +00:00
dependabot[bot] b15302821e Bump smol-toml from 1.6.1 to 1.7.0 (#474)
* Bump smol-toml from 1.6.1 to 1.7.0

Bumps [smol-toml](https://github.com/squirrelchat/smol-toml) from 1.6.1 to 1.7.0.
- [Release notes](https://github.com/squirrelchat/smol-toml/releases)
- [Commits](https://github.com/squirrelchat/smol-toml/compare/v1.6.1...v1.7.0)

---
updated-dependencies:
- dependency-name: smol-toml
  dependency-version: 1.7.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Help Renovate out (exec 'npm run build-dist')

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Paulo F. Oliveira <paulo.ferraz.oliveira@gmail.com>
2026-06-29 23:19:15 +01:00
GitHub Actions b0ba423105 Automation: update setup-beam version output to c648472 2026-06-29 22:17:42 +00:00
dependabot[bot] c648472e6f Bump csv-parse from 6.2.1 to 7.0.0 (#472)
* Bump csv-parse from 6.2.1 to 7.0.0

Bumps [csv-parse](https://github.com/adaltas/node-csv/tree/HEAD/packages/csv-parse) from 6.2.1 to 7.0.0.
- [Changelog](https://github.com/adaltas/node-csv/blob/master/packages/csv-parse/CHANGELOG.md)
- [Commits](https://github.com/adaltas/node-csv/commits/csv-parse@7.0.0/packages/csv-parse)

---
updated-dependencies:
- dependency-name: csv-parse
  dependency-version: 7.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* Help Renovate out (exec 'npm run build-dist')

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Paulo F. Oliveira <paulo.ferraz.oliveira@gmail.com>
2026-06-29 23:17:25 +01:00
GitHub Actions 3809396843 Automation: update setup-beam version output to f8797dd 2026-06-29 22:03:47 +00:00
github-actions[bot] f8797dd823 Update 3rd party licenses (automation) (#476)
Update 3rd party licenses

Co-authored-by: GitHub Actions <actions@user.noreply.github.com>
2026-06-29 23:01:01 +01:00
dependabot[bot] a433e6bd12 Bump markdownlint-cli from 0.48.0 to 0.49.0 (#470)
Bumps [markdownlint-cli](https://github.com/igorshubovych/markdownlint-cli) from 0.48.0 to 0.49.0.
- [Release notes](https://github.com/igorshubovych/markdownlint-cli/releases)
- [Commits](https://github.com/igorshubovych/markdownlint-cli/compare/v0.48.0...v0.49.0)

---
updated-dependencies:
- dependency-name: markdownlint-cli
  dependency-version: 0.49.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-29 23:00:35 +01:00
dependabot[bot] e0a7f48cee Bump @vercel/ncc from 0.38.4 to 0.44.0 (#471)
Bumps [@vercel/ncc](https://github.com/vercel/ncc) from 0.38.4 to 0.44.0.
- [Release notes](https://github.com/vercel/ncc/releases)
- [Commits](https://github.com/vercel/ncc/compare/0.38.4...0.44.0)

---
updated-dependencies:
- dependency-name: "@vercel/ncc"
  dependency-version: 0.44.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-29 23:00:27 +01:00
dependabot[bot] c21f568d4c Bump eslint-plugin-yml from 3.3.1 to 3.5.0 (#473)
Bumps [eslint-plugin-yml](https://github.com/ota-meshi/eslint-plugin-yml) from 3.3.1 to 3.5.0.
- [Release notes](https://github.com/ota-meshi/eslint-plugin-yml/releases)
- [Changelog](https://github.com/ota-meshi/eslint-plugin-yml/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ota-meshi/eslint-plugin-yml/compare/v3.3.1...v3.5.0)

---
updated-dependencies:
- dependency-name: eslint-plugin-yml
  dependency-version: 3.5.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-29 23:00:16 +01:00
dependabot[bot] fe26b2283c Bump raven-actions/actionlint from 2.1.2 to 2.2.0 (#475)
Bumps [raven-actions/actionlint](https://github.com/raven-actions/actionlint) from 2.1.2 to 2.2.0.
- [Release notes](https://github.com/raven-actions/actionlint/releases)
- [Commits](https://github.com/raven-actions/actionlint/compare/v2.1.2...v2.2.0)

---
updated-dependencies:
- dependency-name: raven-actions/actionlint
  dependency-version: 2.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-29 23:00:00 +01:00
GitHub Actions 54075bcc5e Automation: update setup-beam version output to ea45c80 2026-06-28 16:35:41 +00:00
Jonatan Männchen ea45c8043f Remove lodash Dependency (#457)
NodeJS 24 contains RegExp.escape, no need for lodash.
2026-06-28 17:35:21 +01:00
GitHub Actions b4b8d851b6 Automation: update setup-beam version output to 20df794 2026-06-28 15:16:26 +00:00
dependabot[bot] 20df794ab3 Bump globals from 17.4.0 to 17.7.0 (#452)
Bumps [globals](https://github.com/sindresorhus/globals) from 17.4.0 to 17.7.0.
- [Release notes](https://github.com/sindresorhus/globals/releases)
- [Commits](https://github.com/sindresorhus/globals/compare/v17.4.0...v17.7.0)

---
updated-dependencies:
- dependency-name: globals
  dependency-version: 17.5.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-28 16:16:07 +01:00
GitHub Actions 9d5c5ca125 Automation: update setup-beam version output to ad42943 2026-06-28 15:14:47 +00:00
dependabot[bot] ad4294342c Bump prettier from 3.8.1 to 3.9.1 (#454)
Bumps [prettier](https://github.com/prettier/prettier) from 3.8.1 to 3.9.1.
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/3.8.1...3.9.1)

---
updated-dependencies:
- dependency-name: prettier
  dependency-version: 3.8.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-28 16:14:29 +01:00
GitHub Actions 135c095dff Automation: update setup-beam version output to a04cfbb 2026-06-28 15:13:05 +00:00
dependabot[bot] a04cfbb50e Bump eslint from 10.1.0 to 10.6.0 (#453)
Bumps [eslint](https://github.com/eslint/eslint) from 10.1.0 to 10.6.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Commits](https://github.com/eslint/eslint/compare/v10.1.0...v10.6.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-version: 10.2.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-28 16:12:05 +01:00
GitHub Actions cd1472f941 Automation: update setup-beam version output to c80fdc9 2026-06-28 15:09:08 +00:00
dependabot[bot] c80fdc938c Bump actions/checkout from 6.0.2 to 7.0.0 (#467)
Bumps [actions/checkout](https://github.com/actions/checkout) from 6.0.2 to 7.0.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v6.0.2...v7.0.0)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 7.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-28 16:08:48 +01:00
GitHub Actions aecd7abd75 Automation: update setup-beam version output to 6e9312b 2026-06-28 14:53:40 +00:00
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
GitHub Actions 3985c7c047 Automation: update setup-beam version output to 35f5255 2026-06-28 12:40:09 +00:00
github-actions[bot] 35f52551d2 Update 3rd party licenses (automation) (#469)
Update 3rd party licenses

Co-authored-by: GitHub Actions <actions@user.noreply.github.com>
2026-06-28 13:39:52 +01:00
GitHub Actions 0510550330 Automation: update setup-beam version output to 9eabb2c 2026-06-28 11:42:59 +00:00
github-actions[bot] 9eabb2c115 Update 3rd party licenses (automation) (#459)
Update 3rd party licenses

Co-authored-by: GitHub Actions <actions@user.noreply.github.com>
2026-06-28 12:42:40 +01:00
GitHub Actions e5f1a7b722 Automation: update setup-beam version output to 7a27046 2026-04-29 01:33:13 +00:00
github-actions[bot] 7a27046239 Update 3rd party licenses (automation) (#446)
Update 3rd party licenses

Co-authored-by: GitHub Actions <actions@user.noreply.github.com>
2026-04-29 02:32:56 +01:00
15 changed files with 2236 additions and 18158 deletions
+7 -8
View File
@@ -24,7 +24,7 @@ jobs:
permissions: permissions:
contents: write contents: write
steps: steps:
- uses: actions/checkout@v6.0.2 - uses: actions/checkout@v7.0.0
- name: Version it! - name: Version it!
run: | run: |
# We expect a string such as const setupBeamVersion = 'undefined' in the code # We expect a string such as const setupBeamVersion = 'undefined' in the code
@@ -45,7 +45,7 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
if: github.ref != 'refs/heads/main' if: github.ref != 'refs/heads/main'
steps: steps:
- uses: actions/checkout@v6.0.2 - uses: actions/checkout@v7.0.0
- uses: actions/setup-node@v6.3.0 - uses: actions/setup-node@v6.3.0
with: with:
node-version: '24' node-version: '24'
@@ -58,8 +58,8 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
if: github.ref != 'refs/heads/main' if: github.ref != 'refs/heads/main'
steps: steps:
- uses: actions/checkout@v6.0.2 - uses: actions/checkout@v7.0.0
- uses: raven-actions/actionlint@v2.1.2 - uses: raven-actions/actionlint@v2.2.0
unit_tests_ubuntu: unit_tests_ubuntu:
name: Unit tests (Ubuntu) name: Unit tests (Ubuntu)
@@ -70,7 +70,7 @@ jobs:
- ubuntu-latest # x86_64 - ubuntu-latest # x86_64
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- uses: actions/checkout@v6.0.2 - uses: actions/checkout@v7.0.0
- uses: actions/setup-node@v6.3.0 - uses: actions/setup-node@v6.3.0
with: with:
node-version: '24' node-version: '24'
@@ -92,11 +92,10 @@ jobs:
strategy: strategy:
matrix: matrix:
os: os:
- windows-11-arm # ARM64
- windows-latest # x86_64 - windows-latest # x86_64
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- uses: actions/checkout@v6.0.2 - uses: actions/checkout@v7.0.0
- uses: actions/setup-node@v6.3.0 - uses: actions/setup-node@v6.3.0
with: with:
node-version: '24' node-version: '24'
@@ -122,7 +121,7 @@ jobs:
- macos-15-intel # x86_64 - macos-15-intel # x86_64
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- uses: actions/checkout@v6.0.2 - uses: actions/checkout@v7.0.0
- uses: actions/setup-node@v6.3.0 - uses: actions/setup-node@v6.3.0
with: with:
node-version: '24' node-version: '24'
+1 -1
View File
@@ -26,7 +26,7 @@ jobs:
install-rebar: [true, false] install-rebar: [true, false]
install-hex: [true, false] install-hex: [true, false]
steps: steps:
- uses: actions/checkout@v6.0.2 - uses: actions/checkout@v7.0.0
- name: Use erlef/setup-beam - name: Use erlef/setup-beam
id: setup-beam id: setup-beam
uses: ./ uses: ./
+21 -13
View File
@@ -16,6 +16,7 @@ on:
jobs: jobs:
integration_test: integration_test:
name: > name: >
OS ${{matrix.combo.os}},
OTP ${{matrix.combo.otp-version}}, OTP ${{matrix.combo.otp-version}},
Elixir ${{matrix.combo.elixir-version}}, Elixir ${{matrix.combo.elixir-version}},
rebar3 ${{matrix.combo.rebar3-version}} rebar3 ${{matrix.combo.rebar3-version}}
@@ -24,6 +25,22 @@ jobs:
fail-fast: false fail-fast: false
matrix: matrix:
combo: combo:
# macOS 14 - per README
- otp-version: '25'
os: 'macos-14'
- otp-version: '29'
os: 'macos-14'
# macOS 15 - per README
- otp-version: '25'
os: 'macos-15'
- otp-version: '29'
os: 'macos-15'
# macOS 26 - per README
- otp-version: '25'
os: 'macos-26'
- otp-version: '29'
os: 'macos-26'
# macOS latest
- otp-version: '27' - otp-version: '27'
elixir-version: 'v1.17.0' elixir-version: 'v1.17.0'
rebar3-version: '3.23' rebar3-version: '3.23'
@@ -43,22 +60,13 @@ jobs:
elixir-version: '1.14.3' elixir-version: '1.14.3'
os: 'macos-latest' os: 'macos-latest'
version-type: 'strict' version-type: 'strict'
- otp-version: '25'
os: 'macos-15'
- otp-version: '27'
elixir-version: '1.18'
os: 'macos-26'
- otp-version: '26'
elixir-version: '1.16'
rebar3-version: '3.25'
os: 'macos-14'
- otp-version: '25.0' - otp-version: '25.0'
elixir-version: 'v1.13.4-otp-25' elixir-version: 'v1.16.3-otp-25'
rebar3-version: '3.18.0' rebar3-version: '3.18.0'
os: 'macos-latest' os: 'macos-latest'
version-type: 'strict' version-type: 'strict'
- otp-version: '25.0' - otp-version: '25.0'
elixir-version: 'v1.13.4' elixir-version: 'v1.16.3'
rebar3-version: '3.18.0' rebar3-version: '3.18.0'
os: 'macos-latest' os: 'macos-latest'
version-type: 'strict' version-type: 'strict'
@@ -68,7 +76,7 @@ jobs:
rebar3-version: 'latest' rebar3-version: 'latest'
os: 'macos-latest' os: 'macos-latest'
steps: steps:
- uses: actions/checkout@v6.0.2 - uses: actions/checkout@v7.0.0
- name: Use erlef/setup-beam - name: Use erlef/setup-beam
id: setup-beam id: setup-beam
uses: ./ uses: ./
@@ -121,7 +129,7 @@ jobs:
rebar3-version: 3.24 rebar3-version: 3.24
os: macos-latest os: macos-latest
steps: steps:
- uses: actions/checkout@v6.0.2 - uses: actions/checkout@v7.0.0
- name: Use erlef/setup-beam - name: Use erlef/setup-beam
id: setup-beam id: setup-beam
uses: ./ uses: ./
+19 -17
View File
@@ -16,6 +16,7 @@ on:
jobs: jobs:
integration_test: integration_test:
name: > name: >
OS ${{matrix.combo.os}},
OTP ${{matrix.combo.otp-version}}, OTP ${{matrix.combo.otp-version}},
Elixir ${{matrix.combo.elixir-version}}, Elixir ${{matrix.combo.elixir-version}},
Gleam ${{matrix.combo.gleam-version}}, Gleam ${{matrix.combo.gleam-version}},
@@ -25,15 +26,22 @@ jobs:
fail-fast: false fail-fast: false
matrix: matrix:
combo: combo:
- otp-version: '<26' # Ubuntu 22.04 - per README
elixir-version: '<1.17' - otp-version: '24.2'
os: 'ubuntu-22.04' os: 'ubuntu-22.04'
- otp-version: 'master' - otp-version: '29'
elixir-version: '> 0' os: 'ubuntu-22.04'
# Ubuntu 24.04 - per README
- otp-version: '24.3'
os: 'ubuntu-24.04' os: 'ubuntu-24.04'
- otp-version: 'master' - otp-version: '29'
elixir-version: 'main'
os: 'ubuntu-24.04' os: 'ubuntu-24.04'
# Ubuntu 26.04 - per README
- otp-version: '26'
os: 'ubuntu-26.04'
- otp-version: '29'
os: 'ubuntu-26.04'
# Ubuntu latest
- otp-version: '27' - otp-version: '27'
elixir-version: 'v1.17.0' elixir-version: 'v1.17.0'
rebar3-version: '3.23' rebar3-version: '3.23'
@@ -53,19 +61,13 @@ jobs:
elixir-version: '1.14.3' elixir-version: '1.14.3'
os: 'ubuntu-latest' os: 'ubuntu-latest'
version-type: 'strict' version-type: 'strict'
- otp-version: '25'
os: 'ubuntu-24.04'
- otp-version: '26'
elixir-version: '1.16'
rebar3-version: '3.25'
os: 'ubuntu-22.04'
- otp-version: '25.0' - otp-version: '25.0'
elixir-version: 'v1.13.4-otp-25' elixir-version: 'v1.16.2-otp-25'
rebar3-version: '3.18.0' rebar3-version: '3.18.0'
os: 'ubuntu-latest' os: 'ubuntu-latest'
version-type: 'strict' version-type: 'strict'
- otp-version: '25.0' - otp-version: '25.0'
elixir-version: 'v1.13.4' elixir-version: 'v1.16.3'
rebar3-version: '3.18.0' rebar3-version: '3.18.0'
os: 'ubuntu-latest' os: 'ubuntu-latest'
version-type: 'strict' version-type: 'strict'
@@ -80,13 +82,13 @@ jobs:
otp-version: false otp-version: false
os: 'ubuntu-latest' os: 'ubuntu-latest'
disable_problem_matchers: true disable_problem_matchers: true
- elixir-version: 'v1.13' - elixir-version: 'v1.16'
otp-version: '24' otp-version: '24'
escript_packages: 'hex protobuf' escript_packages: 'hex protobuf'
escript_script: 'protoc-gen-elixir --version' escript_script: 'protoc-gen-elixir --version'
os: 'ubuntu-latest' os: 'ubuntu-latest'
steps: steps:
- uses: actions/checkout@v6.0.2 - uses: actions/checkout@v7.0.0
- name: Use erlef/setup-beam - name: Use erlef/setup-beam
id: setup-beam id: setup-beam
uses: ./ uses: ./
@@ -154,7 +156,7 @@ jobs:
rebar3-version: 3.24 rebar3-version: 3.24
os: ubuntu-latest os: ubuntu-latest
steps: steps:
- uses: actions/checkout@v6.0.2 - uses: actions/checkout@v7.0.0
- name: Use erlef/setup-beam - name: Use erlef/setup-beam
id: setup-beam id: setup-beam
uses: ./ uses: ./
@@ -15,7 +15,7 @@ jobs:
name: Update 3rd party licenses name: Update 3rd party licenses
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v6.0.2 - uses: actions/checkout@v7.0.0
- run: - run:
./.github/workflows/update_3rd_party_licenses.sh ./.github/workflows/update_3rd_party_licenses.sh
env: env:
+17 -14
View File
@@ -16,6 +16,7 @@ on:
jobs: jobs:
integration_test: integration_test:
name: > name: >
OS ${{matrix.combo.os}},
OTP ${{matrix.combo.otp-version}}, OTP ${{matrix.combo.otp-version}},
Elixir ${{matrix.combo.elixir-version}}, Elixir ${{matrix.combo.elixir-version}},
Gleam ${{matrix.combo.gleam-version}}, Gleam ${{matrix.combo.gleam-version}},
@@ -25,12 +26,20 @@ jobs:
fail-fast: false fail-fast: false
matrix: matrix:
combo: combo:
# Windows 2022 - per README
- otp-version: '26' # 21 is "so old", at this moment, we can't find it in latest 100
os: 'windows-2022'
- otp-version: '29'
os: 'windows-2022'
# Windows 2025 - per README
- otp-version: '26' # 21 is "so old", at this moment, we can't find it in latest 100
os: 'windows-2025'
- otp-version: '29'
os: 'windows-2025'
# Windows latest
- otp-version: '<26' - otp-version: '<26'
elixir-version: '<1.17' elixir-version: '<1.17'
os: 'ubuntu-22.04' os: 'windows-latest'
- otp-version: 'master'
elixir-version: '> 0'
os: 'ubuntu-24.04'
- otp-version: '27' - otp-version: '27'
elixir-version: 'v1.17.0' elixir-version: 'v1.17.0'
rebar3-version: '3.23' rebar3-version: '3.23'
@@ -47,30 +56,24 @@ jobs:
elixir-version: '1.14.5' elixir-version: '1.14.5'
os: 'windows-latest' os: 'windows-latest'
version-type: 'strict' version-type: 'strict'
- otp-version: '24.0.2'
rebar3-version: '3.16'
os: 'windows-2022'
- otp-version: '23.0'
rebar3-version: '3.15'
os: 'windows-2022'
- elixir-version: 'v1.10' - elixir-version: 'v1.10'
otp-version: '23' otp-version: '23'
rebar3-version: '3.14' rebar3-version: '3.14'
os: 'windows-latest' os: 'windows-latest'
- elixir-version: 'v1.13' - elixir-version: 'v1.16'
otp-version: '24' otp-version: '24'
rebar3-version: '3.15' rebar3-version: '3.15'
os: 'windows-latest' os: 'windows-latest'
- gleam-version: '1.9.0' - gleam-version: '1.9.0'
otp-version: '27' otp-version: '27'
os: 'windows-latest' os: 'windows-latest'
- elixir-version: 'v1.13' - elixir-version: 'v1.16'
otp-version: '24' otp-version: '24'
escript_packages: 'hex protobuf' escript_packages: 'hex protobuf'
escript_script: 'protoc-gen-elixir --version' escript_script: 'protoc-gen-elixir --version'
os: 'windows-latest' os: 'windows-latest'
steps: steps:
- uses: actions/checkout@v6.0.2 - uses: actions/checkout@v7.0.0
- name: Use erlef/setup-beam - name: Use erlef/setup-beam
id: setup-beam id: setup-beam
uses: ./ uses: ./
@@ -137,7 +140,7 @@ jobs:
rebar3-version: 3.24 rebar3-version: 3.24
os: windows-latest os: windows-latest
steps: steps:
- uses: actions/checkout@v6.0.2 - uses: actions/checkout@v7.0.0
- name: Use erlef/setup-beam - name: Use erlef/setup-beam
id: setup-beam id: setup-beam
uses: ./ uses: ./
+4 -83
View File
@@ -82,7 +82,7 @@ SOFTWARE.
----- -----
The following software may be included in this product: @eslint/config-array, @eslint/config-helpers, @eslint/core, @eslint/object-schema, @eslint/plugin-kit, @humanfs/core, @humanfs/node, @humanwhocodes/module-importer, @humanwhocodes/retry, b4a, bare-events, bare-fs, bare-os, bare-stream, bare-url, events-universal, text-decoder. A copy of the source code may be downloaded from git+https://github.com/eslint/rewrite.git (@eslint/config-array), git+https://github.com/eslint/rewrite.git (@eslint/config-helpers), git+https://github.com/eslint/rewrite.git (@eslint/core), git+https://github.com/eslint/rewrite.git (@eslint/object-schema), git+https://github.com/eslint/rewrite.git (@eslint/plugin-kit), git+https://github.com/humanwhocodes/humanfs.git (@humanfs/core), git+https://github.com/humanwhocodes/humanfs.git (@humanfs/node), git+https://github.com/humanwhocodes/module-importer.git (@humanwhocodes/module-importer), git+https://github.com/humanwhocodes/retry.git (@humanwhocodes/retry), git+https://github.com/holepunchto/b4a.git (b4a), git+https://github.com/holepunchto/bare-events.git (bare-events), git+https://github.com/holepunchto/bare-fs.git (bare-fs), git+https://github.com/holepunchto/bare-os.git (bare-os), git+https://github.com/holepunchto/bare-stream.git (bare-stream), git+https://github.com/holepunchto/bare-url.git (bare-url), git+https://github.com/holepunchto/events-universal.git (events-universal), git+https://github.com/holepunchto/text-decoder.git (text-decoder). This software contains the following license and notice below: The following software may be included in this product: @eslint/config-array, @eslint/config-helpers, @eslint/core, @eslint/object-schema, @eslint/plugin-kit, @humanfs/core, @humanfs/node, @humanwhocodes/module-importer, @humanwhocodes/retry, b4a, bare-events, bare-fs, bare-stream, bare-url, events-universal, text-decoder. A copy of the source code may be downloaded from git+https://github.com/eslint/rewrite.git (@eslint/config-array), git+https://github.com/eslint/rewrite.git (@eslint/config-helpers), git+https://github.com/eslint/rewrite.git (@eslint/core), git+https://github.com/eslint/rewrite.git (@eslint/object-schema), git+https://github.com/eslint/rewrite.git (@eslint/plugin-kit), git+https://github.com/humanwhocodes/humanfs.git (@humanfs/core), git+https://github.com/humanwhocodes/humanfs.git (@humanfs/node), git+https://github.com/humanwhocodes/module-importer.git (@humanwhocodes/module-importer), git+https://github.com/humanwhocodes/retry.git (@humanwhocodes/retry), git+https://github.com/holepunchto/b4a.git (b4a), git+https://github.com/holepunchto/bare-events.git (bare-events), git+https://github.com/holepunchto/bare-fs.git (bare-fs), git+https://github.com/holepunchto/bare-stream.git (bare-stream), git+https://github.com/holepunchto/bare-url.git (bare-url), git+https://github.com/holepunchto/events-universal.git (events-universal), git+https://github.com/holepunchto/text-decoder.git (text-decoder). This software contains the following license and notice below:
Apache License Apache License
Version 2.0, January 2004 Version 2.0, January 2004
@@ -398,7 +398,7 @@ MIT License
----- -----
The following software may be included in this product: @vercel/ncc. A copy of the source code may be downloaded from https://github.com/vercel/ncc.git. This software contains the following license and notice below: The following software may be included in this product: @vercel/ncc. A copy of the source code may be downloaded from git+https://github.com/vercel/ncc.git. This software contains the following license and notice below:
Copyright 2018 ZEIT, Inc. Copyright 2018 ZEIT, Inc.
@@ -1134,7 +1134,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
----- -----
The following software may be included in this product: brace-expansion. A copy of the source code may be downloaded from git+ssh://git@github.com/juliangruber/brace-expansion.git. This software contains the following license and notice below: The following software may be included in this product: brace-expansion. A copy of the source code may be downloaded from git+https://github.com/juliangruber/brace-expansion.git. This software contains the following license and notice below:
MIT License MIT License
@@ -2266,7 +2266,7 @@ The following software may be included in this product: fflate. A copy of the so
MIT License MIT License
Copyright (c) 2023 Arjun Barrett Copyright (c) 2026 Arjun Barrett
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal of this software and associated documentation files (the "Software"), to deal
@@ -3147,58 +3147,6 @@ OTHER DEALINGS IN THE SOFTWARE.
----- -----
The following software may be included in this product: lodash. A copy of the source code may be downloaded from https://github.com/lodash/lodash.git. This software contains the following license and notice below:
Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
Based on Underscore.js, copyright Jeremy Ashkenas,
DocumentCloud and Investigative Reporters & Editors <http://underscorejs.org/>
This software consists of voluntary contributions made by many
individuals. For exact contribution history, see the revision history
available at https://github.com/lodash/lodash
The following license applies to all parts of this software except as
documented below:
====
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
====
Copyright and related rights for sample code are waived via CC0. Sample
code is defined as all source code displayed within the prose of the
documentation.
CC0: http://creativecommons.org/publicdomain/zero/1.0/
====
Files located in the node_modules and vendor directories are externally
maintained libraries used by this software which have their own
licenses; we recommend you read them, as their terms may differ from the
terms above.
-----
The following software may be included in this product: markdown-it. A copy of the source code may be downloaded from https://github.com/markdown-it/markdown-it.git. This software contains the following license and notice below: The following software may be included in this product: markdown-it. A copy of the source code may be downloaded from https://github.com/markdown-it/markdown-it.git. This software contains the following license and notice below:
Copyright (c) 2014 Vitaly Puzrin, Alex Kocharin. Copyright (c) 2014 Vitaly Puzrin, Alex Kocharin.
@@ -4020,33 +3968,6 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
----- -----
The following software may be included in this product: toml. A copy of the source code may be downloaded from git://github.com/BinaryMuse/toml-node.git. This software contains the following license and notice below:
Copyright (c) 2012 Michelle Tilley
Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation
files (the "Software"), to deal in the Software without
restriction, including without limitation the rights to use,
copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following
conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
-----
The following software may be included in this product: tslib. A copy of the source code may be downloaded from https://github.com/Microsoft/tslib.git. This software contains the following license and notice below: The following software may be included in this product: tslib. A copy of the source code may be downloaded from https://github.com/Microsoft/tslib.git. This software contains the following license and notice below:
Copyright (c) Microsoft Corporation. Copyright (c) Microsoft Corporation.
+15 -13
View File
@@ -78,17 +78,16 @@ expect to be considered the latest.
This list presents the known working version combos between the target operating system This list presents the known working version combos between the target operating system
and Erlang/OTP. and Erlang/OTP.
| Operating system | Erlang/OTP | OTP Architecture | Status | Operating system | Erlang/OTP | OTP Architecture | Status
|- |- | - |- |- |- | - |-
| `ubuntu-22.04` | 24.2 - 28 | x86_64, arm64 | ✅ | `ubuntu-22.04` | 24.2 - 29 | x86_64, arm64 | ✅
| `ubuntu-24.04` | 24.3 - 28 | x86_64, arm64 | ✅ | `ubuntu-24.04` | 24.3 - 29 | x86_64, arm64 | ✅
| `windows-2019` | 21\* - 25 | x86_64, x86 | ✅ | `ubuntu-26.04` | 26 - 29 | x86_64, arm64 | ✅
| `windows-2022` | 21\* - 28 | x86_64, x86 | ✅ | `windows-2022` | 21\* - 29 | x86_64, x86 | ✅
| `windows-2025` | 21\* - 28 | x86_64, x86 | ✅ | `windows-2025` | 21\* - 29 | x86_64, x86 | ✅
| `macOS-13` | 25.0 - 28 | x86_64, arm64 | ✅ | `macOS-14` | 25 - 29 | x86_64, arm64 | ✅
| `macOS-14` | 25.0 - 28 | x86_64, arm64 | ✅ | `macOS-15` | 25 - 29 | x86_64, arm64 | ✅
| `macOS-15` | 25.0 - 28 | x86_64, arm64 | ✅ | `macOS-26` | 25 - 29 | x86_64, arm64 | ✅
| `macOS-26` | 25.0 - 28 | x86_64, arm64 | ✅
**Note** \*: prior to 23, Windows builds are only available for minor versions, e.g. 21.0, 21.3, **Note** \*: prior to 23, Windows builds are only available for minor versions, e.g. 21.0, 21.3,
22.0, etc. 22.0, etc.
@@ -106,11 +105,14 @@ uses that to download assets:
| ImageOS | Operating system | ImageOS | Operating system
|- |- |- |-
| `ubuntu22` | `ubuntu-22.04` | `ubuntu22` | `ubuntu-22.04`
| `ubuntu22-arm64` | `ubuntu-22.04`
| `ubuntu24` | `ubuntu-24.04` | `ubuntu24` | `ubuntu-24.04`
| `win19` | `windows-2019` | `ubuntu24-arm64` | `ubuntu-24.04`
| `ubuntu26` | `ubuntu-26.04`
| `ubuntu26-arm64` | `ubuntu-26.04`
| `win22` | `windows-2022` | `win22` | `windows-2022`
| `win25` | `windows-2025` | `win25` | `windows-2025`
| `macos13` | `macOS-13` | `win25-vs2026` | `windows-2025`
| `macos14` | `macOS-14` | `macos14` | `macOS-14`
| `macos15` | `macOS-15` | `macos15` | `macOS-15`
| `macos26` | `macOS-26` | `macos26` | `macOS-26`
+937 -17792
View File
File diff suppressed because it is too large Load Diff
+153 -115
View File
@@ -10,19 +10,18 @@
"@actions/core": "3.0.0", "@actions/core": "3.0.0",
"@actions/exec": "3.0.0", "@actions/exec": "3.0.0",
"@actions/tool-cache": "4.0.0", "@actions/tool-cache": "4.0.0",
"csv-parse": "6.2.1", "csv-parse": "7.0.1",
"lodash": "4.17.23",
"semver": "7.7.4", "semver": "7.7.4",
"smol-toml": "1.6.1" "smol-toml": "1.7.0"
}, },
"devDependencies": { "devDependencies": {
"@eslint/js": "10.0.1", "@eslint/js": "10.0.1",
"@vercel/ncc": "0.38.4", "@vercel/ncc": "0.44.1",
"eslint": "10.1.0", "eslint": "10.6.0",
"eslint-plugin-yml": "3.3.1", "eslint-plugin-yml": "3.5.0",
"globals": "17.4.0", "globals": "17.7.0",
"markdownlint-cli": "0.48.0", "markdownlint-cli": "0.49.0",
"prettier": "3.8.1", "prettier": "3.9.4",
"shellcheck": "4.1.0", "shellcheck": "4.1.0",
"yarn": "1.22.22" "yarn": "1.22.22"
}, },
@@ -132,13 +131,13 @@
} }
}, },
"node_modules/@eslint/config-array": { "node_modules/@eslint/config-array": {
"version": "0.23.3", "version": "0.23.5",
"resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.23.3.tgz", "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.23.5.tgz",
"integrity": "sha512-j+eEWmB6YYLwcNOdlwQ6L2OsptI/LO6lNBuLIqe5R7RetD658HLoF+Mn7LzYmAWWNNzdC6cqP+L6r8ujeYXWLw==", "integrity": "sha512-Y3kKLvC1dvTOT+oGlqNQ1XLqK6D1HU2YXPc52NmAlJZbMMWDzGYXMiPRJ8TYD39muD/OTjlZmNJ4ib7dvSrMBA==",
"dev": true, "dev": true,
"license": "Apache-2.0", "license": "Apache-2.0",
"dependencies": { "dependencies": {
"@eslint/object-schema": "^3.0.3", "@eslint/object-schema": "^3.0.5",
"debug": "^4.3.1", "debug": "^4.3.1",
"minimatch": "^10.2.4" "minimatch": "^10.2.4"
}, },
@@ -147,22 +146,22 @@
} }
}, },
"node_modules/@eslint/config-helpers": { "node_modules/@eslint/config-helpers": {
"version": "0.5.3", "version": "0.6.0",
"resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.5.3.tgz", "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.6.0.tgz",
"integrity": "sha512-lzGN0onllOZCGroKJmRwY6QcEHxbjBw1gwB8SgRSqK8YbbtEXMvKynsXc3553ckIEBxsbMBU7oOZXKIPGZNeZw==", "integrity": "sha512-ii6Bw9jJ2zi2cWA2Z+9/QZ/+3DX6kwaV5Q986D/CdP3Lap3w/pgQZ373FV7byY/i7L4IRH/G43I5dz1ClsCbpA==",
"dev": true, "dev": true,
"license": "Apache-2.0", "license": "Apache-2.0",
"dependencies": { "dependencies": {
"@eslint/core": "^1.1.1" "@eslint/core": "^1.2.1"
}, },
"engines": { "engines": {
"node": "^20.19.0 || ^22.13.0 || >=24" "node": "^20.19.0 || ^22.13.0 || >=24"
} }
}, },
"node_modules/@eslint/core": { "node_modules/@eslint/core": {
"version": "1.1.1", "version": "1.2.1",
"resolved": "https://registry.npmjs.org/@eslint/core/-/core-1.1.1.tgz", "resolved": "https://registry.npmjs.org/@eslint/core/-/core-1.2.1.tgz",
"integrity": "sha512-QUPblTtE51/7/Zhfv8BDwO0qkkzQL7P/aWWbqcf4xWLEYn1oKjdO0gglQBB4GAsu7u6wjijbCmzsUTy6mnk6oQ==", "integrity": "sha512-MwcE1P+AZ4C6DWlpin/OmOA54mmIZ/+xZuJiQd4SyB29oAJjN30UW9wkKNptW2ctp4cEsvhlLY/CsQ1uoHDloQ==",
"dev": true, "dev": true,
"license": "Apache-2.0", "license": "Apache-2.0",
"dependencies": { "dependencies": {
@@ -194,9 +193,9 @@
} }
}, },
"node_modules/@eslint/object-schema": { "node_modules/@eslint/object-schema": {
"version": "3.0.3", "version": "3.0.5",
"resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-3.0.3.tgz", "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-3.0.5.tgz",
"integrity": "sha512-iM869Pugn9Nsxbh/YHRqYiqd23AmIbxJOcpUMOuWCVNdoQJ5ZtwL6h3t0bcZzJUlC3Dq9jCFCESBZnX0GTv7iQ==", "integrity": "sha512-vqTaUEgxzm+YDSdElad6PiRoX4t8VGDjCtt05zn4nU810UIx/uNEV7/lZJ6KwFThKZOzOxzXy48da+No7HZaMw==",
"dev": true, "dev": true,
"license": "Apache-2.0", "license": "Apache-2.0",
"engines": { "engines": {
@@ -204,13 +203,13 @@
} }
}, },
"node_modules/@eslint/plugin-kit": { "node_modules/@eslint/plugin-kit": {
"version": "0.6.1", "version": "0.7.2",
"resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.6.1.tgz", "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.7.2.tgz",
"integrity": "sha512-iH1B076HoAshH1mLpHMgwdGeTs0CYwL0SPMkGuSebZrwBp16v415e9NZXg2jtrqPVQjf6IANe2Vtlr5KswtcZQ==", "integrity": "sha512-+CNAzxglkrpNf/kKywqQfk74QjtceuOE7Qm+AF8miRvPF/wmmK5+OJOgVh3AVTT3RP2mH3+FOaxlE5v72owk0A==",
"dev": true, "dev": true,
"license": "Apache-2.0", "license": "Apache-2.0",
"dependencies": { "dependencies": {
"@eslint/core": "^1.1.1", "@eslint/core": "^1.2.1",
"levn": "^0.4.1" "levn": "^0.4.1"
}, },
"engines": { "engines": {
@@ -325,9 +324,9 @@
"license": "MIT" "license": "MIT"
}, },
"node_modules/@types/debug": { "node_modules/@types/debug": {
"version": "4.1.12", "version": "4.1.13",
"resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.13.tgz",
"integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", "integrity": "sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
@@ -377,9 +376,9 @@
"license": "MIT" "license": "MIT"
}, },
"node_modules/@vercel/ncc": { "node_modules/@vercel/ncc": {
"version": "0.38.4", "version": "0.44.1",
"resolved": "https://registry.npmjs.org/@vercel/ncc/-/ncc-0.38.4.tgz", "resolved": "https://registry.npmjs.org/@vercel/ncc/-/ncc-0.44.1.tgz",
"integrity": "sha512-8LwjnlP39s08C08J5NstzriPvW1SP8Zfpp1BvC2sI35kPeZnHfxVkCwu4/+Wodgnd60UtT1n8K8zw+Mp7J9JmQ==", "integrity": "sha512-cUjIE5P2YY1n+Kt9rFIazMMpGoPn1Fic04rOmTkElMkiDP5oszGfERMpo2shVkFKDL7rVppdM2pqJKC59shQWQ==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"bin": { "bin": {
@@ -807,13 +806,13 @@
} }
}, },
"node_modules/commander": { "node_modules/commander": {
"version": "14.0.3", "version": "15.0.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-14.0.3.tgz", "resolved": "https://registry.npmjs.org/commander/-/commander-15.0.0.tgz",
"integrity": "sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw==", "integrity": "sha512-z67u4ZhzCL/Tydu1lJARtEZYWbWaN7oYLHbsuzocr6y4N6WZAagG3RQ4FW61V1/0+jImpj293XfrcYnd1qxtPg==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"engines": { "engines": {
"node": ">=20" "node": ">=22.12.0"
} }
}, },
"node_modules/core-util-is": { "node_modules/core-util-is": {
@@ -839,9 +838,9 @@
} }
}, },
"node_modules/csv-parse": { "node_modules/csv-parse": {
"version": "6.2.1", "version": "7.0.1",
"resolved": "https://registry.npmjs.org/csv-parse/-/csv-parse-6.2.1.tgz", "resolved": "https://registry.npmjs.org/csv-parse/-/csv-parse-7.0.1.tgz",
"integrity": "sha512-LRLMV+UCyfMokp8Wb411duBf1gaBKJfOfBWU9eHMJ+b+cJYZsNu3AFmjJf3+yPGd59Exz1TsMjaSFyxnYB9+IQ==", "integrity": "sha512-+2z7Ar0APQ7Uu6fX4cn+pitRmxjZ1WPBcGmZFKmA74FCyi7Et/XZx8cjNQ5CjbZ4HCOxXCOpRBYvYH08Qa003A==",
"license": "MIT" "license": "MIT"
}, },
"node_modules/debug": { "node_modules/debug": {
@@ -1272,18 +1271,21 @@
} }
}, },
"node_modules/eslint": { "node_modules/eslint": {
"version": "10.1.0", "version": "10.6.0",
"resolved": "https://registry.npmjs.org/eslint/-/eslint-10.1.0.tgz", "resolved": "https://registry.npmjs.org/eslint/-/eslint-10.6.0.tgz",
"integrity": "sha512-S9jlY/ELKEUwwQnqWDO+f+m6sercqOPSqXM5Go94l7DOmxHVDgmSFGWEzeE/gwgTAr0W103BWt0QLe/7mabIvA==", "integrity": "sha512-6lVbcqSodALYo+4ELD0heG6lFiFxnLMuLkiMi2qV8LMp54N8tE8FT1GMH+ev4Ti00nFjNze2+Su6DsV5OQW3Dg==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"workspaces": [
"packages/*"
],
"dependencies": { "dependencies": {
"@eslint-community/eslint-utils": "^4.8.0", "@eslint-community/eslint-utils": "^4.8.0",
"@eslint-community/regexpp": "^4.12.2", "@eslint-community/regexpp": "^4.12.2",
"@eslint/config-array": "^0.23.3", "@eslint/config-array": "^0.23.5",
"@eslint/config-helpers": "^0.5.3", "@eslint/config-helpers": "^0.6.0",
"@eslint/core": "^1.1.1", "@eslint/core": "^1.2.1",
"@eslint/plugin-kit": "^0.6.1", "@eslint/plugin-kit": "^0.7.2",
"@humanfs/node": "^0.16.6", "@humanfs/node": "^0.16.6",
"@humanwhocodes/module-importer": "^1.0.1", "@humanwhocodes/module-importer": "^1.0.1",
"@humanwhocodes/retry": "^0.4.2", "@humanwhocodes/retry": "^0.4.2",
@@ -1328,16 +1330,15 @@
} }
}, },
"node_modules/eslint-plugin-yml": { "node_modules/eslint-plugin-yml": {
"version": "3.3.1", "version": "3.5.0",
"resolved": "https://registry.npmjs.org/eslint-plugin-yml/-/eslint-plugin-yml-3.3.1.tgz", "resolved": "https://registry.npmjs.org/eslint-plugin-yml/-/eslint-plugin-yml-3.5.0.tgz",
"integrity": "sha512-isntsZchaTqDMNNkD+CakrgA/pdUoJ45USWBKpuqfAW1MCuw731xX/vrXfoJFZU3tTFr24nCbDYmDfT2+g4QtQ==", "integrity": "sha512-u2UkSIp/+th1wYCt0QWeCI6agf24dxX6PbFfCCN18gGQHmXh3Cn9D/U5OiP5RNYTEwjXCLusj1OJRK+zwdvFqQ==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@eslint/core": "^1.0.1", "@eslint/core": "^1.0.1",
"@eslint/plugin-kit": "^0.6.0", "@eslint/plugin-kit": "^0.7.0",
"@ota-meshi/ast-token-store": "^0.3.0", "@ota-meshi/ast-token-store": "^0.3.0",
"debug": "^4.3.2",
"diff-sequences": "^29.0.0", "diff-sequences": "^29.0.0",
"escape-string-regexp": "5.0.0", "escape-string-regexp": "5.0.0",
"natural-compare": "^1.4.0", "natural-compare": "^1.4.0",
@@ -1639,9 +1640,9 @@
} }
}, },
"node_modules/get-east-asian-width": { "node_modules/get-east-asian-width": {
"version": "1.5.0", "version": "1.6.0",
"resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.5.0.tgz", "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.6.0.tgz",
"integrity": "sha512-CQ+bEO+Tva/qlmw24dCejulK5pMzVnUOFOijVogd3KQs07HnRIgp8TGipvCCRT06xeYEbpbgwaCxglFyiuIcmA==", "integrity": "sha512-QRbvDIbx6YklUe6RxeTeleMR0yv3cYH6PsPZHcnVn7xv7zO1BHN8r0XETu8n6Ye3Q+ahtSarc3WgtNWmehIBfA==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"engines": { "engines": {
@@ -1735,9 +1736,9 @@
} }
}, },
"node_modules/globals": { "node_modules/globals": {
"version": "17.4.0", "version": "17.7.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-17.4.0.tgz", "resolved": "https://registry.npmjs.org/globals/-/globals-17.7.0.tgz",
"integrity": "sha512-hjrNztw/VajQwOLsMNT1cbJiH2muO3OROCHnbehc8eY5JyD2gqz4AcMHPqgaOR59DjgUjYAYLeH699g/eWi2jw==", "integrity": "sha512-Czmyns5dUsq4seFBR/Kdydhmo8y9kC79hiSkPn0YcGtNnYWnrgt0vjrSjx9tspoDGWm2CMarffRuLjM4xUz8xg==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"engines": { "engines": {
@@ -2032,10 +2033,20 @@
"license": "ISC" "license": "ISC"
}, },
"node_modules/js-yaml": { "node_modules/js-yaml": {
"version": "4.1.1", "version": "4.2.0",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.2.0.tgz",
"integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", "integrity": "sha512-ePWsvanv0DWuDRsW8dnt+R4jQ31SCRCQ7hhNcPXZPsoBZiemuZNYGf7adZdqX2D86j6rvKp3RpCxVTSb8WQlOw==",
"dev": true, "dev": true,
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/puzrin"
},
{
"type": "github",
"url": "https://github.com/sponsors/nodeca"
}
],
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"argparse": "^2.0.1" "argparse": "^2.0.1"
@@ -2090,9 +2101,9 @@
} }
}, },
"node_modules/katex": { "node_modules/katex": {
"version": "0.16.33", "version": "0.16.47",
"resolved": "https://registry.npmjs.org/katex/-/katex-0.16.33.tgz", "resolved": "https://registry.npmjs.org/katex/-/katex-0.16.47.tgz",
"integrity": "sha512-q3N5u+1sY9Bu7T4nlXoiRBXWfwSefNGoKeOwekV+gw0cAXQlz2Ww6BLcmBxVDeXBMUDQv6fK5bcNaJLxob3ZQA==", "integrity": "sha512-Eeo8Ys1doU1z+x8AZsPpQu+p/QcZBI5PeOo7QGQdy2x2m0MU/hYagBbGOmXwr5KVbEfVuWv9LpnQWeehogurjg==",
"dev": true, "dev": true,
"funding": [ "funding": [
"https://opencollective.com/katex", "https://opencollective.com/katex",
@@ -2141,10 +2152,20 @@
} }
}, },
"node_modules/linkify-it": { "node_modules/linkify-it": {
"version": "5.0.0", "version": "5.0.1",
"resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.0.tgz", "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.1.tgz",
"integrity": "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==", "integrity": "sha512-wVoTjP4Q6R0NW5hiZkVJaFZPWgtXfoGF+6LucL3/FtiNjmcHhYjEr5f1Kqjirc1nBW07J/ZuRFumqr2oqccEWg==",
"dev": true, "dev": true,
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/puzrin"
},
{
"type": "github",
"url": "https://github.com/sponsors/markdown-it"
}
],
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"uc.micro": "^2.0.0" "uc.micro": "^2.0.0"
@@ -2166,12 +2187,6 @@
"url": "https://github.com/sponsors/sindresorhus" "url": "https://github.com/sponsors/sindresorhus"
} }
}, },
"node_modules/lodash": {
"version": "4.17.23",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz",
"integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==",
"license": "MIT"
},
"node_modules/make-dir": { "node_modules/make-dir": {
"version": "1.3.0", "version": "1.3.0",
"resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz",
@@ -2196,15 +2211,25 @@
} }
}, },
"node_modules/markdown-it": { "node_modules/markdown-it": {
"version": "14.1.1", "version": "14.2.0",
"resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.1.tgz", "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.2.0.tgz",
"integrity": "sha512-BuU2qnTti9YKgK5N+IeMubp14ZUKUUw7yeJbkjtosvHiP0AZ5c8IAgEMk79D0eC8F23r4Ac/q8cAIFdm2FtyoA==", "integrity": "sha512-1TGiQiJVRQ3NPmZH6sx5Cfnmg6GQm9jvC1ch4TK511NjSJvjzKLzn5pPfZRNZkRPZP0HqCioSndqH8v2nRaWVQ==",
"dev": true, "dev": true,
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/puzrin"
},
{
"type": "github",
"url": "https://github.com/sponsors/markdown-it"
}
],
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"argparse": "^2.0.1", "argparse": "^2.0.1",
"entities": "^4.4.0", "entities": "^4.4.0",
"linkify-it": "^5.0.0", "linkify-it": "^5.0.1",
"mdurl": "^2.0.0", "mdurl": "^2.0.0",
"punycode.js": "^2.3.1", "punycode.js": "^2.3.1",
"uc.micro": "^2.1.0" "uc.micro": "^2.1.0"
@@ -2214,9 +2239,9 @@
} }
}, },
"node_modules/markdownlint": { "node_modules/markdownlint": {
"version": "0.40.0", "version": "0.41.0",
"resolved": "https://registry.npmjs.org/markdownlint/-/markdownlint-0.40.0.tgz", "resolved": "https://registry.npmjs.org/markdownlint/-/markdownlint-0.41.0.tgz",
"integrity": "sha512-UKybllYNheWac61Ia7T6fzuQNDZimFIpCg2w6hHjgV1Qu0w1TV0LlSgryUGzM0bkKQCBhy2FDhEELB73Kb0kAg==", "integrity": "sha512-xMUI3ChBuRuxuLF4ENvCZyS8z/+Jly1coUcZwErKLIB3sDj7ojpaTBa1e9YVPhSN4jGEIjYGQCldbTJS/hqS+A==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
@@ -2228,40 +2253,40 @@
"micromark-extension-gfm-table": "2.1.1", "micromark-extension-gfm-table": "2.1.1",
"micromark-extension-math": "3.1.0", "micromark-extension-math": "3.1.0",
"micromark-util-types": "2.0.2", "micromark-util-types": "2.0.2",
"string-width": "8.1.0" "string-width": "8.2.1"
}, },
"engines": { "engines": {
"node": ">=20" "node": ">=22"
}, },
"funding": { "funding": {
"url": "https://github.com/sponsors/DavidAnson" "url": "https://github.com/sponsors/DavidAnson"
} }
}, },
"node_modules/markdownlint-cli": { "node_modules/markdownlint-cli": {
"version": "0.48.0", "version": "0.49.0",
"resolved": "https://registry.npmjs.org/markdownlint-cli/-/markdownlint-cli-0.48.0.tgz", "resolved": "https://registry.npmjs.org/markdownlint-cli/-/markdownlint-cli-0.49.0.tgz",
"integrity": "sha512-NkZQNu2E0Q5qLEEHwWj674eYISTLD4jMHkBzDobujXd1kv+yCxi8jOaD/rZoQNW1FBBMMGQpuW5So8B51N/e0A==", "integrity": "sha512-vS5tWq5W91Gg33LD4pyAaXPclnz/sRvo6/RGOyDQjQ3eds2DkK6H4szUuE0M9TiRB/u/VBx1gtd9Ktrtx5WlSA==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"commander": "~14.0.3", "commander": "~15.0.0",
"deep-extend": "~0.6.0", "deep-extend": "~0.6.0",
"ignore": "~7.0.5", "ignore": "~7.0.5",
"js-yaml": "~4.1.1", "js-yaml": "~4.2.0",
"jsonc-parser": "~3.3.1", "jsonc-parser": "~3.3.1",
"jsonpointer": "~5.0.1", "jsonpointer": "~5.0.1",
"markdown-it": "~14.1.1", "markdown-it": "~14.2.0",
"markdownlint": "~0.40.0", "markdownlint": "~0.41.0",
"minimatch": "~10.2.4", "minimatch": "~10.2.5",
"run-con": "~1.3.2", "run-con": "~1.3.2",
"smol-toml": "~1.6.0", "smol-toml": "~1.6.1",
"tinyglobby": "~0.2.15" "tinyglobby": "~0.2.17"
}, },
"bin": { "bin": {
"markdownlint": "markdownlint.js" "markdownlint": "markdownlint.js"
}, },
"engines": { "engines": {
"node": ">=20" "node": ">=22"
} }
}, },
"node_modules/markdownlint-cli/node_modules/ignore": { "node_modules/markdownlint-cli/node_modules/ignore": {
@@ -2274,6 +2299,19 @@
"node": ">= 4" "node": ">= 4"
} }
}, },
"node_modules/markdownlint-cli/node_modules/smol-toml": {
"version": "1.6.1",
"resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.6.1.tgz",
"integrity": "sha512-dWUG8F5sIIARXih1DTaQAX4SsiTXhInKf1buxdY9DIg4ZYPZK5nGM1VRIYmEbDbsHt7USo99xSLFu5Q1IqTmsg==",
"dev": true,
"license": "BSD-3-Clause",
"engines": {
"node": ">= 18"
},
"funding": {
"url": "https://github.com/sponsors/cyyynthia"
}
},
"node_modules/matcher": { "node_modules/matcher": {
"version": "3.0.0", "version": "3.0.0",
"resolved": "https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz", "resolved": "https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz",
@@ -2841,13 +2879,13 @@
"license": "MIT" "license": "MIT"
}, },
"node_modules/minimatch": { "node_modules/minimatch": {
"version": "10.2.4", "version": "10.2.5",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.4.tgz", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz",
"integrity": "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==", "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==",
"dev": true, "dev": true,
"license": "BlueOak-1.0.0", "license": "BlueOak-1.0.0",
"dependencies": { "dependencies": {
"brace-expansion": "^5.0.2" "brace-expansion": "^5.0.5"
}, },
"engines": { "engines": {
"node": "18 || 20 || >=22" "node": "18 || 20 || >=22"
@@ -3074,9 +3112,9 @@
} }
}, },
"node_modules/prettier": { "node_modules/prettier": {
"version": "3.8.1", "version": "3.9.4",
"resolved": "https://registry.npmjs.org/prettier/-/prettier-3.8.1.tgz", "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.9.4.tgz",
"integrity": "sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==", "integrity": "sha512-yWG/o/4oJfo036EKAfK6ACAoDOfHeRHx4tuxkfBZiauURiaSmYwlpOr5LQqKtIkRD2z1PLteme2WoxEnj4tHTg==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"bin": { "bin": {
@@ -3312,9 +3350,9 @@
} }
}, },
"node_modules/smol-toml": { "node_modules/smol-toml": {
"version": "1.6.1", "version": "1.7.0",
"resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.6.1.tgz", "resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.7.0.tgz",
"integrity": "sha512-dWUG8F5sIIARXih1DTaQAX4SsiTXhInKf1buxdY9DIg4ZYPZK5nGM1VRIYmEbDbsHt7USo99xSLFu5Q1IqTmsg==", "integrity": "sha512-aqVvWoyO21L23mb+drl4RmMXbf6N7FdHjAhTRA9ZBL7apWBgfWC16KjrASI+1p9GAroljyMHj6fK67i0UiTNvQ==",
"license": "BSD-3-Clause", "license": "BSD-3-Clause",
"engines": { "engines": {
"node": ">= 18" "node": ">= 18"
@@ -3360,14 +3398,14 @@
"license": "MIT" "license": "MIT"
}, },
"node_modules/string-width": { "node_modules/string-width": {
"version": "8.1.0", "version": "8.2.1",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-8.1.0.tgz", "resolved": "https://registry.npmjs.org/string-width/-/string-width-8.2.1.tgz",
"integrity": "sha512-Kxl3KJGb/gxkaUMOjRsQ8IrXiGW75O4E3RPjFIINOVH8AMl2SQ/yWdTzWwF3FevIX9LcMAjJW+GRwAlAbTSXdg==", "integrity": "sha512-IIaP0g3iy9Cyy18w3M9YcaDudujEAVHKt3a3QJg1+sr/oX96TbaGUubG0hJyCjCBThFH+tFpcIyoUHUn1ogaLA==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"get-east-asian-width": "^1.3.0", "get-east-asian-width": "^1.5.0",
"strip-ansi": "^7.1.0" "strip-ansi": "^7.1.2"
}, },
"engines": { "engines": {
"node": ">=20" "node": ">=20"
@@ -3473,14 +3511,14 @@
"license": "MIT" "license": "MIT"
}, },
"node_modules/tinyglobby": { "node_modules/tinyglobby": {
"version": "0.2.15", "version": "0.2.17",
"resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz",
"integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", "integrity": "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"fdir": "^6.5.0", "fdir": "^6.5.0",
"picomatch": "^4.0.3" "picomatch": "^4.0.4"
}, },
"engines": { "engines": {
"node": ">=12.0.0" "node": ">=12.0.0"
@@ -3619,9 +3657,9 @@
} }
}, },
"node_modules/undici": { "node_modules/undici": {
"version": "6.24.0", "version": "6.27.0",
"resolved": "https://registry.npmjs.org/undici/-/undici-6.24.0.tgz", "resolved": "https://registry.npmjs.org/undici/-/undici-6.27.0.tgz",
"integrity": "sha512-lVLNosgqo5EkGqh5XUDhGfsMSoO8K0BAN0TyJLvwNRSl4xWGZlCVYsAIpa/OpA3TvmnM01GWcoKmc3ZWo5wKKA==", "integrity": "sha512-YmfV3YnEDzXRC5lZ2jWtWWHKGUm1zIt8AhesR1tens+HTNv+YZlN/dp6G727LOvMJ8xjP9Be7Y2Sdr96LDm+pg==",
"license": "MIT", "license": "MIT",
"engines": { "engines": {
"node": ">=18.17" "node": ">=18.17"
+8 -9
View File
@@ -20,19 +20,18 @@
"@actions/core": "3.0.0", "@actions/core": "3.0.0",
"@actions/exec": "3.0.0", "@actions/exec": "3.0.0",
"@actions/tool-cache": "4.0.0", "@actions/tool-cache": "4.0.0",
"csv-parse": "6.2.1", "csv-parse": "7.0.1",
"lodash": "4.17.23",
"semver": "7.7.4", "semver": "7.7.4",
"smol-toml": "1.6.1" "smol-toml": "1.7.0"
}, },
"devDependencies": { "devDependencies": {
"@eslint/js": "10.0.1", "@eslint/js": "10.0.1",
"@vercel/ncc": "0.38.4", "@vercel/ncc": "0.44.1",
"eslint": "10.1.0", "eslint": "10.6.0",
"eslint-plugin-yml": "3.3.1", "eslint-plugin-yml": "3.5.0",
"globals": "17.4.0", "globals": "17.7.0",
"markdownlint-cli": "0.48.0", "markdownlint-cli": "0.49.0",
"prettier": "3.8.1", "prettier": "3.9.4",
"shellcheck": "4.1.0", "shellcheck": "4.1.0",
"yarn": "1.22.22" "yarn": "1.22.22"
}, },
+17 -9
View File
@@ -7,7 +7,6 @@ import { exec } from '@actions/exec'
import * as tc from '@actions/tool-cache' import * as tc from '@actions/tool-cache'
import * as semver from 'semver' import * as semver from 'semver'
import * as csv from 'csv-parse/sync' import * as csv from 'csv-parse/sync'
import _ from 'lodash'
import toml from 'smol-toml' import toml from 'smol-toml'
const __dirname = path.dirname(fileURLToPath(import.meta.url)) const __dirname = path.dirname(fileURLToPath(import.meta.url))
@@ -58,7 +57,7 @@ async function main() {
await maybeInstallRebar3(rebar3Spec) await maybeInstallRebar3(rebar3Spec)
// undefined is replaced by a function, post- main branch merge // undefined is replaced by a function, post- main branch merge
const setupBeamVersion = '190c3a5' const setupBeamVersion = 'f4f179b'
core.setOutput('setup-beam-version', setupBeamVersion) core.setOutput('setup-beam-version', setupBeamVersion)
} }
@@ -280,7 +279,7 @@ async function getElixirVersion(exSpec0) {
if (!foundCombo) { if (!foundCombo) {
throw new Error( throw new Error(
`Requested Elixir / Erlang/OTP version (${exSpec0} / tried ${otpVersionsMajor}) not ` + `Requested Elixir / Erlang/OTP version (${exSpec0} / tried ${otpVersionsMajor}) not ` +
'found in version list (did you check Compatibility between Elixir and Erlang/OTP?).' + 'found in version list (did you check Compatibility between Elixir and Erlang/OTP?). ' +
'Elixir and Erlang/OTP compatibility can be found at: ' + 'Elixir and Erlang/OTP compatibility can be found at: ' +
'https://hexdocs.pm/elixir/compatibility-and-deprecations.html', 'https://hexdocs.pm/elixir/compatibility-and-deprecations.html',
) )
@@ -378,9 +377,7 @@ async function getOTPVersions(osVersion) {
}) })
} else if (process.platform === 'win32') { } else if (process.platform === 'win32') {
const otpArch = otpArchitecture() const otpArch = otpArchitecture()
const file_regex = new RegExp( const file_regex = new RegExp(`^otp_win${RegExp.escape(otpArch)}_(.*).exe$`)
`^otp_win${_.escapeRegExp(otpArch)}_(.*).exe$`,
)
otpVersionsListings.forEach((otpVersionsListing) => { otpVersionsListings.forEach((otpVersionsListing) => {
otpVersionsListing otpVersionsListing
.map((x) => x.assets) .map((x) => x.assets)
@@ -661,13 +658,21 @@ function getRunnerOSArchitecture() {
function getRunnerOSVersion() { function getRunnerOSVersion() {
// List from https://github.com/actions/runner-images?tab=readme-ov-file#available-images // List from https://github.com/actions/runner-images?tab=readme-ov-file#available-images
// at e065a395d52f491c58eb8fba8ab1dde2c7cfada1
// Not considered, at the moment (though it might be easy to adapt to...):
// - ubuntu-slim
// - all macOS intel, large, and xlarge variants
// - all win arm variants
const ImageOSToContainer = { const ImageOSToContainer = {
ubuntu22: 'ubuntu-22.04', ubuntu22: 'ubuntu-22.04',
'ubuntu22-arm64': 'ubuntu-22.04',
ubuntu24: 'ubuntu-24.04', ubuntu24: 'ubuntu-24.04',
win19: 'windows-2019', 'ubuntu24-arm64': 'ubuntu-24.04',
ubuntu26: 'ubuntu-26.04',
'ubuntu26-arm64': 'ubuntu-26.04',
win22: 'windows-2022', win22: 'windows-2022',
win25: 'windows-2025', win25: 'windows-2025',
macos13: 'macOS-13', 'win25-vs2026': 'windows-2025',
macos14: 'macOS-14', macos14: 'macOS-14',
macos15: 'macOS-15', macos15: 'macOS-15',
macos26: 'macOS-26', macos26: 'macOS-26',
@@ -675,6 +680,8 @@ function getRunnerOSVersion() {
const deprecatedImageOSToContainer = { const deprecatedImageOSToContainer = {
ubuntu18: 'ubuntu-18.04', ubuntu18: 'ubuntu-18.04',
ubuntu20: 'ubuntu-20.04', ubuntu20: 'ubuntu-20.04',
win19: 'windows-2019',
macos13: 'macOS-13',
} }
const containerFromEnvImageOS = ImageOSToContainer[process.env.ImageOS] const containerFromEnvImageOS = ImageOSToContainer[process.env.ImageOS]
if (!containerFromEnvImageOS) { if (!containerFromEnvImageOS) {
@@ -972,7 +979,7 @@ async function install(toolName, opts) {
const otpArch = otpArchitecture() const otpArch = otpArchitecture()
return ( return (
'https://github.com/erlang/otp/releases/download/' + 'https://github.com/erlang/otp/releases/download/' +
`OTP-${toolVersion}/otp_win${_.escapeRegExp(otpArch)}_${toolVersion}.exe` `OTP-${toolVersion}/otp_win${otpArch}_${toolVersion}.exe`
) )
}, },
extract: async () => ['file', 'otp.exe'], extract: async () => ['file', 'otp.exe'],
@@ -1299,6 +1306,7 @@ export default {
getGleamVersion, getGleamVersion,
getOTPVersion, getOTPVersion,
getRebar3Version, getRebar3Version,
getRunnerOSVersion,
getVersionFromSpec, getVersionFromSpec,
githubAMDRunnerArchs, githubAMDRunnerArchs,
githubARMRunnerArchs, githubARMRunnerArchs,
+99
View File
@@ -0,0 +1,99 @@
OTP-26.0 8c0ea6bd3306cfd6ca19730d180a2a93a716e1ee 2026-04-24T21:11:44Z 9210a9e4b3f12cf32dd2f42857dc980e2776d52505c0c34858ef6d50a186dd22
OTP-26.0.1 b54b86ad4f1253f46fd4552a73923756660c1d53 2026-04-24T21:10:25Z f1c399db68ea5885434201dd48313bebdccf2222e68268b09214dd3401400faa
OTP-26.0.2 d051172925a5c84b2f21850a188a533f885f201c 2026-04-24T21:08:41Z d0260e2f76ddfffa46dfd5090cfb6464eed2aa3f09dfb032b01cd2882a760e10
OTP-26.1 e962af35263618665c1df57df5135c0c703ad502 2026-04-24T20:58:59Z 623ea1623afbb19feeb257fdc92d17a82a35a8ecea32925c0c89a2a6d3dd9853
OTP-26.1.1 2bdd30b872ab91dc376998d2c417f2a8b514d1aa 2026-04-24T20:42:54Z 68eb1802931e87c70c9ea8bcc6de68062785cd6c67abc0696f2e07803403f12c
OTP-26.1.2 c41d424db42ba84b72f3e25167470c3555723d87 2026-04-24T20:41:58Z 6851172f8d6bbeed99e9aeb73dc0e8df4cdfb69ec4275ccfbd6c85d402786608
OTP-26.2 7fc0898502cb3370b7c6d523a7393cd101808493 2026-04-24T20:40:23Z 8c0f14ec76b26ca0a8bc7fe1d536b3edc7513ab48096d5c09452953140a01f61
OTP-26.2.1 ca8b893f9d5bdd0957b78514ba523032e762c644 2026-04-24T20:29:53Z 7569ff704e74b681825dd14577ec4784a43822da84e2590fc93d13160cd71716
OTP-26.2.2 b83df13eec5446beab06dd24315d37a5b0633fd2 2026-04-24T20:13:25Z 85c443095df61087f288601af92af7c07f7190570a4aa55eee9114a2d00ccf2b
OTP-26.2.3 928d03e6da416208fce7b9a7dbbfbb4f25d26c37 2026-04-24T20:12:42Z 067b97c62cc5bc4753dedc7e63f1b6503bc02e89d67eda49c1c23ba9e54beaa4
OTP-26.2.4 e26c5206dc98ec1b8f978fceaa61fd1354266ccb 2026-04-24T20:11:19Z f6a83da7f5fab9285d1c3e5731dcd65b6a93a5f7285fe4ef08e9c2347d241b30
OTP-26.2.5 412bff5196fc0ab88a61fe37ca30e5226fc7872d 2026-04-24T20:00:51Z 53ab42240cbacaa9e33682527abf7991cde3653401a2216f0f83e26cb50a9f8b
OTP-26.2.5.1 858efd5b35b572c71a8010ad323c4127eef5bc29 2026-04-24T19:43:57Z 833b9a2e7955e3d09d872ba821fa8eb1fbad55e63ef119209e93bd445d82f90d
OTP-26.2.5.10 f607645b971572b03f9f45551b1804f41fac8fa7 2026-04-24T18:43:56Z c0023d40d000daddd979b494172c0ba51c33857082e598d962448ed3c617f568
OTP-26.2.5.11 9f6c4eb54823324d1e6f8cb95c15feb09f09044e 2026-04-24T18:43:17Z 500f8aa1a0784c17715e6bcc10ea9761cc56ad196c335e4c90909e0e4a05c075
OTP-26.2.5.12 7335f79eeaa0094c274dab2aa2ced9e138027c75 2026-04-24T18:31:47Z 1c6deef6d752ed7b838820b973be5078f2f110daa9208c9a29a59709787126da
OTP-26.2.5.13 0ac548b57c0491196c27e39518b5f6acf9326c1e 2026-04-24T18:14:48Z 325b0c25d2981d064edce1188c7583e02f89b366a22571299461b62b323f6cea
OTP-26.2.5.14 c1ce39f1f7bafa253514a8fa646dc00112b066bb 2026-04-24T18:14:10Z 0aa90ffab8371e2f32114564254eb2c706aefa6163107739301e7373db4a3dc0
OTP-26.2.5.15 4d9b61940e8d4dd00059306983022e3114fdf245 2026-04-24T18:13:42Z b25e8597f9e9fa21c7ccdcea268370ef0eec3897be46975cb128c34072d3ddb9
OTP-26.2.5.16 ce72bbc20a4236d69ac716624ccb799921ac5903 2026-04-24T18:02:15Z 84b96e04576832cbebcc98bae783152efb290d09913de160ab926b00a0e0dc9e
OTP-26.2.5.17 3532818e19647ae5675396eb501400783e5ca693 2026-04-24T17:45:04Z 15b674046eefa090491609f151f9d7f9c3eb355d38bbd4bf34108f09c373cae2
OTP-26.2.5.18 8c304e09e4d9301f56f6d7b2c4c9f60b4f9d9425 2026-04-24T17:44:16Z 795ca3e87bda7564182f9f5a9c1450c00f719d64e26ce5e2dca905ecb83e5437
OTP-26.2.5.19 cdb375af6b456946b1ff3fc993d122018f20b031 2026-04-24T17:43:44Z 33603c379bef7f41a459bfea2c308d885f38118fc67430fd1745fbd22a3b72b7
OTP-26.2.5.2 c1805ad6200cec57bf86640fb9a1c715db515b78 2026-04-24T19:43:13Z 18d7bafd68d9030144632674e2d2c08285d6c5ce3ae210af4e8642f83d8f5e37
OTP-26.2.5.20 e5d6d95c9aac559b59b78c66eb558ee54bd4e006 2026-04-24T17:33:05Z f11bea66d601ff23affb32158d18b209e6e475a063706572c3be835e6edd9fdc
OTP-26.2.5.21 c9ce879f4ca194adc5393f52b2c4cd57b3c3d89d 2026-05-31T16:45:05Z 98897de6d71ef8c5542c822598a538f3269a32c56d819fdb69858fbe7329e403
OTP-26.2.5.3 84152c2c9d85128d3cce471f645f154c34132d82 2026-04-24T19:42:01Z ea3e17728b77b1cd7c7386e0fe5fe927f26f772e595930f09bc70abde6365115
OTP-26.2.5.4 b6e7e233d0b781728e745dc04f4cb2645c6632ec 2026-04-24T19:31:30Z 753f5b0fcb908fa0b7a1e00234feea24ae71e5ed9f73284b501ae089f202ce59
OTP-26.2.5.5 57f154f5ceb592ffa5360f7e338577fa04aa0d5f 2026-04-24T19:14:05Z 6e16453c2e32f7c8e81f26a0aa7ba6bd2cbeeaaebe8c174518cce813d4938931
OTP-26.2.5.6 51548614b588c667a4230c17e2b187474dd70d63 2026-04-24T19:13:25Z 1867dc3687b07bac702247c02cd8284d0b5175ebf0aa3b069f86394cbdfabc4a
OTP-26.2.5.7 3b059b6caf4e087c8c207ae7012bb50736fdf18c 2026-04-24T19:12:19Z 6259f7e5dcfe4fa0808ae09a06d43492c8b8f21215ca07a1e510ed4e01e2859c
OTP-26.2.5.8 a7a875106c7af7f094b04a765e93dd90522ef7da 2026-04-24T19:01:05Z 2f5c1866af6bab64e4c49c05536e0acd687545809368c0bc7859af7c90477d0d
OTP-26.2.5.9 a2da0bad3f2d49dc1878f46f2d2961144ae0e0cb 2026-04-24T18:44:30Z 600704ad8c34abf66cda2e013ce4e386c8439d63b4c4d1522b74286a5ceea7b0
OTP-27.0 601a012837ea0a5c8095bf24223132824177124d 2026-04-24T17:05:00Z 98ad5cbd4a74cee15697b8cf973afd6c39264d104206aab6bc4864cad97c37cd
OTP-27.0-rc1 b74bd21d5cb52e0fdc5ea321439c428783feea23 2026-04-24T17:15:43Z 587a51911d99d2696c020a9dd73fedd37172c955a3c3b5e700614a601df35f43
OTP-27.0-rc2 e651174c569694c92b1794ddd0a1a4a199610091 2026-04-24T17:14:33Z 5c8928cd68e1c86b65a7f771201d0135aa2616ea28aecd9fba03b5e4ccc7ae4f
OTP-27.0-rc3 5df3992d695da4d7e8777cf7605279ce9d131f1c 2026-04-24T17:14:17Z 62604f6c2a4345f452f82122aee67afd5d366c4a04cb9aa52cd3ad18ce5b32ea
OTP-27.0.1 ee9628e7ed09ef02e767994a6da5b7a225316aaa 2026-04-24T17:02:00Z a854f39d318ba6133c41ba9275b2d1613e85bc8446086998dd927c7ff8d22fa9
OTP-27.1 9ae2ef54fc6dacb5bfbe2dc6fc6f2522d57ce1fb 2026-04-24T17:00:08Z 80df8276b9d03827cab3b9989d08acf6f98dc65f025deae0554de377f3472618
OTP-27.1.1 f4d130fd3512875ee95ce05b30f77e7c7689915f 2026-04-24T17:00:04Z b6a9963e6c02e5cf6338248ef20328c0a6974f8ecfc3ecc606656bead6567451
OTP-27.1.2 44ffe8811dfcf3d2fe04d530c6e8fac5ca384e02 2026-04-24T16:51:20Z 6a7ebd11ebc4998c658eb1738c4f91ae262809814dc22705d5a2e19118935ae2
OTP-27.1.3 800613cca84970750658b294ddd7977843b3bc5d 2026-04-24T16:47:44Z 50ed511fb2a63cecdbaff83377119e63a93b8ae4276322fadf5204a112696920
OTP-27.2 6bf99d64a0df3feceb25c166c3a3cb3f80594f59 2026-04-24T16:45:54Z b44c23696d0e97d440a0565f9a8c8438c44908efa008e7642bfd7402390a0b12
OTP-27.2.1 4726e39654c7a7412f7c2f66c7eb567c978a9947 2026-04-24T16:45:47Z 38282ac000f0278d99cbe379b4f7f67e3ddda96e2be3eea5cce2b7e3eac34c6d
OTP-27.2.2 8a4e04e9c48d94ef1216b0426fa71ccfdd78f7d3 2026-04-24T16:37:48Z 1935890b96e104a4545b50ba3184c74a7820438425966ea6637ca6777f981804
OTP-27.2.3 b6ab3a385ec72e346a44807d53e2109a51cde613 2026-04-24T16:34:00Z bde8c6311cc8242481dad5f1e3f33c920a1be71885fa8e779d9a006fb8cc0764
OTP-27.2.4 fc23816894479e0da3a22faaf90c16db3071ade5 2026-04-24T16:31:37Z a560882f429d425c2acc96c634b8ae05eb7b317beca0981e2b8f6ae1a324cb79
OTP-27.3 05737d130706c7189a8e6750d9c2252d2cc7987e 2026-04-24T16:31:34Z 8375d270d91a93fb00c4bb472fe3865575b76d7b602c373080c8c7e345d19734
OTP-27.3.1 76266a91989378ce53159eee4bd16773e248f5f3 2026-04-24T16:24:17Z ef2a695e00f6fb661d59592448574a9e44e763252d957a48afeaeabf966adf78
OTP-27.3.2 7b8942ef7b540bbd1393999e56d0e96b6ab3c276 2026-04-24T16:20:13Z c3c94d3abeea1438abf957bc2b707b1cefdef6b6e3f807440be7eb961d74dde5
OTP-27.3.3 10e20b1dbe39b056fab430e50b08cb4f3696ae87 2026-04-24T21:22:04Z bce0743ff5eac77d07217f8c2e624b703c44c2e83d987f3202f7bb9e69348dfa
OTP-27.3.4 c388a2d1b3f9918652276d4798692dd4d8ef97fc 2026-04-24T16:17:08Z e3325746961fb1280848038ff06c4cfc2b903cf793f9113303aaf8e43f6e2c7e
OTP-27.3.4.1 9b7b5431260e05a16eec3ecd530a232d0995d932 2026-04-24T16:03:35Z 40475e473e5d9e45edce59ec13442ee43062ad8a0380280253d10312623df9c1
OTP-27.3.4.10 0aa261a7765c9698aabc7f7c5be878a8850a9c5f 2026-04-24T15:30:13Z c8d7b7d8a0a0a338304b6919bb1b4934bf553fcf8bf7a7e5719634f4077492d0
OTP-27.3.4.11 c0ce26bb20ab5fcd6e214fa285aec5a409772e61 2026-04-24T15:30:00Z ebccce035c0b3d890f72ae6868a7bbbbc8530147158df206bff12a448793cc16
OTP-27.3.4.12 a2394acad3e3b8fa74d40905cb79bac2ab68258a 2026-05-31T15:52:31Z 6ea6ce3c3195a5a8b190a1f96b8f2b78d9ec3383218e37ef68a7882c5531335b
OTP-27.3.4.13 f835a5a32aeeb70778c958b5c01a401973e8fbe2 2026-06-10T13:08:02Z 8f4feb43f4370f8d2e47ceaa572fdeb20c726b831c3eb4a4b3fdc241e9db9884
OTP-27.3.4.2 ccff5995c5adf4b5f54adee7ba1a5948053384f9 2026-04-24T16:10:44Z e14df30b6e0422f64b5ac4896c2d4957ec7a87e3c23bf3f1f1a4407e28a3e040
OTP-27.3.4.3 940ec0f6f0370ecf5cd93cae31fd91f4651ddca6 2026-04-24T16:04:51Z d2f8046e4be2f4be98af4eeb584fb17affe9421e1a4a0b7d7ae938f20253abb7
OTP-27.3.4.4 3a2e1c435fe547a93b1a8c27c2554da72b49f16d 2026-04-24T16:07:12Z 371ec67c2ae4e389737c0d16a44288103407f075a6a4aef9afd02ba43eae6040
OTP-27.3.4.5 36239aebc3bc6b873da9ea519c41fb3befbc518d 2026-04-24T15:49:38Z aab9a6bac28cf7c1d3800f8201d02953753415119716ca6a80b103ffd9d22160
OTP-27.3.4.6 f1b17a1fb4d2bc74501608852547f8d9b504f7e3 2026-04-24T15:52:26Z a278a261c37fd3f32d8c04240e99d258103857d6af15fd7ad201c6aa0a1ffd1a
OTP-27.3.4.7 e56f9815d9f9389768afa2bc45c7233a7db838fd 2026-04-24T15:47:46Z c03da29e8eae9fe36c74976c13bd027f0eeea7713a7dd8c96bb823f1674b2131
OTP-27.3.4.8 61633c62611720cc27f92026d075a1f2862ce522 2026-04-24T15:50:33Z a8c645b6720463f4fea2d13e2c5f677a628c6fac6480d7588ae3d63d2dc8a0d6
OTP-27.3.4.9 4aa809ae4eb4a20ad89c23837376acf179877f39 2026-04-24T15:43:28Z 1d00d44c7ea910e6f828dffef1d386cc86c18f98e0260c72bfb23c54dc915e04
OTP-28.0 9e6f6742c4d9e9915ee8af0dcb7d97cf1f836116 2026-04-24T21:19:07Z b54d35fc7df5f9045694f7d855126effca8b5fc440df7b9ecd269a7eb0b37a98
OTP-28.0-rc1 74ed6b0ed20da257f11fc64399a1c8dd4f967fe7 2026-04-24T15:28:16Z 25591d8a6e3b97b8a8fa39e46015084b5fbab99a359be6fd28477f4ef4149cd8
OTP-28.0-rc2 b7c33191648c8b280c3bc8baf5434b125e88f0ef 2026-04-24T15:16:49Z 95cd0eb89ce5e27f1fe2a190d569e2cb875558ed8a3cecbe0a0045b33f5c993f
OTP-28.0-rc3 feae4e669818cb794a1755036c1b11f672634f8f 2026-04-24T15:16:46Z ba9e38b3d3299cd80a0a14770d3c167e0575a721638e2d68232443868aa0999e
OTP-28.0-rc4 56f63ad95cd71ee00b535e6db4e8be180baa6066 2026-04-24T15:15:45Z 016dc114bf08f7c7698c472603c47d70ef56d8cf147dd9d2f6b7aca6958e9fbf
OTP-28.0.1 d9454dbccbaaad4b8796095c8e653b71b066dfaf 2026-04-24T15:03:16Z 7329d39b4008ecb35769a2f8cb5f92832c465767d5bc8131caa7708fb00acbd1
OTP-28.0.2 d04f6a0b261cf23e316e48e2febe14b30c592dc5 2026-04-24T15:03:05Z bd8ed588c263d5f7f27371718265582cd9d87e04d8a3c72e87831601132d4420
OTP-28.0.3 756621cebe01ec43df61d9627380ca7e1e301c9b 2026-04-24T15:02:47Z 0ad74c4a455cad900aa56bde2c04dc4dfa46c0c0217afc440786f83547ba6df0
OTP-28.0.4 eec5ff40a2ae2c3b3c6d952709ba4f16a6769024 2026-04-24T14:47:33Z 19aa151e9e2a610fddc018066ffd7ec98162a8a021184f70a2771127e665ca58
OTP-28.1 34316363201de07437e14e79ef559fde7becb0ee 2026-04-24T14:47:30Z c9728fc7975d03e8a3299ed6e564c62dd9a2d130420f6066d1c2f179f01c390e
OTP-28.1.1 b2e2bc472deeb5deb6fcddf7406364e42f6c3d0a 2026-04-24T14:47:26Z 07514587f9187cc75abf7759310332e95a4b6ac9b2fa0e2de919f3b8bb9c1406
OTP-28.2 dff037f64e8eaa0a591866e967ee2b7164329376 2026-04-24T14:47:14Z b0cd18e0d5e09ba12e37cd5944ec8c6aceb0266583fb4209f144bcac4494ba44
OTP-28.3 ab489c0b260c637a9487f8753909ea94dacbbec2 2026-04-24T14:31:40Z 401b8ef30f50587488f884da7d1f61d67638d71cad4496fea2d196479124e9c5
OTP-28.3.1 aa5b1d3366762ff8f420f2aa6a52604b481530c9 2026-04-24T14:31:36Z 04e88c160c3b55eea59175798b52745e111ba36649cbc6d35f947e8e8b413a33
OTP-28.3.2 b74eae92e1dee97d57a9ab3ea3c36e8b701a9ca6 2026-04-24T14:31:29Z ea8be9b0a374602b080570eb0244720d643ecb54ff7611a9f3945c116087d2c6
OTP-28.3.3 dfd646eef0dd6b1f3674a7b6c7c7ff944939139b 2026-04-24T14:31:21Z 34b0dd70b1eb74b9de0ed82f69b6db664f6d90e603cfcfa3d3c060f65b7777bc
OTP-28.4 927bcc220b923ba1fef574618e82a3b7a2a4471d 2026-04-24T14:16:07Z 257e53beb1143154a80a7c2454261d6abd824b09629d79b99eb4588804247557
OTP-28.4.1 c8fca7e34e4db5d977ccf292cc2490ddb05b5879 2026-04-24T14:15:55Z 73eba3639b9873c267b7f4df62078d6f22b146882fd6d5241dbab3be9e0b616c
OTP-28.4.2 002fa5032baa0f6a8c4587c81f60e3273775a4d1 2026-04-24T14:15:52Z 1e25cfb65127e2e94913482a2486d38b5ce44c59b1c2858689df9de31a5ddcbd
OTP-28.4.3 359d91e66ffdede8f7855565087d324581c28f2e 2026-04-24T14:15:47Z 81d53e2ec4230b521b2f66ac64458e66cd634b2f205ee59e72ea54733644f0d0
OTP-28.5 f4506ee46d68694a1d23ca81c314092fd83e8f85 2026-04-24T14:00:14Z 6deadb6b6252376aaac89e5c837c72ec24c44bf3025856ade71d3c14afe66014
OTP-28.5.0.1 5770157eabdd4e8b0b83d64fd8b207c0150c2b64 2026-05-31T15:14:41Z 9fa866ad9abea5807b77919c27be3bbbe3806b4998abf6350d06e42068e290ec
OTP-28.5.0.2 4567096bddd1ecddb7c973019ca7e769f486aa8f 2026-06-10T10:54:11Z 01b02af31fb20937b146cf68a2a3ee5b129c45be5f74e65b101058d5650c1dc8
OTP-29.0 550d7b7898706c7822362c42e7b93120c1d1f29a 2026-05-13T09:41:44Z d20385dfafb49ef36303858c7577de8d8931102b6482fcbbdd83991638c122bd
OTP-29.0-rc1 04f1ebb18053d48f18e2a52e6ebe09b5f3d25580 2026-04-24T14:00:36Z b0a44585175f50d1170e0dd5606b3a502bbd82ce8d61daebe294b6c97812408b
OTP-29.0-rc2 92322002e7287640f7615fed89a677505b44bfdd 2026-04-24T14:00:19Z b952e731d7ee6d51822d2d261c809a2d4464efd1a87463bcf2c7f4495e7431e6
OTP-29.0-rc3 7721ab7462a426c107964b0f1e47207475e085e3 2026-04-24T13:59:40Z 83ecffb614710e05867ba28175e2b9e90d0b68157bf8c1c83793d7d75d5b6d97
OTP-29.0.1 f26c7e590c5d1b3afa0dee38093442df117822e3 2026-05-31T14:36:40Z 05b41f99f8d4eeb6944d0201054bc38edb293503353f676df3afbf1042475486
OTP-29.0.2 36b336d7675edfb976768465c5067bc8bc16ee9a 2026-06-10T08:39:21Z 905919b09cf6c27decdabc4367af81a9ed248acd340a4b80fa55c3df14489093
maint d31b060b5c25715a47cc3611be7ef017c341bcd5 2026-06-11T13:02:03Z dd981f09ae93c4030de6a33f65b655e3257cfe15477d6a83c61d79317e298905
maint-27 f835a5a32aeeb70778c958b5c01a401973e8fbe2 2026-06-10T13:02:32Z 4e3ea4facd9f5f8023628412f35a4ec13991cb5879093de99692002b187a94ff
maint-28 4567096bddd1ecddb7c973019ca7e769f486aa8f 2026-06-10T10:48:53Z 0656c4606790a6d84faef3b1c46cba705de9e6a7dea4787d3fdeb0dc3d738721
maint-29 36b336d7675edfb976768465c5067bc8bc16ee9a 2026-06-10T08:33:37Z 3d7b337c4b2ba12d797c493154a79ee32ae7a8f156b14f943b9216b47e77af4f
master 56f75c4dd241431978e6e13788822e4c1a18b0f7 2026-06-11T13:02:03Z 493650afcdeead215e8a10c16605a430e64c24fc4476ba90aa69cf5e0f314279
+869 -72
View File
File diff suppressed because it is too large Load Diff
+68 -11
View File
@@ -29,6 +29,7 @@ const matrix = {
'ubuntu-20.04': parseBuild('test/otp/ubuntu-20.04/builds.txt'), 'ubuntu-20.04': parseBuild('test/otp/ubuntu-20.04/builds.txt'),
'ubuntu-22.04': parseBuild('test/otp/ubuntu-22.04/builds.txt'), 'ubuntu-22.04': parseBuild('test/otp/ubuntu-22.04/builds.txt'),
'ubuntu-24.04': parseBuild('test/otp/ubuntu-24.04/builds.txt'), 'ubuntu-24.04': parseBuild('test/otp/ubuntu-24.04/builds.txt'),
'ubuntu-26.04': parseBuild('test/otp/ubuntu-26.04/builds.txt'),
windows: parseReleases('test/otp/releases.json'), windows: parseReleases('test/otp/releases.json'),
'macos-aarch64': parseCsv('test/otp/macos/aarch64-apple-darwin.csv'), 'macos-aarch64': parseCsv('test/otp/macos/aarch64-apple-darwin.csv'),
'macos-x86_64': parseCsv('test/otp/macos/x86_64-apple-darwin.csv'), 'macos-x86_64': parseCsv('test/otp/macos/x86_64-apple-darwin.csv'),
@@ -188,6 +189,14 @@ describe('.getOTPVersion(_) - Erlang', () => {
assert.deepStrictEqual(got, expected) assert.deepStrictEqual(got, expected)
simulateInput('version-type', before) simulateInput('version-type', before)
before = simulateInput('version-type', 'strict')
spec = '27.0'
osVersion = 'ubuntu-26.04'
expected = 'OTP-27.0'
got = await setupBeam.getOTPVersion(spec, osVersion)
assert.deepStrictEqual(got, expected)
simulateInput('version-type', before)
before = simulateInput('version-type', 'strict') before = simulateInput('version-type', 'strict')
spec = '25.3.2.1' spec = '25.3.2.1'
osVersion = 'ubuntu-20.04' osVersion = 'ubuntu-20.04'
@@ -273,7 +282,7 @@ describe('.getOTPVersion(_) - Erlang', () => {
assert.deepStrictEqual(got, expected) assert.deepStrictEqual(got, expected)
spec = '23.0' spec = '23.0'
osVersion = 'windows-2019' osVersion = 'windows-2022'
expected = '23.0.4' expected = '23.0.4'
got = await setupBeam.getOTPVersion(spec, osVersion) got = await setupBeam.getOTPVersion(spec, osVersion)
assert.deepStrictEqual(got, expected) assert.deepStrictEqual(got, expected)
@@ -294,7 +303,7 @@ describe('.getOTPVersion(_) - Erlang', () => {
assert.deepStrictEqual(got, expected) assert.deepStrictEqual(got, expected)
spec = '23.0' spec = '23.0'
osVersion = 'windows-2019' osVersion = 'windows-2022'
expected = '23.0.4' expected = '23.0.4'
got = await setupBeam.getOTPVersion(spec, osVersion) got = await setupBeam.getOTPVersion(spec, osVersion)
assert.deepStrictEqual(got, expected) assert.deepStrictEqual(got, expected)
@@ -587,6 +596,44 @@ describe('OTP arch-specific install', () => {
}) })
}) })
describe('.getRunnerOSVersion(_)', () => {
it('maps x86 ImageOS values to their container', async () => {
const previousImageOS = process.env.ImageOS
process.env.ImageOS = 'ubuntu22'
assert.strictEqual(setupBeam.getRunnerOSVersion(), 'ubuntu-22.04')
process.env.ImageOS = 'ubuntu24'
assert.strictEqual(setupBeam.getRunnerOSVersion(), 'ubuntu-24.04')
process.env.ImageOS = previousImageOS
})
it('maps arm64 ImageOS variants to the same container as x86', async () => {
const previousImageOS = process.env.ImageOS
process.env.ImageOS = 'ubuntu22-arm64'
assert.strictEqual(setupBeam.getRunnerOSVersion(), 'ubuntu-22.04')
process.env.ImageOS = 'ubuntu24-arm64'
assert.strictEqual(setupBeam.getRunnerOSVersion(), 'ubuntu-24.04')
process.env.ImageOS = previousImageOS
})
it('throws for genuinely unknown ImageOS values', async () => {
const previousImageOS = process.env.ImageOS
process.env.ImageOS = 'plan9'
assert.throws(
() => setupBeam.getRunnerOSVersion(),
/Tried to map a target OS/,
)
process.env.ImageOS = previousImageOS
})
})
describe('.getOTPVersion(_) - Elixir', () => { describe('.getOTPVersion(_) - Elixir', () => {
let got let got
let expected let expected
@@ -625,9 +672,9 @@ describe('.getOTPVersion(_) - Elixir', () => {
assert.deepStrictEqual(got, expected) assert.deepStrictEqual(got, expected)
before = simulateInput('version-type', 'strict') before = simulateInput('version-type', 'strict')
spec = '1.17' spec = '1.19'
otpVersion = 'master' otpVersion = 'master'
expected = 'v1.17-otp-27' expected = 'v1.19-otp-28'
await setupBeam.installOTP(otpVersion) await setupBeam.installOTP(otpVersion)
got = await setupBeam.getElixirVersion(spec, otpVersion) got = await setupBeam.getElixirVersion(spec, otpVersion)
assert.deepStrictEqual(got, expected) assert.deepStrictEqual(got, expected)
@@ -695,18 +742,18 @@ describe('.getOTPVersion(_) - rebar3', () => {
let spec let spec
it('returns the expected value', async () => { it('returns the expected value', async () => {
spec = '3.10.x' spec = '3.26.x'
expected = '3.10.0' expected = '3.26.0'
got = await setupBeam.getRebar3Version(spec) got = await setupBeam.getRebar3Version(spec)
assert.deepStrictEqual(got, expected) assert.deepStrictEqual(got, expected)
spec = '3.11' spec = '3.25'
expected = '3.11.1' expected = '3.25.1'
got = await setupBeam.getRebar3Version(spec) got = await setupBeam.getRebar3Version(spec)
assert.deepStrictEqual(got, expected) assert.deepStrictEqual(got, expected)
spec = '3.10' spec = '3.26'
expected = '3.10.0' expected = '3.26.0'
got = await setupBeam.getRebar3Version(spec) got = await setupBeam.getRebar3Version(spec)
assert.deepStrictEqual(got, expected) assert.deepStrictEqual(got, expected)
}) })
@@ -946,6 +993,16 @@ describe('.getVersionFromSpec(_)', () => {
got = setupBeam.getVersionFromSpec(spec, matrix.otp['ubuntu-24.04']) got = setupBeam.getVersionFromSpec(spec, matrix.otp['ubuntu-24.04'])
assert.deepStrictEqual(got, expected) assert.deepStrictEqual(got, expected)
spec = '> 0'
expected = 'OTP-29.0.2'
got = setupBeam.getVersionFromSpec(spec, matrix.otp['ubuntu-26.04'])
assert.deepStrictEqual(got, expected)
spec = 'latest'
expected = 'OTP-29.0.2'
got = setupBeam.getVersionFromSpec(spec, matrix.otp['ubuntu-26.04'])
assert.deepStrictEqual(got, expected)
spec = 'latest' spec = 'latest'
expected = '27.0-rc3' expected = '27.0-rc3'
got = setupBeam.getVersionFromSpec(spec, matrix.otp.windows) got = setupBeam.getVersionFromSpec(spec, matrix.otp.windows)
@@ -972,7 +1029,7 @@ describe('.getVersionFromSpec(_)', () => {
assert.deepStrictEqual(got, expected) assert.deepStrictEqual(got, expected)
spec = 'latest' spec = 'latest'
expected = '3.23.0' expected = '3.27.0'
got = setupBeam.getVersionFromSpec(spec, matrix.rebar3) got = setupBeam.getVersionFromSpec(spec, matrix.rebar3)
assert.deepStrictEqual(got, expected) assert.deepStrictEqual(got, expected)
}) })