mirror of
https://github.com/erlef/setup-beam.git
synced 2026-07-23 07:06:07 +00:00
Compare commits
82 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 8d90f7b8d3 | |||
| 8736e92447 | |||
| f4f179b825 | |||
| a228c4f190 | |||
| 730131f5b9 | |||
| 7782cf9cde | |||
| 324994a2c5 | |||
| 551a8c58c5 | |||
| 74e4a9879b | |||
| 992182bb93 | |||
| 837c16fb56 | |||
| 50a47d8240 | |||
| 149ca49ab5 | |||
| 48f5ea24e9 | |||
| fa471919e3 | |||
| b59f4962e3 | |||
| 35983496a6 | |||
| fad8771ace | |||
| c35be0e285 | |||
| e6d7811738 | |||
| b15302821e | |||
| b0ba423105 | |||
| c648472e6f | |||
| 3809396843 | |||
| f8797dd823 | |||
| a433e6bd12 | |||
| e0a7f48cee | |||
| c21f568d4c | |||
| fe26b2283c | |||
| 54075bcc5e | |||
| ea45c8043f | |||
| b4b8d851b6 | |||
| 20df794ab3 | |||
| 9d5c5ca125 | |||
| ad4294342c | |||
| 135c095dff | |||
| a04cfbb50e | |||
| cd1472f941 | |||
| c80fdc938c | |||
| aecd7abd75 | |||
| 6e9312bce0 | |||
| 3985c7c047 | |||
| 35f52551d2 | |||
| 0510550330 | |||
| 9eabb2c115 | |||
| e5f1a7b722 | |||
| 7a27046239 | |||
| fc68ffb904 | |||
| 190c3a5e7b | |||
| 92dab893ed | |||
| 5dfda65506 | |||
| ef385d6edc | |||
| bf3c3af135 | |||
| e7645e4102 | |||
| a36098e741 | |||
| 87781dc68a | |||
| d5f3979a5f | |||
| 930b3281ba | |||
| 30056ca086 | |||
| 1f3f354e6a | |||
| 3e49772722 | |||
| 2ac22cd739 | |||
| c4782c7b58 | |||
| 0afadf6bdd | |||
| e539b1ee26 | |||
| c5f0656346 | |||
| ee09b1e59b | |||
| f8b54b559e | |||
| bf1ce74034 | |||
| 559a930751 | |||
| 1380ebe712 | |||
| 0a549596b0 | |||
| 3a3c94fd9e | |||
| cfafb69ddd | |||
| b3cbb6afbf | |||
| 2abe6cda7a | |||
| d55fdba43f | |||
| eb86ad6523 | |||
| af6da5da48 | |||
| f018c1e6d8 | |||
| d843ebb78b | |||
| c8e09547a7 |
@@ -24,7 +24,7 @@ jobs:
|
||||
permissions:
|
||||
contents: write
|
||||
steps:
|
||||
- uses: actions/checkout@v6.0.2
|
||||
- uses: actions/checkout@v7.0.0
|
||||
- name: Version it!
|
||||
run: |
|
||||
# We expect a string such as const setupBeamVersion = 'undefined' in the code
|
||||
@@ -45,10 +45,10 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
if: github.ref != 'refs/heads/main'
|
||||
steps:
|
||||
- uses: actions/checkout@v6.0.2
|
||||
- uses: actions/checkout@v7.0.0
|
||||
- uses: actions/setup-node@v6.3.0
|
||||
with:
|
||||
node-version: '20'
|
||||
node-version: '24'
|
||||
- run: npm run build-dist
|
||||
- name: Check if build left artifacts
|
||||
run: git diff --exit-code --ignore-space-at-eol
|
||||
@@ -58,17 +58,22 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
if: github.ref != 'refs/heads/main'
|
||||
steps:
|
||||
- uses: actions/checkout@v6.0.2
|
||||
- uses: raven-actions/actionlint@v2.1.2
|
||||
- uses: actions/checkout@v7.0.0
|
||||
- uses: raven-actions/actionlint@v2.2.0
|
||||
|
||||
unit_tests_ubuntu:
|
||||
name: Unit tests (Ubuntu)
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
os:
|
||||
- ubuntu-24.04-arm # ARM64
|
||||
- ubuntu-latest # x86_64
|
||||
runs-on: ${{ matrix.os }}
|
||||
steps:
|
||||
- uses: actions/checkout@v6.0.2
|
||||
- uses: actions/checkout@v7.0.0
|
||||
- uses: actions/setup-node@v6.3.0
|
||||
with:
|
||||
node-version: '20'
|
||||
node-version: '24'
|
||||
- run: npm ci
|
||||
- run: npm test
|
||||
env:
|
||||
@@ -84,12 +89,16 @@ jobs:
|
||||
|
||||
unit_tests_windows:
|
||||
name: Unit tests (Windows)
|
||||
runs-on: windows-latest
|
||||
strategy:
|
||||
matrix:
|
||||
os:
|
||||
- windows-latest # x86_64
|
||||
runs-on: ${{ matrix.os }}
|
||||
steps:
|
||||
- uses: actions/checkout@v6.0.2
|
||||
- uses: actions/checkout@v7.0.0
|
||||
- uses: actions/setup-node@v6.3.0
|
||||
with:
|
||||
node-version: '20'
|
||||
node-version: '24'
|
||||
- run: npm install --production
|
||||
- run: npm test
|
||||
env:
|
||||
@@ -105,12 +114,17 @@ jobs:
|
||||
|
||||
unit_tests_macos:
|
||||
name: Unit tests (macOS)
|
||||
runs-on: macos-latest
|
||||
strategy:
|
||||
matrix:
|
||||
os:
|
||||
- macos-latest # ARM64
|
||||
- macos-15-intel # x86_64
|
||||
runs-on: ${{ matrix.os }}
|
||||
steps:
|
||||
- uses: actions/checkout@v6.0.2
|
||||
- uses: actions/checkout@v7.0.0
|
||||
- uses: actions/setup-node@v6.3.0
|
||||
with:
|
||||
node-version: '20'
|
||||
node-version: '24'
|
||||
- run: npm ci
|
||||
- run: npm test
|
||||
env:
|
||||
|
||||
@@ -26,7 +26,7 @@ jobs:
|
||||
install-rebar: [true, false]
|
||||
install-hex: [true, false]
|
||||
steps:
|
||||
- uses: actions/checkout@v6.0.2
|
||||
- uses: actions/checkout@v7.0.0
|
||||
- name: Use erlef/setup-beam
|
||||
id: setup-beam
|
||||
uses: ./
|
||||
|
||||
+21
-10
@@ -16,6 +16,7 @@ on:
|
||||
jobs:
|
||||
integration_test:
|
||||
name: >
|
||||
OS ${{matrix.combo.os}},
|
||||
OTP ${{matrix.combo.otp-version}},
|
||||
Elixir ${{matrix.combo.elixir-version}},
|
||||
rebar3 ${{matrix.combo.rebar3-version}}
|
||||
@@ -24,6 +25,22 @@ jobs:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
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'
|
||||
elixir-version: 'v1.17.0'
|
||||
rebar3-version: '3.23'
|
||||
@@ -43,19 +60,13 @@ jobs:
|
||||
elixir-version: '1.14.3'
|
||||
os: 'macos-latest'
|
||||
version-type: 'strict'
|
||||
- otp-version: '25'
|
||||
os: 'macos-15'
|
||||
- otp-version: '26'
|
||||
elixir-version: '1.16'
|
||||
rebar3-version: '3.25'
|
||||
os: 'macos-14'
|
||||
- otp-version: '25.0'
|
||||
elixir-version: 'v1.13.4-otp-25'
|
||||
elixir-version: 'v1.16.3-otp-25'
|
||||
rebar3-version: '3.18.0'
|
||||
os: 'macos-latest'
|
||||
version-type: 'strict'
|
||||
- otp-version: '25.0'
|
||||
elixir-version: 'v1.13.4'
|
||||
elixir-version: 'v1.16.3'
|
||||
rebar3-version: '3.18.0'
|
||||
os: 'macos-latest'
|
||||
version-type: 'strict'
|
||||
@@ -65,7 +76,7 @@ jobs:
|
||||
rebar3-version: 'latest'
|
||||
os: 'macos-latest'
|
||||
steps:
|
||||
- uses: actions/checkout@v6.0.2
|
||||
- uses: actions/checkout@v7.0.0
|
||||
- name: Use erlef/setup-beam
|
||||
id: setup-beam
|
||||
uses: ./
|
||||
@@ -118,7 +129,7 @@ jobs:
|
||||
rebar3-version: 3.24
|
||||
os: macos-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v6.0.2
|
||||
- uses: actions/checkout@v7.0.0
|
||||
- name: Use erlef/setup-beam
|
||||
id: setup-beam
|
||||
uses: ./
|
||||
|
||||
@@ -16,6 +16,7 @@ on:
|
||||
jobs:
|
||||
integration_test:
|
||||
name: >
|
||||
OS ${{matrix.combo.os}},
|
||||
OTP ${{matrix.combo.otp-version}},
|
||||
Elixir ${{matrix.combo.elixir-version}},
|
||||
Gleam ${{matrix.combo.gleam-version}},
|
||||
@@ -25,15 +26,22 @@ jobs:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
combo:
|
||||
- otp-version: '<26'
|
||||
elixir-version: '<1.17'
|
||||
# Ubuntu 22.04 - per README
|
||||
- otp-version: '24.2'
|
||||
os: 'ubuntu-22.04'
|
||||
- otp-version: 'master'
|
||||
elixir-version: '> 0'
|
||||
- otp-version: '29'
|
||||
os: 'ubuntu-22.04'
|
||||
# Ubuntu 24.04 - per README
|
||||
- otp-version: '24.3'
|
||||
os: 'ubuntu-24.04'
|
||||
- otp-version: 'master'
|
||||
elixir-version: 'main'
|
||||
- otp-version: '29'
|
||||
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'
|
||||
elixir-version: 'v1.17.0'
|
||||
rebar3-version: '3.23'
|
||||
@@ -53,19 +61,13 @@ jobs:
|
||||
elixir-version: '1.14.3'
|
||||
os: 'ubuntu-latest'
|
||||
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'
|
||||
elixir-version: 'v1.13.4-otp-25'
|
||||
elixir-version: 'v1.16.2-otp-25'
|
||||
rebar3-version: '3.18.0'
|
||||
os: 'ubuntu-latest'
|
||||
version-type: 'strict'
|
||||
- otp-version: '25.0'
|
||||
elixir-version: 'v1.13.4'
|
||||
elixir-version: 'v1.16.3'
|
||||
rebar3-version: '3.18.0'
|
||||
os: 'ubuntu-latest'
|
||||
version-type: 'strict'
|
||||
@@ -80,13 +82,13 @@ jobs:
|
||||
otp-version: false
|
||||
os: 'ubuntu-latest'
|
||||
disable_problem_matchers: true
|
||||
- elixir-version: 'v1.13'
|
||||
- elixir-version: 'v1.16'
|
||||
otp-version: '24'
|
||||
escript_packages: 'hex protobuf'
|
||||
escript_script: 'protoc-gen-elixir --version'
|
||||
os: 'ubuntu-latest'
|
||||
steps:
|
||||
- uses: actions/checkout@v6.0.2
|
||||
- uses: actions/checkout@v7.0.0
|
||||
- name: Use erlef/setup-beam
|
||||
id: setup-beam
|
||||
uses: ./
|
||||
@@ -154,7 +156,7 @@ jobs:
|
||||
rebar3-version: 3.24
|
||||
os: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v6.0.2
|
||||
- uses: actions/checkout@v7.0.0
|
||||
- name: Use erlef/setup-beam
|
||||
id: setup-beam
|
||||
uses: ./
|
||||
|
||||
@@ -15,7 +15,7 @@ jobs:
|
||||
name: Update 3rd party licenses
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v6.0.2
|
||||
- uses: actions/checkout@v7.0.0
|
||||
- run:
|
||||
./.github/workflows/update_3rd_party_licenses.sh
|
||||
env:
|
||||
|
||||
@@ -16,6 +16,7 @@ on:
|
||||
jobs:
|
||||
integration_test:
|
||||
name: >
|
||||
OS ${{matrix.combo.os}},
|
||||
OTP ${{matrix.combo.otp-version}},
|
||||
Elixir ${{matrix.combo.elixir-version}},
|
||||
Gleam ${{matrix.combo.gleam-version}},
|
||||
@@ -25,12 +26,20 @@ jobs:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
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'
|
||||
elixir-version: '<1.17'
|
||||
os: 'ubuntu-22.04'
|
||||
- otp-version: 'master'
|
||||
elixir-version: '> 0'
|
||||
os: 'ubuntu-24.04'
|
||||
os: 'windows-latest'
|
||||
- otp-version: '27'
|
||||
elixir-version: 'v1.17.0'
|
||||
rebar3-version: '3.23'
|
||||
@@ -47,30 +56,24 @@ jobs:
|
||||
elixir-version: '1.14.5'
|
||||
os: 'windows-latest'
|
||||
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'
|
||||
otp-version: '23'
|
||||
rebar3-version: '3.14'
|
||||
os: 'windows-latest'
|
||||
- elixir-version: 'v1.13'
|
||||
- elixir-version: 'v1.16'
|
||||
otp-version: '24'
|
||||
rebar3-version: '3.15'
|
||||
os: 'windows-latest'
|
||||
- gleam-version: '1.9.0'
|
||||
otp-version: '27'
|
||||
os: 'windows-latest'
|
||||
- elixir-version: 'v1.13'
|
||||
- elixir-version: 'v1.16'
|
||||
otp-version: '24'
|
||||
escript_packages: 'hex protobuf'
|
||||
escript_script: 'protoc-gen-elixir --version'
|
||||
os: 'windows-latest'
|
||||
steps:
|
||||
- uses: actions/checkout@v6.0.2
|
||||
- uses: actions/checkout@v7.0.0
|
||||
- name: Use erlef/setup-beam
|
||||
id: setup-beam
|
||||
uses: ./
|
||||
@@ -137,7 +140,7 @@ jobs:
|
||||
rebar3-version: 3.24
|
||||
os: windows-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v6.0.2
|
||||
- uses: actions/checkout@v7.0.0
|
||||
- name: Use erlef/setup-beam
|
||||
id: setup-beam
|
||||
uses: ./
|
||||
|
||||
+72
-122
@@ -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
|
||||
Version 2.0, January 2004
|
||||
@@ -312,30 +312,6 @@ THE SOFTWARE.
|
||||
|
||||
-----
|
||||
|
||||
The following software may be included in this product: @fastify/busboy. A copy of the source code may be downloaded from git+https://github.com/fastify/busboy.git. This software contains the following license and notice below:
|
||||
|
||||
Copyright Brian White. All rights reserved.
|
||||
|
||||
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: @felipecrs/decompress-tarxz, @xhmikosr/decompress-tar, decompress, decompress-tar, decompress-tarbz2, decompress-targz, shebang-command. A copy of the source code may be downloaded from git+https://github.com/felipecrs/decompress-tarxz.git (@felipecrs/decompress-tarxz), git+https://github.com/XhmikosR/decompress-tar.git (@xhmikosr/decompress-tar), https://github.com/kevva/decompress.git (decompress), https://github.com/kevva/decompress-tar.git (decompress-tar), https://github.com/kevva/decompress-tarbz2.git (decompress-tarbz2), https://github.com/kevva/decompress-targz.git (decompress-targz), https://github.com/kevva/shebang-command.git (shebang-command). This software contains the following license and notice below:
|
||||
|
||||
MIT License
|
||||
@@ -350,6 +326,32 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
|
||||
|
||||
-----
|
||||
|
||||
The following software may be included in this product: @ota-meshi/ast-token-store. A copy of the source code may be downloaded from git+https://github.com/ota-meshi/ast-token-store.git. This software contains the following license and notice below:
|
||||
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2026 Yosuke Ota
|
||||
|
||||
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: @tokenizer/inflate. A copy of the source code may be downloaded from https://github.com/Borewit/tokenizer-inflate.git. This software contains the following license and notice below:
|
||||
|
||||
Copyright (c) 2024, Borewit
|
||||
@@ -396,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.
|
||||
|
||||
@@ -1132,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
|
||||
|
||||
@@ -1626,6 +1628,32 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
-----
|
||||
|
||||
The following software may be included in this product: diff-sequences. A copy of the source code may be downloaded from https://github.com/jestjs/jest.git. This software contains the following license and notice below:
|
||||
|
||||
MIT License
|
||||
|
||||
Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
|
||||
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: dunder-proto, math-intrinsics. A copy of the source code may be downloaded from git+https://github.com/es-shims/dunder-proto.git (dunder-proto), git+https://github.com/es-shims/math-intrinsics.git (math-intrinsics). This software contains the following license and notice below:
|
||||
|
||||
MIT License
|
||||
@@ -1747,32 +1775,6 @@ SOFTWARE.
|
||||
|
||||
-----
|
||||
|
||||
The following software may be included in this product: eslint-compat-utils. A copy of the source code may be downloaded from git+https://github.com/ota-meshi/eslint-compat-utils.git. This software contains the following license and notice below:
|
||||
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2023 Yosuke Ota
|
||||
|
||||
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: eslint-plugin-yml, yaml-eslint-parser. A copy of the source code may be downloaded from git+https://github.com/ota-meshi/eslint-plugin-yml.git (eslint-plugin-yml), git+https://github.com/ota-meshi/yaml-eslint-parser.git (yaml-eslint-parser). This software contains the following license and notice below:
|
||||
|
||||
MIT License
|
||||
@@ -2264,7 +2266,7 @@ The following software may be included in this product: fflate. A copy of the so
|
||||
|
||||
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
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
@@ -2312,6 +2314,20 @@ SOFTWARE.
|
||||
|
||||
-----
|
||||
|
||||
The following software may be included in this product: file-type, make-dir, path-exists, path-key, pify, shebang-regex. A copy of the source code may be downloaded from https://github.com/sindresorhus/file-type.git (file-type), https://github.com/sindresorhus/make-dir.git (make-dir), https://github.com/sindresorhus/path-exists.git (path-exists), https://github.com/sindresorhus/path-key.git (path-key), https://github.com/sindresorhus/pify.git (pify), https://github.com/sindresorhus/shebang-regex.git (shebang-regex). This software contains the following license and notice below:
|
||||
|
||||
MIT License
|
||||
|
||||
Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
|
||||
|
||||
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: file-type, get-stream, is-stream, object-assign, pify. A copy of the source code may be downloaded from https://github.com/sindresorhus/file-type.git (file-type), https://github.com/sindresorhus/get-stream.git (get-stream), https://github.com/sindresorhus/is-stream.git (is-stream), https://github.com/sindresorhus/object-assign.git (object-assign), https://github.com/sindresorhus/pify.git (pify). This software contains the following license and notice below:
|
||||
|
||||
The MIT License (MIT)
|
||||
@@ -2338,20 +2354,6 @@ THE SOFTWARE.
|
||||
|
||||
-----
|
||||
|
||||
The following software may be included in this product: file-type, make-dir, path-exists, path-key, pify, shebang-regex. A copy of the source code may be downloaded from https://github.com/sindresorhus/file-type.git (file-type), https://github.com/sindresorhus/make-dir.git (make-dir), https://github.com/sindresorhus/path-exists.git (path-exists), https://github.com/sindresorhus/path-key.git (path-key), https://github.com/sindresorhus/pify.git (pify), https://github.com/sindresorhus/shebang-regex.git (shebang-regex). This software contains the following license and notice below:
|
||||
|
||||
MIT License
|
||||
|
||||
Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
|
||||
|
||||
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: flat-cache. A copy of the source code may be downloaded from https://github.com/jaredwray/flat-cache.git. This software contains the following license and notice below:
|
||||
|
||||
The MIT License (MIT)
|
||||
@@ -3145,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:
|
||||
|
||||
Copyright (c) 2014 Vitaly Puzrin, Alex Kocharin.
|
||||
@@ -3900,11 +3850,11 @@ IN THE SOFTWARE.
|
||||
|
||||
-----
|
||||
|
||||
The following software may be included in this product: strtok3. A copy of the source code may be downloaded from https://github.com/Borewit/strtok3.git. This software contains the following license and notice below:
|
||||
The following software may be included in this product: strtok3. A copy of the source code may be downloaded from git+https://github.com/Borewit/strtok3.git. This software contains the following license and notice below:
|
||||
|
||||
MIT License
|
||||
|
||||
Copyright © 2025 Borewit
|
||||
Copyright © 2026 Borewit
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
||||
@@ -80,18 +80,23 @@ and Erlang/OTP.
|
||||
|
||||
| Operating system | Erlang/OTP | OTP Architecture | Status
|
||||
|- |- | - |-
|
||||
| `ubuntu-22.04` | 24.2 - 28 | x86_64, arm64 | ✅
|
||||
| `ubuntu-24.04` | 24.3 - 28 | x86_64, arm64 | ✅
|
||||
| `windows-2019` | 21\* - 25 | x86_64, x86 | ✅
|
||||
| `windows-2022` | 21\* - 28 | x86_64, x86 | ✅
|
||||
| `windows-2025` | 21\* - 28 | x86_64, x86 | ✅
|
||||
| `macOS-13` | 25.0 - 28 | x86_64, arm64 | ✅
|
||||
| `macOS-14` | 25.0 - 28 | x86_64, arm64 | ✅
|
||||
| `macOS-15` | 25.0 - 28 | x86_64, arm64 | ✅
|
||||
| `ubuntu-22.04` | 24.2 - 29 | x86_64, arm64 | ✅
|
||||
| `ubuntu-24.04` | 24.3 - 29 | x86_64, arm64 | ✅
|
||||
| `ubuntu-26.04` | 26 - 29 | x86_64, arm64 | ✅
|
||||
| `windows-2022` | 21\* - 29 | x86_64, x86 | ✅
|
||||
| `windows-2025` | 21\* - 29 | x86_64, x86 | ✅
|
||||
| `macOS-14` | 25 - 29 | x86_64, arm64 | ✅
|
||||
| `macOS-15` | 25 - 29 | x86_64, arm64 | ✅
|
||||
| `macOS-26` | 25 - 29 | x86_64, arm64 | ✅
|
||||
|
||||
**Note** \*: prior to 23, Windows builds are only available for minor versions, e.g. 21.0, 21.3,
|
||||
22.0, etc.
|
||||
|
||||
### Compatibility between Erlang/OTP and rebar3
|
||||
|
||||
Check [version compatibility](https://github.com/erlang/rebar3?tab=readme-ov-file#compatibility-between-rebar3-and-erlangotp)
|
||||
in `erlang/rebar3`.
|
||||
|
||||
### Self-hosted runners
|
||||
|
||||
Self-hosted runners need to set env. variable `ImageOS` to one of the following, since the action
|
||||
@@ -100,13 +105,17 @@ uses that to download assets:
|
||||
| ImageOS | Operating system
|
||||
|- |-
|
||||
| `ubuntu22` | `ubuntu-22.04`
|
||||
| `ubuntu22-arm64` | `ubuntu-22.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`
|
||||
| `win25` | `windows-2025`
|
||||
| `macos13` | `macOS-13`
|
||||
| `win25-vs2026` | `windows-2025`
|
||||
| `macos14` | `macOS-14`
|
||||
| `macos15` | `macOS-15`
|
||||
| `macos26` | `macOS-26`
|
||||
|
||||
as per the following example:
|
||||
|
||||
@@ -290,6 +299,34 @@ jobs:
|
||||
- run: rebar3 ct
|
||||
```
|
||||
|
||||
### Compatibility
|
||||
|
||||
To execute matrix testing with specific dependency versions, configure the environment matrix to
|
||||
use pinned, compatible releases:
|
||||
|
||||
```yaml
|
||||
test:
|
||||
runs-on: ${{matrix.compat.os}}
|
||||
name: Erlang/OTP ${{matrix.compat.otp}} / rebar3 ${{matrix.compat.rebar3}}
|
||||
strategy:
|
||||
matrix:
|
||||
compat:
|
||||
- otp: "26.2.5.5"
|
||||
rebar3: "3.22.1"
|
||||
os: ubuntu-24.04
|
||||
- otp: "27.1.2"
|
||||
rebar3: "3.22.1"
|
||||
os: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: erlef/setup-beam@v1
|
||||
with:
|
||||
otp-version: ${{matrix.compat.otp}}
|
||||
rebar3-version: ${{matrix.compat.rebar3}}
|
||||
version-type: strict
|
||||
- run: rebar3 eunit
|
||||
```
|
||||
|
||||
### Erlang/OTP + `rebar3`, on Windows
|
||||
|
||||
```yaml
|
||||
|
||||
+1
-1
@@ -98,5 +98,5 @@ outputs:
|
||||
description: The commit unique id of the execution action version
|
||||
|
||||
runs:
|
||||
using: node20
|
||||
using: node24
|
||||
main: dist/index.js
|
||||
|
||||
Vendored
+66
@@ -0,0 +1,66 @@
|
||||
{
|
||||
"problemMatcher": [
|
||||
{
|
||||
"owner": "erlc-warning",
|
||||
"severity": "warning",
|
||||
"pattern": [
|
||||
{
|
||||
"regexp": "^(\\S+):(\\d+):(\\d+): [wW]arning: (.+)$",
|
||||
"file": 1,
|
||||
"line": 2,
|
||||
"column": 3,
|
||||
"message": 4
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"owner": "erlc-error",
|
||||
"severity": "error",
|
||||
"pattern": [
|
||||
{
|
||||
"regexp": "^(\\S+):(\\d+):(\\d+): (?![wW]arning)(.+)$",
|
||||
"file": 1,
|
||||
"line": 2,
|
||||
"column": 3,
|
||||
"message": 4
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"owner": "ct-failure",
|
||||
"severity": "error",
|
||||
"pattern": [
|
||||
{
|
||||
"regexp": "^(\\S+) failed on line (\\d+)$",
|
||||
"file": 1,
|
||||
"line": 2
|
||||
},
|
||||
{
|
||||
"regexp": "^Reason: (.+)$",
|
||||
"message": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"owner": "eunit-failure",
|
||||
"severity": "error",
|
||||
"pattern": [
|
||||
{
|
||||
"regexp": "^\\S+: .+\\.\\.\\.\\*failed\\*$"
|
||||
},
|
||||
{
|
||||
"regexp": "^in function .+ \\((.+), line (\\d+)\\)$",
|
||||
"file": 1,
|
||||
"line": 2
|
||||
},
|
||||
{
|
||||
"regexp": "^in call from .+$"
|
||||
},
|
||||
{
|
||||
"regexp": "^\\*\\*error:(.+)$",
|
||||
"message": 1
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
Vendored
+1884
-21525
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,66 @@
|
||||
{
|
||||
"problemMatcher": [
|
||||
{
|
||||
"owner": "erlc-warning",
|
||||
"severity": "warning",
|
||||
"pattern": [
|
||||
{
|
||||
"regexp": "^(\\S+):(\\d+):(\\d+): [wW]arning: (.+)$",
|
||||
"file": 1,
|
||||
"line": 2,
|
||||
"column": 3,
|
||||
"message": 4
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"owner": "erlc-error",
|
||||
"severity": "error",
|
||||
"pattern": [
|
||||
{
|
||||
"regexp": "^(\\S+):(\\d+):(\\d+): (?![wW]arning)(.+)$",
|
||||
"file": 1,
|
||||
"line": 2,
|
||||
"column": 3,
|
||||
"message": 4
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"owner": "ct-failure",
|
||||
"severity": "error",
|
||||
"pattern": [
|
||||
{
|
||||
"regexp": "^(\\S+) failed on line (\\d+)$",
|
||||
"file": 1,
|
||||
"line": 2
|
||||
},
|
||||
{
|
||||
"regexp": "^Reason: (.+)$",
|
||||
"message": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"owner": "eunit-failure",
|
||||
"severity": "error",
|
||||
"pattern": [
|
||||
{
|
||||
"regexp": "^\\S+: .+\\.\\.\\.\\*failed\\*$"
|
||||
},
|
||||
{
|
||||
"regexp": "^in function .+ \\((.+), line (\\d+)\\)$",
|
||||
"file": 1,
|
||||
"line": 2
|
||||
},
|
||||
{
|
||||
"regexp": "^in call from .+$"
|
||||
},
|
||||
{
|
||||
"regexp": "^\\*\\*error:(.+)$",
|
||||
"message": 1
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
Generated
+173
-142
@@ -10,24 +10,23 @@
|
||||
"@actions/core": "3.0.0",
|
||||
"@actions/exec": "3.0.0",
|
||||
"@actions/tool-cache": "4.0.0",
|
||||
"csv-parse": "6.1.0",
|
||||
"lodash": "4.17.23",
|
||||
"csv-parse": "7.0.1",
|
||||
"semver": "7.7.4",
|
||||
"toml": "3.0.0"
|
||||
"smol-toml": "1.7.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@eslint/js": "10.0.1",
|
||||
"@vercel/ncc": "0.38.4",
|
||||
"eslint": "10.0.3",
|
||||
"eslint-plugin-yml": "3.3.1",
|
||||
"globals": "17.4.0",
|
||||
"markdownlint-cli": "0.48.0",
|
||||
"prettier": "3.8.1",
|
||||
"@vercel/ncc": "0.44.1",
|
||||
"eslint": "10.6.0",
|
||||
"eslint-plugin-yml": "3.5.0",
|
||||
"globals": "17.7.0",
|
||||
"markdownlint-cli": "0.49.0",
|
||||
"prettier": "3.9.4",
|
||||
"shellcheck": "4.1.0",
|
||||
"yarn": "1.22.22"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=20"
|
||||
"node": ">=24"
|
||||
}
|
||||
},
|
||||
"node_modules/@actions/core": {
|
||||
@@ -132,13 +131,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@eslint/config-array": {
|
||||
"version": "0.23.3",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.23.3.tgz",
|
||||
"integrity": "sha512-j+eEWmB6YYLwcNOdlwQ6L2OsptI/LO6lNBuLIqe5R7RetD658HLoF+Mn7LzYmAWWNNzdC6cqP+L6r8ujeYXWLw==",
|
||||
"version": "0.23.5",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.23.5.tgz",
|
||||
"integrity": "sha512-Y3kKLvC1dvTOT+oGlqNQ1XLqK6D1HU2YXPc52NmAlJZbMMWDzGYXMiPRJ8TYD39muD/OTjlZmNJ4ib7dvSrMBA==",
|
||||
"dev": true,
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@eslint/object-schema": "^3.0.3",
|
||||
"@eslint/object-schema": "^3.0.5",
|
||||
"debug": "^4.3.1",
|
||||
"minimatch": "^10.2.4"
|
||||
},
|
||||
@@ -147,22 +146,22 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@eslint/config-helpers": {
|
||||
"version": "0.5.2",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.5.2.tgz",
|
||||
"integrity": "sha512-a5MxrdDXEvqnIq+LisyCX6tQMPF/dSJpCfBgBauY+pNZ28yCtSsTvyTYrMhaI+LK26bVyCJfJkT0u8KIj2i1dQ==",
|
||||
"version": "0.6.0",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.6.0.tgz",
|
||||
"integrity": "sha512-ii6Bw9jJ2zi2cWA2Z+9/QZ/+3DX6kwaV5Q986D/CdP3Lap3w/pgQZ373FV7byY/i7L4IRH/G43I5dz1ClsCbpA==",
|
||||
"dev": true,
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@eslint/core": "^1.1.0"
|
||||
"@eslint/core": "^1.2.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^20.19.0 || ^22.13.0 || >=24"
|
||||
}
|
||||
},
|
||||
"node_modules/@eslint/core": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/core/-/core-1.1.1.tgz",
|
||||
"integrity": "sha512-QUPblTtE51/7/Zhfv8BDwO0qkkzQL7P/aWWbqcf4xWLEYn1oKjdO0gglQBB4GAsu7u6wjijbCmzsUTy6mnk6oQ==",
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/core/-/core-1.2.1.tgz",
|
||||
"integrity": "sha512-MwcE1P+AZ4C6DWlpin/OmOA54mmIZ/+xZuJiQd4SyB29oAJjN30UW9wkKNptW2ctp4cEsvhlLY/CsQ1uoHDloQ==",
|
||||
"dev": true,
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
@@ -194,9 +193,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@eslint/object-schema": {
|
||||
"version": "3.0.3",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-3.0.3.tgz",
|
||||
"integrity": "sha512-iM869Pugn9Nsxbh/YHRqYiqd23AmIbxJOcpUMOuWCVNdoQJ5ZtwL6h3t0bcZzJUlC3Dq9jCFCESBZnX0GTv7iQ==",
|
||||
"version": "3.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-3.0.5.tgz",
|
||||
"integrity": "sha512-vqTaUEgxzm+YDSdElad6PiRoX4t8VGDjCtt05zn4nU810UIx/uNEV7/lZJ6KwFThKZOzOxzXy48da+No7HZaMw==",
|
||||
"dev": true,
|
||||
"license": "Apache-2.0",
|
||||
"engines": {
|
||||
@@ -204,13 +203,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@eslint/plugin-kit": {
|
||||
"version": "0.6.1",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.6.1.tgz",
|
||||
"integrity": "sha512-iH1B076HoAshH1mLpHMgwdGeTs0CYwL0SPMkGuSebZrwBp16v415e9NZXg2jtrqPVQjf6IANe2Vtlr5KswtcZQ==",
|
||||
"version": "0.7.2",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.7.2.tgz",
|
||||
"integrity": "sha512-+CNAzxglkrpNf/kKywqQfk74QjtceuOE7Qm+AF8miRvPF/wmmK5+OJOgVh3AVTT3RP2mH3+FOaxlE5v72owk0A==",
|
||||
"dev": true,
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@eslint/core": "^1.1.1",
|
||||
"@eslint/core": "^1.2.1",
|
||||
"levn": "^0.4.1"
|
||||
},
|
||||
"engines": {
|
||||
@@ -325,9 +324,9 @@
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@types/debug": {
|
||||
"version": "4.1.12",
|
||||
"resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz",
|
||||
"integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==",
|
||||
"version": "4.1.13",
|
||||
"resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.13.tgz",
|
||||
"integrity": "sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@@ -377,9 +376,9 @@
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@vercel/ncc": {
|
||||
"version": "0.38.4",
|
||||
"resolved": "https://registry.npmjs.org/@vercel/ncc/-/ncc-0.38.4.tgz",
|
||||
"integrity": "sha512-8LwjnlP39s08C08J5NstzriPvW1SP8Zfpp1BvC2sI35kPeZnHfxVkCwu4/+Wodgnd60UtT1n8K8zw+Mp7J9JmQ==",
|
||||
"version": "0.44.1",
|
||||
"resolved": "https://registry.npmjs.org/@vercel/ncc/-/ncc-0.44.1.tgz",
|
||||
"integrity": "sha512-cUjIE5P2YY1n+Kt9rFIazMMpGoPn1Fic04rOmTkElMkiDP5oszGfERMpo2shVkFKDL7rVppdM2pqJKC59shQWQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"bin": {
|
||||
@@ -651,9 +650,9 @@
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/brace-expansion": {
|
||||
"version": "5.0.4",
|
||||
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.4.tgz",
|
||||
"integrity": "sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg==",
|
||||
"version": "5.0.5",
|
||||
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz",
|
||||
"integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@@ -807,13 +806,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/commander": {
|
||||
"version": "14.0.3",
|
||||
"resolved": "https://registry.npmjs.org/commander/-/commander-14.0.3.tgz",
|
||||
"integrity": "sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw==",
|
||||
"version": "15.0.0",
|
||||
"resolved": "https://registry.npmjs.org/commander/-/commander-15.0.0.tgz",
|
||||
"integrity": "sha512-z67u4ZhzCL/Tydu1lJARtEZYWbWaN7oYLHbsuzocr6y4N6WZAagG3RQ4FW61V1/0+jImpj293XfrcYnd1qxtPg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=20"
|
||||
"node": ">=22.12.0"
|
||||
}
|
||||
},
|
||||
"node_modules/core-util-is": {
|
||||
@@ -839,9 +838,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/csv-parse": {
|
||||
"version": "6.1.0",
|
||||
"resolved": "https://registry.npmjs.org/csv-parse/-/csv-parse-6.1.0.tgz",
|
||||
"integrity": "sha512-CEE+jwpgLn+MmtCpVcPtiCZpVtB6Z2OKPTr34pycYYoL7sxdOkXDdQ4lRiw6ioC0q6BLqhc6cKweCVvral8yhw==",
|
||||
"version": "7.0.1",
|
||||
"resolved": "https://registry.npmjs.org/csv-parse/-/csv-parse-7.0.1.tgz",
|
||||
"integrity": "sha512-+2z7Ar0APQ7Uu6fX4cn+pitRmxjZ1WPBcGmZFKmA74FCyi7Et/XZx8cjNQ5CjbZ4HCOxXCOpRBYvYH08Qa003A==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/debug": {
|
||||
@@ -1272,18 +1271,21 @@
|
||||
}
|
||||
},
|
||||
"node_modules/eslint": {
|
||||
"version": "10.0.3",
|
||||
"resolved": "https://registry.npmjs.org/eslint/-/eslint-10.0.3.tgz",
|
||||
"integrity": "sha512-COV33RzXZkqhG9P2rZCFl9ZmJ7WL+gQSCRzE7RhkbclbQPtLAWReL7ysA0Sh4c8Im2U9ynybdR56PV0XcKvqaQ==",
|
||||
"version": "10.6.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint/-/eslint-10.6.0.tgz",
|
||||
"integrity": "sha512-6lVbcqSodALYo+4ELD0heG6lFiFxnLMuLkiMi2qV8LMp54N8tE8FT1GMH+ev4Ti00nFjNze2+Su6DsV5OQW3Dg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"workspaces": [
|
||||
"packages/*"
|
||||
],
|
||||
"dependencies": {
|
||||
"@eslint-community/eslint-utils": "^4.8.0",
|
||||
"@eslint-community/regexpp": "^4.12.2",
|
||||
"@eslint/config-array": "^0.23.3",
|
||||
"@eslint/config-helpers": "^0.5.2",
|
||||
"@eslint/core": "^1.1.1",
|
||||
"@eslint/plugin-kit": "^0.6.1",
|
||||
"@eslint/config-array": "^0.23.5",
|
||||
"@eslint/config-helpers": "^0.6.0",
|
||||
"@eslint/core": "^1.2.1",
|
||||
"@eslint/plugin-kit": "^0.7.2",
|
||||
"@humanfs/node": "^0.16.6",
|
||||
"@humanwhocodes/module-importer": "^1.0.1",
|
||||
"@humanwhocodes/retry": "^0.4.2",
|
||||
@@ -1294,7 +1296,7 @@
|
||||
"escape-string-regexp": "^4.0.0",
|
||||
"eslint-scope": "^9.1.2",
|
||||
"eslint-visitor-keys": "^5.0.1",
|
||||
"espree": "^11.1.1",
|
||||
"espree": "^11.2.0",
|
||||
"esquery": "^1.7.0",
|
||||
"esutils": "^2.0.2",
|
||||
"fast-deep-equal": "^3.1.3",
|
||||
@@ -1328,16 +1330,15 @@
|
||||
}
|
||||
},
|
||||
"node_modules/eslint-plugin-yml": {
|
||||
"version": "3.3.1",
|
||||
"resolved": "https://registry.npmjs.org/eslint-plugin-yml/-/eslint-plugin-yml-3.3.1.tgz",
|
||||
"integrity": "sha512-isntsZchaTqDMNNkD+CakrgA/pdUoJ45USWBKpuqfAW1MCuw731xX/vrXfoJFZU3tTFr24nCbDYmDfT2+g4QtQ==",
|
||||
"version": "3.5.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint-plugin-yml/-/eslint-plugin-yml-3.5.0.tgz",
|
||||
"integrity": "sha512-u2UkSIp/+th1wYCt0QWeCI6agf24dxX6PbFfCCN18gGQHmXh3Cn9D/U5OiP5RNYTEwjXCLusj1OJRK+zwdvFqQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@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",
|
||||
"debug": "^4.3.2",
|
||||
"diff-sequences": "^29.0.0",
|
||||
"escape-string-regexp": "5.0.0",
|
||||
"natural-compare": "^1.4.0",
|
||||
@@ -1399,9 +1400,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/espree": {
|
||||
"version": "11.1.1",
|
||||
"resolved": "https://registry.npmjs.org/espree/-/espree-11.1.1.tgz",
|
||||
"integrity": "sha512-AVHPqQoZYc+RUM4/3Ly5udlZY/U4LS8pIG05jEjWM2lQMU/oaZ7qshzAl2YP1tfNmXfftH3ohurfwNAug+MnsQ==",
|
||||
"version": "11.2.0",
|
||||
"resolved": "https://registry.npmjs.org/espree/-/espree-11.2.0.tgz",
|
||||
"integrity": "sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw==",
|
||||
"dev": true,
|
||||
"license": "BSD-2-Clause",
|
||||
"dependencies": {
|
||||
@@ -1599,9 +1600,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/flatted": {
|
||||
"version": "3.3.4",
|
||||
"resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.4.tgz",
|
||||
"integrity": "sha512-3+mMldrTAPdta5kjX2G2J7iX4zxtnwpdA8Tr2ZSjkyPSanvbZAcy6flmtnXbEybHrDcU9641lxrMfFuUxVz9vA==",
|
||||
"version": "3.4.2",
|
||||
"resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.2.tgz",
|
||||
"integrity": "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==",
|
||||
"dev": true,
|
||||
"license": "ISC"
|
||||
},
|
||||
@@ -1639,9 +1640,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/get-east-asian-width": {
|
||||
"version": "1.5.0",
|
||||
"resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.5.0.tgz",
|
||||
"integrity": "sha512-CQ+bEO+Tva/qlmw24dCejulK5pMzVnUOFOijVogd3KQs07HnRIgp8TGipvCCRT06xeYEbpbgwaCxglFyiuIcmA==",
|
||||
"version": "1.6.0",
|
||||
"resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.6.0.tgz",
|
||||
"integrity": "sha512-QRbvDIbx6YklUe6RxeTeleMR0yv3cYH6PsPZHcnVn7xv7zO1BHN8r0XETu8n6Ye3Q+ahtSarc3WgtNWmehIBfA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
@@ -1735,9 +1736,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/globals": {
|
||||
"version": "17.4.0",
|
||||
"resolved": "https://registry.npmjs.org/globals/-/globals-17.4.0.tgz",
|
||||
"integrity": "sha512-hjrNztw/VajQwOLsMNT1cbJiH2muO3OROCHnbehc8eY5JyD2gqz4AcMHPqgaOR59DjgUjYAYLeH699g/eWi2jw==",
|
||||
"version": "17.7.0",
|
||||
"resolved": "https://registry.npmjs.org/globals/-/globals-17.7.0.tgz",
|
||||
"integrity": "sha512-Czmyns5dUsq4seFBR/Kdydhmo8y9kC79hiSkPn0YcGtNnYWnrgt0vjrSjx9tspoDGWm2CMarffRuLjM4xUz8xg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
@@ -2032,10 +2033,20 @@
|
||||
"license": "ISC"
|
||||
},
|
||||
"node_modules/js-yaml": {
|
||||
"version": "4.1.1",
|
||||
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz",
|
||||
"integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==",
|
||||
"version": "4.2.0",
|
||||
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.2.0.tgz",
|
||||
"integrity": "sha512-ePWsvanv0DWuDRsW8dnt+R4jQ31SCRCQ7hhNcPXZPsoBZiemuZNYGf7adZdqX2D86j6rvKp3RpCxVTSb8WQlOw==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/puzrin"
|
||||
},
|
||||
{
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/nodeca"
|
||||
}
|
||||
],
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"argparse": "^2.0.1"
|
||||
@@ -2090,9 +2101,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/katex": {
|
||||
"version": "0.16.33",
|
||||
"resolved": "https://registry.npmjs.org/katex/-/katex-0.16.33.tgz",
|
||||
"integrity": "sha512-q3N5u+1sY9Bu7T4nlXoiRBXWfwSefNGoKeOwekV+gw0cAXQlz2Ww6BLcmBxVDeXBMUDQv6fK5bcNaJLxob3ZQA==",
|
||||
"version": "0.16.47",
|
||||
"resolved": "https://registry.npmjs.org/katex/-/katex-0.16.47.tgz",
|
||||
"integrity": "sha512-Eeo8Ys1doU1z+x8AZsPpQu+p/QcZBI5PeOo7QGQdy2x2m0MU/hYagBbGOmXwr5KVbEfVuWv9LpnQWeehogurjg==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
"https://opencollective.com/katex",
|
||||
@@ -2141,10 +2152,20 @@
|
||||
}
|
||||
},
|
||||
"node_modules/linkify-it": {
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.0.tgz",
|
||||
"integrity": "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==",
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.1.tgz",
|
||||
"integrity": "sha512-wVoTjP4Q6R0NW5hiZkVJaFZPWgtXfoGF+6LucL3/FtiNjmcHhYjEr5f1Kqjirc1nBW07J/ZuRFumqr2oqccEWg==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/puzrin"
|
||||
},
|
||||
{
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/markdown-it"
|
||||
}
|
||||
],
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"uc.micro": "^2.0.0"
|
||||
@@ -2166,12 +2187,6 @@
|
||||
"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": {
|
||||
"version": "1.3.0",
|
||||
"resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz",
|
||||
@@ -2196,15 +2211,25 @@
|
||||
}
|
||||
},
|
||||
"node_modules/markdown-it": {
|
||||
"version": "14.1.1",
|
||||
"resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.1.tgz",
|
||||
"integrity": "sha512-BuU2qnTti9YKgK5N+IeMubp14ZUKUUw7yeJbkjtosvHiP0AZ5c8IAgEMk79D0eC8F23r4Ac/q8cAIFdm2FtyoA==",
|
||||
"version": "14.2.0",
|
||||
"resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.2.0.tgz",
|
||||
"integrity": "sha512-1TGiQiJVRQ3NPmZH6sx5Cfnmg6GQm9jvC1ch4TK511NjSJvjzKLzn5pPfZRNZkRPZP0HqCioSndqH8v2nRaWVQ==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/puzrin"
|
||||
},
|
||||
{
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/markdown-it"
|
||||
}
|
||||
],
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"argparse": "^2.0.1",
|
||||
"entities": "^4.4.0",
|
||||
"linkify-it": "^5.0.0",
|
||||
"linkify-it": "^5.0.1",
|
||||
"mdurl": "^2.0.0",
|
||||
"punycode.js": "^2.3.1",
|
||||
"uc.micro": "^2.1.0"
|
||||
@@ -2214,9 +2239,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/markdownlint": {
|
||||
"version": "0.40.0",
|
||||
"resolved": "https://registry.npmjs.org/markdownlint/-/markdownlint-0.40.0.tgz",
|
||||
"integrity": "sha512-UKybllYNheWac61Ia7T6fzuQNDZimFIpCg2w6hHjgV1Qu0w1TV0LlSgryUGzM0bkKQCBhy2FDhEELB73Kb0kAg==",
|
||||
"version": "0.41.0",
|
||||
"resolved": "https://registry.npmjs.org/markdownlint/-/markdownlint-0.41.0.tgz",
|
||||
"integrity": "sha512-xMUI3ChBuRuxuLF4ENvCZyS8z/+Jly1coUcZwErKLIB3sDj7ojpaTBa1e9YVPhSN4jGEIjYGQCldbTJS/hqS+A==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@@ -2228,40 +2253,40 @@
|
||||
"micromark-extension-gfm-table": "2.1.1",
|
||||
"micromark-extension-math": "3.1.0",
|
||||
"micromark-util-types": "2.0.2",
|
||||
"string-width": "8.1.0"
|
||||
"string-width": "8.2.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=20"
|
||||
"node": ">=22"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/DavidAnson"
|
||||
}
|
||||
},
|
||||
"node_modules/markdownlint-cli": {
|
||||
"version": "0.48.0",
|
||||
"resolved": "https://registry.npmjs.org/markdownlint-cli/-/markdownlint-cli-0.48.0.tgz",
|
||||
"integrity": "sha512-NkZQNu2E0Q5qLEEHwWj674eYISTLD4jMHkBzDobujXd1kv+yCxi8jOaD/rZoQNW1FBBMMGQpuW5So8B51N/e0A==",
|
||||
"version": "0.49.0",
|
||||
"resolved": "https://registry.npmjs.org/markdownlint-cli/-/markdownlint-cli-0.49.0.tgz",
|
||||
"integrity": "sha512-vS5tWq5W91Gg33LD4pyAaXPclnz/sRvo6/RGOyDQjQ3eds2DkK6H4szUuE0M9TiRB/u/VBx1gtd9Ktrtx5WlSA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"commander": "~14.0.3",
|
||||
"commander": "~15.0.0",
|
||||
"deep-extend": "~0.6.0",
|
||||
"ignore": "~7.0.5",
|
||||
"js-yaml": "~4.1.1",
|
||||
"js-yaml": "~4.2.0",
|
||||
"jsonc-parser": "~3.3.1",
|
||||
"jsonpointer": "~5.0.1",
|
||||
"markdown-it": "~14.1.1",
|
||||
"markdownlint": "~0.40.0",
|
||||
"minimatch": "~10.2.4",
|
||||
"markdown-it": "~14.2.0",
|
||||
"markdownlint": "~0.41.0",
|
||||
"minimatch": "~10.2.5",
|
||||
"run-con": "~1.3.2",
|
||||
"smol-toml": "~1.6.0",
|
||||
"tinyglobby": "~0.2.15"
|
||||
"smol-toml": "~1.6.1",
|
||||
"tinyglobby": "~0.2.17"
|
||||
},
|
||||
"bin": {
|
||||
"markdownlint": "markdownlint.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=20"
|
||||
"node": ">=22"
|
||||
}
|
||||
},
|
||||
"node_modules/markdownlint-cli/node_modules/ignore": {
|
||||
@@ -2274,6 +2299,19 @@
|
||||
"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": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz",
|
||||
@@ -2841,13 +2879,13 @@
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/minimatch": {
|
||||
"version": "10.2.4",
|
||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.4.tgz",
|
||||
"integrity": "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==",
|
||||
"version": "10.2.5",
|
||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz",
|
||||
"integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==",
|
||||
"dev": true,
|
||||
"license": "BlueOak-1.0.0",
|
||||
"dependencies": {
|
||||
"brace-expansion": "^5.0.2"
|
||||
"brace-expansion": "^5.0.5"
|
||||
},
|
||||
"engines": {
|
||||
"node": "18 || 20 || >=22"
|
||||
@@ -3008,9 +3046,9 @@
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/picomatch": {
|
||||
"version": "4.0.3",
|
||||
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
|
||||
"integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
|
||||
"version": "4.0.4",
|
||||
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz",
|
||||
"integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
@@ -3074,9 +3112,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/prettier": {
|
||||
"version": "3.8.1",
|
||||
"resolved": "https://registry.npmjs.org/prettier/-/prettier-3.8.1.tgz",
|
||||
"integrity": "sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==",
|
||||
"version": "3.9.4",
|
||||
"resolved": "https://registry.npmjs.org/prettier/-/prettier-3.9.4.tgz",
|
||||
"integrity": "sha512-yWG/o/4oJfo036EKAfK6ACAoDOfHeRHx4tuxkfBZiauURiaSmYwlpOr5LQqKtIkRD2z1PLteme2WoxEnj4tHTg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"bin": {
|
||||
@@ -3312,10 +3350,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/smol-toml": {
|
||||
"version": "1.6.0",
|
||||
"resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.6.0.tgz",
|
||||
"integrity": "sha512-4zemZi0HvTnYwLfrpk/CF9LOd9Lt87kAt50GnqhMpyF9U3poDAP2+iukq2bZsO/ufegbYehBkqINbsWxj4l4cw==",
|
||||
"dev": true,
|
||||
"version": "1.7.0",
|
||||
"resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.7.0.tgz",
|
||||
"integrity": "sha512-aqVvWoyO21L23mb+drl4RmMXbf6N7FdHjAhTRA9ZBL7apWBgfWC16KjrASI+1p9GAroljyMHj6fK67i0UiTNvQ==",
|
||||
"license": "BSD-3-Clause",
|
||||
"engines": {
|
||||
"node": ">= 18"
|
||||
@@ -3361,14 +3398,14 @@
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/string-width": {
|
||||
"version": "8.1.0",
|
||||
"resolved": "https://registry.npmjs.org/string-width/-/string-width-8.1.0.tgz",
|
||||
"integrity": "sha512-Kxl3KJGb/gxkaUMOjRsQ8IrXiGW75O4E3RPjFIINOVH8AMl2SQ/yWdTzWwF3FevIX9LcMAjJW+GRwAlAbTSXdg==",
|
||||
"version": "8.2.1",
|
||||
"resolved": "https://registry.npmjs.org/string-width/-/string-width-8.2.1.tgz",
|
||||
"integrity": "sha512-IIaP0g3iy9Cyy18w3M9YcaDudujEAVHKt3a3QJg1+sr/oX96TbaGUubG0hJyCjCBThFH+tFpcIyoUHUn1ogaLA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"get-east-asian-width": "^1.3.0",
|
||||
"strip-ansi": "^7.1.0"
|
||||
"get-east-asian-width": "^1.5.0",
|
||||
"strip-ansi": "^7.1.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=20"
|
||||
@@ -3474,14 +3511,14 @@
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/tinyglobby": {
|
||||
"version": "0.2.15",
|
||||
"resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz",
|
||||
"integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==",
|
||||
"version": "0.2.17",
|
||||
"resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz",
|
||||
"integrity": "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"fdir": "^6.5.0",
|
||||
"picomatch": "^4.0.3"
|
||||
"picomatch": "^4.0.4"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=12.0.0"
|
||||
@@ -3531,12 +3568,6 @@
|
||||
"url": "https://github.com/sponsors/Borewit"
|
||||
}
|
||||
},
|
||||
"node_modules/toml": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/toml/-/toml-3.0.0.tgz",
|
||||
"integrity": "sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/tslib": {
|
||||
"version": "2.8.1",
|
||||
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
|
||||
@@ -3626,9 +3657,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/undici": {
|
||||
"version": "6.23.0",
|
||||
"resolved": "https://registry.npmjs.org/undici/-/undici-6.23.0.tgz",
|
||||
"integrity": "sha512-VfQPToRA5FZs/qJxLIinmU59u0r7LXqoJkCzinq3ckNJp3vKEh7jTWN589YQ5+aoAC/TGRLyJLCPKcLQbM8r9g==",
|
||||
"version": "6.27.0",
|
||||
"resolved": "https://registry.npmjs.org/undici/-/undici-6.27.0.tgz",
|
||||
"integrity": "sha512-YmfV3YnEDzXRC5lZ2jWtWWHKGUm1zIt8AhesR1tens+HTNv+YZlN/dp6G727LOvMJ8xjP9Be7Y2Sdr96LDm+pg==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=18.17"
|
||||
@@ -3727,9 +3758,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/yaml": {
|
||||
"version": "2.8.2",
|
||||
"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.2.tgz",
|
||||
"integrity": "sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==",
|
||||
"version": "2.8.3",
|
||||
"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.3.tgz",
|
||||
"integrity": "sha512-AvbaCLOO2Otw/lW5bmh9d/WEdcDFdQp2Z2ZUH3pX9U2ihyUY0nvLv7J6TrWowklRGPYbB/IuIMfYgxaCPg5Bpg==",
|
||||
"dev": true,
|
||||
"license": "ISC",
|
||||
"bin": {
|
||||
@@ -3775,9 +3806,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/yauzl": {
|
||||
"version": "3.2.0",
|
||||
"resolved": "https://registry.npmjs.org/yauzl/-/yauzl-3.2.0.tgz",
|
||||
"integrity": "sha512-Ow9nuGZE+qp1u4JIPvg+uCiUr7xGQWdff7JQSk5VGYTAZMDe2q8lxJ10ygv10qmSj031Ty/6FNJpLO4o1Sgc+w==",
|
||||
"version": "3.2.1",
|
||||
"resolved": "https://registry.npmjs.org/yauzl/-/yauzl-3.2.1.tgz",
|
||||
"integrity": "sha512-k1isifdbpNSFEHFJ1ZY4YDewv0IH9FR61lDetaRMD3j2ae3bIXGV+7c+LHCqtQGofSd8PIyV4X6+dHMAnSr60A==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
|
||||
+9
-10
@@ -20,23 +20,22 @@
|
||||
"@actions/core": "3.0.0",
|
||||
"@actions/exec": "3.0.0",
|
||||
"@actions/tool-cache": "4.0.0",
|
||||
"csv-parse": "6.1.0",
|
||||
"lodash": "4.17.23",
|
||||
"csv-parse": "7.0.1",
|
||||
"semver": "7.7.4",
|
||||
"toml": "3.0.0"
|
||||
"smol-toml": "1.7.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@eslint/js": "10.0.1",
|
||||
"@vercel/ncc": "0.38.4",
|
||||
"eslint": "10.0.3",
|
||||
"eslint-plugin-yml": "3.3.1",
|
||||
"globals": "17.4.0",
|
||||
"markdownlint-cli": "0.48.0",
|
||||
"prettier": "3.8.1",
|
||||
"@vercel/ncc": "0.44.1",
|
||||
"eslint": "10.6.0",
|
||||
"eslint-plugin-yml": "3.5.0",
|
||||
"globals": "17.7.0",
|
||||
"markdownlint-cli": "0.49.0",
|
||||
"prettier": "3.9.4",
|
||||
"shellcheck": "4.1.0",
|
||||
"yarn": "1.22.22"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=20"
|
||||
"node": ">=24"
|
||||
}
|
||||
}
|
||||
|
||||
+56
-21
@@ -7,8 +7,7 @@ import { exec } from '@actions/exec'
|
||||
import * as tc from '@actions/tool-cache'
|
||||
import * as semver from 'semver'
|
||||
import * as csv from 'csv-parse/sync'
|
||||
import _ from 'lodash'
|
||||
import toml from 'toml'
|
||||
import toml from 'smol-toml'
|
||||
|
||||
const __dirname = path.dirname(fileURLToPath(import.meta.url))
|
||||
|
||||
@@ -58,7 +57,7 @@ async function main() {
|
||||
await maybeInstallRebar3(rebar3Spec)
|
||||
|
||||
// undefined is replaced by a function, post- main branch merge
|
||||
const setupBeamVersion = '98c13a9'
|
||||
const setupBeamVersion = 'f4f179b'
|
||||
core.setOutput('setup-beam-version', setupBeamVersion)
|
||||
}
|
||||
|
||||
@@ -80,6 +79,7 @@ async function installOTP(otpSpec) {
|
||||
},
|
||||
})
|
||||
core.setOutput('otp-version', otpVersion)
|
||||
maybeEnableProblemMatchers('erlang')
|
||||
core.endGroup()
|
||||
|
||||
return otpVersion
|
||||
@@ -101,7 +101,7 @@ async function maybeInstallElixir(elixirSpec) {
|
||||
},
|
||||
})
|
||||
core.setOutput('elixir-version', elixirVersion)
|
||||
maybeEnableElixirProblemMatchers()
|
||||
maybeEnableProblemMatchers('elixir')
|
||||
core.endGroup()
|
||||
|
||||
installed = true
|
||||
@@ -110,14 +110,18 @@ async function maybeInstallElixir(elixirSpec) {
|
||||
return installed
|
||||
}
|
||||
|
||||
function maybeEnableElixirProblemMatchers() {
|
||||
const disableProblemMatchers = getInput('disable_problem_matchers', false)
|
||||
if (disableProblemMatchers === 'false') {
|
||||
// path.join helps ncc figure this out
|
||||
const elixirMatchers = path.join(
|
||||
`${__dirname}/../matchers/elixir-matchers.json`,
|
||||
)
|
||||
core.info(`##[add-matcher]${elixirMatchers}`)
|
||||
function problemMatchersEnabled() {
|
||||
return getInput('disable_problem_matchers', false) === 'false'
|
||||
}
|
||||
|
||||
// path.join with static strings helps ncc resolve and bundle the JSON files
|
||||
function maybeEnableProblemMatchers(language) {
|
||||
if (problemMatchersEnabled()) {
|
||||
const matcherFiles = {
|
||||
erlang: path.join(`${__dirname}/../matchers/erlang-matchers.json`),
|
||||
elixir: path.join(`${__dirname}/../matchers/elixir-matchers.json`),
|
||||
}
|
||||
core.info(`##[add-matcher]${matcherFiles[language]}`)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -275,7 +279,7 @@ async function getElixirVersion(exSpec0) {
|
||||
if (!foundCombo) {
|
||||
throw new Error(
|
||||
`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: ' +
|
||||
'https://hexdocs.pm/elixir/compatibility-and-deprecations.html',
|
||||
)
|
||||
@@ -373,9 +377,7 @@ async function getOTPVersions(osVersion) {
|
||||
})
|
||||
} else if (process.platform === 'win32') {
|
||||
const otpArch = otpArchitecture()
|
||||
const file_regex = new RegExp(
|
||||
`^otp_win${_.escapeRegExp(otpArch)}_(.*).exe$`,
|
||||
)
|
||||
const file_regex = new RegExp(`^otp_win${RegExp.escape(otpArch)}_(.*).exe$`)
|
||||
otpVersionsListings.forEach((otpVersionsListing) => {
|
||||
otpVersionsListing
|
||||
.map((x) => x.assets)
|
||||
@@ -656,19 +658,30 @@ function getRunnerOSArchitecture() {
|
||||
|
||||
function getRunnerOSVersion() {
|
||||
// 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 = {
|
||||
ubuntu22: 'ubuntu-22.04',
|
||||
'ubuntu22-arm64': 'ubuntu-22.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',
|
||||
win25: 'windows-2025',
|
||||
macos13: 'macOS-13',
|
||||
'win25-vs2026': 'windows-2025',
|
||||
macos14: 'macOS-14',
|
||||
macos15: 'macOS-15',
|
||||
macos26: 'macOS-26',
|
||||
}
|
||||
const deprecatedImageOSToContainer = {
|
||||
ubuntu18: 'ubuntu-18.04',
|
||||
ubuntu20: 'ubuntu-20.04',
|
||||
win19: 'windows-2019',
|
||||
macos13: 'macOS-13',
|
||||
}
|
||||
const containerFromEnvImageOS = ImageOSToContainer[process.env.ImageOS]
|
||||
if (!containerFromEnvImageOS) {
|
||||
@@ -966,7 +979,7 @@ async function install(toolName, opts) {
|
||||
const otpArch = otpArchitecture()
|
||||
return (
|
||||
'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'],
|
||||
@@ -1050,12 +1063,14 @@ async function install(toolName, opts) {
|
||||
tool: 'Gleam',
|
||||
linux: {
|
||||
downloadToolURL: () => {
|
||||
const arch = getRunnerOSArchitecture()
|
||||
let gz
|
||||
if (
|
||||
versionSpec === 'nightly' ||
|
||||
semver.gt(versionSpec, 'v0.22.1')
|
||||
) {
|
||||
gz = `gleam-${versionSpec}-x86_64-unknown-linux-musl.tar.gz`
|
||||
const target = arch === 'arm64' ? 'aarch64' : 'x86_64'
|
||||
gz = `gleam-${versionSpec}-${target}-unknown-linux-musl.tar.gz`
|
||||
} else {
|
||||
gz = `gleam-${versionSpec}-linux-amd64.tar.gz`
|
||||
}
|
||||
@@ -1119,7 +1134,26 @@ async function install(toolName, opts) {
|
||||
},
|
||||
},
|
||||
}
|
||||
installOpts.darwin = installOpts.linux
|
||||
installOpts.darwin = {
|
||||
downloadToolURL: () => {
|
||||
const arch = getRunnerOSArchitecture()
|
||||
let gz
|
||||
if (versionSpec === 'nightly' || semver.gt(versionSpec, 'v0.22.1')) {
|
||||
const target = arch === 'arm64' ? 'aarch64' : 'x86_64'
|
||||
gz = `gleam-${versionSpec}-${target}-apple-darwin.tar.gz`
|
||||
} else {
|
||||
gz =
|
||||
arch === 'arm64'
|
||||
? `gleam-${versionSpec}-macos-arm64.tar.gz`
|
||||
: `gleam-${versionSpec}-macos.tar.gz`
|
||||
}
|
||||
|
||||
return `https://github.com/gleam-lang/gleam/releases/download/${versionSpec}/${gz}`
|
||||
},
|
||||
extract: installOpts.linux.extract,
|
||||
postExtract: installOpts.linux.postExtract,
|
||||
reportVersion: installOpts.linux.reportVersion,
|
||||
}
|
||||
break
|
||||
case 'rebar3':
|
||||
installOpts = {
|
||||
@@ -1272,6 +1306,7 @@ export default {
|
||||
getGleamVersion,
|
||||
getOTPVersion,
|
||||
getRebar3Version,
|
||||
getRunnerOSVersion,
|
||||
getVersionFromSpec,
|
||||
githubAMDRunnerArchs,
|
||||
githubARMRunnerArchs,
|
||||
|
||||
@@ -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
File diff suppressed because it is too large
Load Diff
+200
-40
@@ -1,3 +1,15 @@
|
||||
import assert from 'node:assert'
|
||||
import http from 'node:http'
|
||||
import fs from 'node:fs'
|
||||
import os from 'node:os'
|
||||
import path from 'node:path'
|
||||
import { describe, it } from 'node:test'
|
||||
import * as csv from 'csv-parse/sync'
|
||||
import elixirMatchers from '../matchers/elixir-matchers.json' with { type: 'json' }
|
||||
import erlangMatchers from '../matchers/erlang-matchers.json' with { type: 'json' }
|
||||
const { problemMatcher } = elixirMatchers
|
||||
const { problemMatcher: erlangProblemMatcher } = erlangMatchers
|
||||
|
||||
process.env.NODE_ENV = 'test'
|
||||
|
||||
simulateInput('otp-version', '25.1.2')
|
||||
@@ -9,16 +21,7 @@ simulateInput('install-hex', 'true')
|
||||
simulateInput('github-token', process.env.GITHUB_TOKEN)
|
||||
simulateInput('hexpm-mirrors', 'https://builds.hex.pm', { multiline: true })
|
||||
|
||||
import assert from 'node:assert'
|
||||
import http from 'node:http'
|
||||
import fs from 'node:fs'
|
||||
import os from 'node:os'
|
||||
import path from 'node:path'
|
||||
import { describe, it } from 'node:test'
|
||||
import * as csv from 'csv-parse/sync'
|
||||
import setupBeam from '../src/setup-beam.js'
|
||||
import elixirMatchers from '../matchers/elixir-matchers.json' with { type: 'json' }
|
||||
const { problemMatcher } = elixirMatchers
|
||||
const { default: setupBeam } = await import('../src/setup-beam.js')
|
||||
|
||||
const matrix = {
|
||||
otp: {
|
||||
@@ -26,6 +29,7 @@ const matrix = {
|
||||
'ubuntu-20.04': parseBuild('test/otp/ubuntu-20.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-26.04': parseBuild('test/otp/ubuntu-26.04/builds.txt'),
|
||||
windows: parseReleases('test/otp/releases.json'),
|
||||
'macos-aarch64': parseCsv('test/otp/macos/aarch64-apple-darwin.csv'),
|
||||
'macos-x86_64': parseCsv('test/otp/macos/x86_64-apple-darwin.csv'),
|
||||
@@ -174,11 +178,8 @@ describe('.getOTPVersion(_) - Erlang', () => {
|
||||
'https://repo.hex.pm, https://cdn.jsdelivr.net/hex',
|
||||
{ multiline: true },
|
||||
)
|
||||
const previousRunnerArch = process.env.RUNNER_ARCH
|
||||
|
||||
if (process.platform === 'linux') {
|
||||
process.env.RUNNER_ARCH = 'X64'
|
||||
|
||||
it('is Ok for known linux version', async () => {
|
||||
before = simulateInput('version-type', 'strict')
|
||||
spec = '27.0'
|
||||
@@ -188,6 +189,14 @@ describe('.getOTPVersion(_) - Erlang', () => {
|
||||
assert.deepStrictEqual(got, expected)
|
||||
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')
|
||||
spec = '25.3.2.1'
|
||||
osVersion = 'ubuntu-20.04'
|
||||
@@ -196,21 +205,21 @@ describe('.getOTPVersion(_) - Erlang', () => {
|
||||
assert.deepStrictEqual(got, expected)
|
||||
simulateInput('version-type', before)
|
||||
|
||||
spec = '19.3.x'
|
||||
osVersion = 'ubuntu-16.04'
|
||||
expected = 'OTP-19.3.6.13'
|
||||
spec = '20.3.x'
|
||||
osVersion = 'ubuntu-20.04'
|
||||
expected = 'OTP-20.3.8.26'
|
||||
got = await setupBeam.getOTPVersion(spec, osVersion)
|
||||
assert.deepStrictEqual(got, expected)
|
||||
|
||||
spec = '^19.3.6'
|
||||
osVersion = 'ubuntu-16.04'
|
||||
expected = 'OTP-19.3.6.13'
|
||||
spec = '^20.3.8'
|
||||
osVersion = 'ubuntu-20.04'
|
||||
expected = 'OTP-20.3.8.26'
|
||||
got = await setupBeam.getOTPVersion(spec, osVersion)
|
||||
assert.deepStrictEqual(got, expected)
|
||||
|
||||
spec = '^19.3'
|
||||
osVersion = 'ubuntu-18.04'
|
||||
expected = 'OTP-19.3.6.13'
|
||||
spec = '^20.3'
|
||||
osVersion = 'ubuntu-20.04'
|
||||
expected = 'OTP-20.3.8.26'
|
||||
got = await setupBeam.getOTPVersion(spec, osVersion)
|
||||
assert.deepStrictEqual(got, expected)
|
||||
|
||||
@@ -273,7 +282,7 @@ describe('.getOTPVersion(_) - Erlang', () => {
|
||||
assert.deepStrictEqual(got, expected)
|
||||
|
||||
spec = '23.0'
|
||||
osVersion = 'windows-2019'
|
||||
osVersion = 'windows-2022'
|
||||
expected = '23.0.4'
|
||||
got = await setupBeam.getOTPVersion(spec, osVersion)
|
||||
assert.deepStrictEqual(got, expected)
|
||||
@@ -294,7 +303,7 @@ describe('.getOTPVersion(_) - Erlang', () => {
|
||||
assert.deepStrictEqual(got, expected)
|
||||
|
||||
spec = '23.0'
|
||||
osVersion = 'windows-2019'
|
||||
osVersion = 'windows-2022'
|
||||
expected = '23.0.4'
|
||||
got = await setupBeam.getOTPVersion(spec, osVersion)
|
||||
assert.deepStrictEqual(got, expected)
|
||||
@@ -306,6 +315,7 @@ describe('.getOTPVersion(_) - Erlang', () => {
|
||||
if (process.platform === 'linux') {
|
||||
it('is main-... only if strict/maint-... is used as input', async () => {
|
||||
const arm64Options = setupBeam.githubARMRunnerArchs()
|
||||
const previousRunnerArch = process.env.RUNNER_ARCH
|
||||
process.env.RUNNER_ARCH =
|
||||
arm64Options[Math.floor(Math.random() * arm64Options.length)]
|
||||
|
||||
@@ -341,6 +351,7 @@ describe('.getOTPVersion(_) - Erlang', () => {
|
||||
|
||||
it('is Ok for known linux ARM64 version', async () => {
|
||||
const arm64Options = setupBeam.githubARMRunnerArchs()
|
||||
const previousRunnerArch = process.env.RUNNER_ARCH
|
||||
process.env.RUNNER_ARCH =
|
||||
arm64Options[Math.floor(Math.random() * arm64Options.length)]
|
||||
|
||||
@@ -401,10 +412,13 @@ describe('.getOTPVersion(_) - Erlang', () => {
|
||||
expected = 'master'
|
||||
got = await setupBeam.getOTPVersion(spec, osVersion)
|
||||
assert.deepStrictEqual(got, expected)
|
||||
|
||||
process.env.RUNNER_ARCH = previousRunnerArch
|
||||
})
|
||||
|
||||
it('is Ok for known linux AMD64 version', async () => {
|
||||
const amd64Options = setupBeam.githubAMDRunnerArchs()
|
||||
const previousRunnerArch = process.env.RUNNER_ARCH
|
||||
process.env.RUNNER_ARCH =
|
||||
amd64Options[Math.floor(Math.random() * amd64Options.length)]
|
||||
|
||||
@@ -483,12 +497,15 @@ describe('.getOTPVersion(_) - Erlang', () => {
|
||||
expected = 'master'
|
||||
got = await setupBeam.getOTPVersion(spec, osVersion)
|
||||
assert.deepStrictEqual(got, expected)
|
||||
|
||||
process.env.RUNNER_ARCH = previousRunnerArch
|
||||
})
|
||||
}
|
||||
|
||||
if (process.platform === 'darwin') {
|
||||
it('is main-... only if strict/maint-... is used as input', async () => {
|
||||
const arm64Options = setupBeam.githubARMRunnerArchs()
|
||||
const previousRunnerArch = process.env.RUNNER_ARCH
|
||||
process.env.RUNNER_ARCH =
|
||||
arm64Options[Math.floor(Math.random() * arm64Options.length)]
|
||||
|
||||
@@ -518,6 +535,7 @@ describe('.getOTPVersion(_) - Erlang', () => {
|
||||
|
||||
it('is Ok for known macos ARM64 version', async () => {
|
||||
const arm64Options = setupBeam.githubARMRunnerArchs()
|
||||
const previousRunnerArch = process.env.RUNNER_ARCH
|
||||
process.env.RUNNER_ARCH =
|
||||
arm64Options[Math.floor(Math.random() * arm64Options.length)]
|
||||
|
||||
@@ -528,10 +546,13 @@ describe('.getOTPVersion(_) - Erlang', () => {
|
||||
got = await setupBeam.getOTPVersion(spec, osVersion)
|
||||
assert.deepStrictEqual(got, expected)
|
||||
simulateInput('version-type', before)
|
||||
|
||||
process.env.RUNNER_ARCH = previousRunnerArch
|
||||
})
|
||||
|
||||
it('is Ok for known macos AMD64 version', async () => {
|
||||
const amd64Options = setupBeam.githubARMRunnerArchs()
|
||||
const previousRunnerArch = process.env.RUNNER_ARCH
|
||||
process.env.RUNNER_ARCH =
|
||||
amd64Options[Math.floor(Math.random() * amd64Options.length)]
|
||||
|
||||
@@ -542,11 +563,12 @@ describe('.getOTPVersion(_) - Erlang', () => {
|
||||
got = await setupBeam.getOTPVersion(spec, osVersion)
|
||||
assert.deepStrictEqual(got, expected)
|
||||
simulateInput('version-type', before)
|
||||
|
||||
process.env.RUNNER_ARCH = previousRunnerArch
|
||||
})
|
||||
}
|
||||
|
||||
simulateInput('hexpm-mirrors', hexMirrors, { multiline: true })
|
||||
process.env.RUNNER_ARCH = previousRunnerArch
|
||||
})
|
||||
|
||||
describe('OTP arch-specific install', () => {
|
||||
@@ -569,21 +591,57 @@ describe('OTP arch-specific install', () => {
|
||||
`Fetching OTP Version with invalid Github runner architecture is supposed to fail`,
|
||||
)
|
||||
}
|
||||
|
||||
process.env.RUNNER_ARCH = previousRunnerArch
|
||||
})
|
||||
})
|
||||
|
||||
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', () => {
|
||||
let got
|
||||
let expected
|
||||
let spec
|
||||
let otpVersion
|
||||
let before
|
||||
const previousRunnerArch = process.env.RUNNER_ARCH
|
||||
|
||||
if (process.platform === 'linux') {
|
||||
process.env.RUNNER_ARCH = 'X64'
|
||||
|
||||
it('returns the expected value', async () => {
|
||||
spec = '1.18.x'
|
||||
otpVersion = 'OTP-27'
|
||||
@@ -614,9 +672,9 @@ describe('.getOTPVersion(_) - Elixir', () => {
|
||||
assert.deepStrictEqual(got, expected)
|
||||
|
||||
before = simulateInput('version-type', 'strict')
|
||||
spec = '1.17'
|
||||
spec = '1.19'
|
||||
otpVersion = 'master'
|
||||
expected = 'v1.17-otp-27'
|
||||
expected = 'v1.19-otp-28'
|
||||
await setupBeam.installOTP(otpVersion)
|
||||
got = await setupBeam.getElixirVersion(spec, otpVersion)
|
||||
assert.deepStrictEqual(got, expected)
|
||||
@@ -641,8 +699,6 @@ describe('.getOTPVersion(_) - Elixir', () => {
|
||||
simulateInput('version-type', before)
|
||||
})
|
||||
}
|
||||
|
||||
process.env.RUNNER_ARCH = previousRunnerArch
|
||||
})
|
||||
|
||||
describe('.getOTPVersion(_) - Gleam', () => {
|
||||
@@ -686,18 +742,18 @@ describe('.getOTPVersion(_) - rebar3', () => {
|
||||
let spec
|
||||
|
||||
it('returns the expected value', async () => {
|
||||
spec = '3.10.x'
|
||||
expected = '3.10.0'
|
||||
spec = '3.26.x'
|
||||
expected = '3.26.0'
|
||||
got = await setupBeam.getRebar3Version(spec)
|
||||
assert.deepStrictEqual(got, expected)
|
||||
|
||||
spec = '3.11'
|
||||
expected = '3.11.1'
|
||||
spec = '3.25'
|
||||
expected = '3.25.1'
|
||||
got = await setupBeam.getRebar3Version(spec)
|
||||
assert.deepStrictEqual(got, expected)
|
||||
|
||||
spec = '3.10'
|
||||
expected = '3.10.0'
|
||||
spec = '3.26'
|
||||
expected = '3.26.0'
|
||||
got = await setupBeam.getRebar3Version(spec)
|
||||
assert.deepStrictEqual(got, expected)
|
||||
})
|
||||
@@ -937,6 +993,16 @@ describe('.getVersionFromSpec(_)', () => {
|
||||
got = setupBeam.getVersionFromSpec(spec, matrix.otp['ubuntu-24.04'])
|
||||
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'
|
||||
expected = '27.0-rc3'
|
||||
got = setupBeam.getVersionFromSpec(spec, matrix.otp.windows)
|
||||
@@ -963,7 +1029,7 @@ describe('.getVersionFromSpec(_)', () => {
|
||||
assert.deepStrictEqual(got, expected)
|
||||
|
||||
spec = 'latest'
|
||||
expected = '3.23.0'
|
||||
expected = '3.27.0'
|
||||
got = setupBeam.getVersionFromSpec(spec, matrix.rebar3)
|
||||
assert.deepStrictEqual(got, expected)
|
||||
})
|
||||
@@ -1031,7 +1097,9 @@ describe('mise.toml file', () => {
|
||||
"erlang" = "${erlang}"
|
||||
elixir = { version = "${elixir}", postinstall="mix deps.get" } # comment, with space and ref:
|
||||
"not-gleam" = 0.23 # not picked up
|
||||
"gleam" = "${gleam}" \n`
|
||||
"gleam" = "${gleam}"
|
||||
[env]
|
||||
_.file = ".env"\n`
|
||||
const filename = 'test/mise.toml'
|
||||
if (process.platform === 'win32') {
|
||||
// Force \r\n to test in Windows
|
||||
@@ -1158,6 +1226,98 @@ describe("Elixir Mix matcher's", () => {
|
||||
})
|
||||
})
|
||||
|
||||
describe("Erlang matcher's", () => {
|
||||
it('erlc errors are properly matched', () => {
|
||||
const [matcher] = erlangProblemMatcher.find(
|
||||
({ owner }) => owner === 'erlc-error',
|
||||
).pattern
|
||||
|
||||
const output = 'src/mymod.erl:42:5: head mismatch'
|
||||
const match = output.match(matcher.regexp)
|
||||
assert.equal(match[1], 'src/mymod.erl')
|
||||
assert.equal(match[2], '42')
|
||||
assert.equal(match[3], '5')
|
||||
assert.equal(match[4], 'head mismatch')
|
||||
})
|
||||
|
||||
it('erlc errors do not match warnings', () => {
|
||||
const [matcher] = erlangProblemMatcher.find(
|
||||
({ owner }) => owner === 'erlc-error',
|
||||
).pattern
|
||||
|
||||
const output = 'src/mymod.erl:42:5: Warning: variable X is unused'
|
||||
const match = output.match(matcher.regexp)
|
||||
assert.equal(match, null)
|
||||
})
|
||||
|
||||
it('erlc warnings are properly matched', () => {
|
||||
const [matcher] = erlangProblemMatcher.find(
|
||||
({ owner }) => owner === 'erlc-warning',
|
||||
).pattern
|
||||
|
||||
const output = 'src/mymod.erl:10:3: Warning: variable X is unused'
|
||||
const match = output.match(matcher.regexp)
|
||||
assert.equal(match[1], 'src/mymod.erl')
|
||||
assert.equal(match[2], '10')
|
||||
assert.equal(match[3], '3')
|
||||
assert.equal(match[4], 'variable X is unused')
|
||||
})
|
||||
|
||||
it('dialyzer warnings are matched via erlc patterns', () => {
|
||||
const [matcher] = erlangProblemMatcher.find(
|
||||
({ owner }) => owner === 'erlc-warning',
|
||||
).pattern
|
||||
|
||||
const output =
|
||||
'src/mymod.erl:25:1: warning: Function foo/0 has no local return'
|
||||
const match = output.match(matcher.regexp)
|
||||
assert.equal(match[1], 'src/mymod.erl')
|
||||
assert.equal(match[2], '25')
|
||||
assert.equal(match[3], '1')
|
||||
assert.equal(match[4], 'Function foo/0 has no local return')
|
||||
})
|
||||
|
||||
it('CT failures are properly matched', () => {
|
||||
const [filePattern, reasonPattern] = erlangProblemMatcher.find(
|
||||
({ owner }) => owner === 'ct-failure',
|
||||
).pattern
|
||||
|
||||
const firstOutput = 'test/mymod_SUITE.erl failed on line 55'
|
||||
const secondOutput = 'Reason: {badmatch,{error,timeout}}'
|
||||
|
||||
const fileMatch = firstOutput.match(filePattern.regexp)
|
||||
assert.equal(fileMatch[1], 'test/mymod_SUITE.erl')
|
||||
assert.equal(fileMatch[2], '55')
|
||||
|
||||
const reasonMatch = secondOutput.match(reasonPattern.regexp)
|
||||
assert.equal(reasonMatch[1], '{badmatch,{error,timeout}}')
|
||||
})
|
||||
|
||||
it('EUnit failures are properly matched', () => {
|
||||
const [headerPattern, funcPattern, callPattern, errorPattern] =
|
||||
erlangProblemMatcher.find(
|
||||
({ owner }) => owner === 'eunit-failure',
|
||||
).pattern
|
||||
|
||||
const header = 'mymod_test: hello_test....*failed*'
|
||||
const func =
|
||||
'in function mymod_test:hello_test/0 (test/mymod_test.erl, line 12)'
|
||||
const call = 'in call from mymod_test:hello_test/0'
|
||||
const error = '**error:{badmatch,false}'
|
||||
|
||||
assert.ok(header.match(headerPattern.regexp))
|
||||
|
||||
const funcMatch = func.match(funcPattern.regexp)
|
||||
assert.equal(funcMatch[1], 'test/mymod_test.erl')
|
||||
assert.equal(funcMatch[2], '12')
|
||||
|
||||
assert.ok(call.match(callPattern.regexp))
|
||||
|
||||
const errorMatch = error.match(errorPattern.regexp)
|
||||
assert.equal(errorMatch[1], '{badmatch,false}')
|
||||
})
|
||||
})
|
||||
|
||||
function unsimulateInput(key) {
|
||||
return simulateInput(key, '')
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user