Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: erlef/setup-beam
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v1.17.6
Choose a base ref
...
head repository: erlef/setup-beam
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v1.18.0
Choose a head ref

Commits on Jun 13, 2024

  1. Update CI now that rebar3 nightly no longer supports OTP 24 (#282)

    paulo-ferraz-oliveira authored Jun 13, 2024

    Verified

    This commit was signed with the committer’s verified signature.
    sebm253 Sebastian
    Copy the full SHA
    fd4c26e View commit details
  2. Automation: update setup-beam version output to fd4c26e

    GitHub Actions committed Jun 13, 2024

    Verified

    This commit was signed with the committer’s verified signature.
    sebm253 Sebastian
    Copy the full SHA
    207128d View commit details

Commits on Jun 14, 2024

  1. Bump braces from 3.0.2 to 3.0.3 (#284)

    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored Jun 14, 2024

    Verified

    This commit was signed with the committer’s verified signature.
    sebm253 Sebastian
    Copy the full SHA
    99c1094 View commit details
  2. Update 3rd party licenses (automation) (#285)

    Co-authored-by: GitHub Actions <actions@user.noreply.github.com>
    github-actions[bot] and GitHub Actions authored Jun 14, 2024

    Verified

    This commit was signed with the committer’s verified signature.
    topi314 Toπ
    Copy the full SHA
    f232ddf View commit details
  3. Automation: update setup-beam version output to f232ddf

    GitHub Actions committed Jun 14, 2024

    Verified

    This commit was signed with the committer’s verified signature.
    topi314 Toπ
    Copy the full SHA
    ebd33a1 View commit details

Commits on Jun 15, 2024

  1. Test under non-RC Elixir 1.17 (#281)

    paulo-ferraz-oliveira authored Jun 15, 2024

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    cfc70fd View commit details
  2. Automation: update setup-beam version output to cfc70fd

    GitHub Actions committed Jun 15, 2024

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    9ac0f7c View commit details
  3. Add support for latest release (#269)

    Schultzer authored Jun 15, 2024

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    6ed3c52 View commit details
  4. Automation: update setup-beam version output to 6ed3c52

    GitHub Actions committed Jun 15, 2024

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    8fd1f5c View commit details

Commits on Jun 16, 2024

  1. Tweak markdownlint rules and README versioning (#286)

    paulo-ferraz-oliveira authored Jun 16, 2024

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    54e90d4 View commit details
  2. Automation: update setup-beam version output to 54e90d4

    GitHub Actions committed Jun 16, 2024

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    4d5d1b1 View commit details
  3. Update 3rd party licenses (automation) (#288)

    Co-authored-by: GitHub Actions <actions@user.noreply.github.com>
    github-actions[bot] and GitHub Actions authored Jun 16, 2024
    Copy the full SHA
    fe9cb53 View commit details
  4. Automation: update setup-beam version output to fe9cb53

    GitHub Actions committed Jun 16, 2024
    Copy the full SHA
    c54ac46 View commit details
  5. Add support for ARM builds (#278)

    favrik authored Jun 16, 2024
    Copy the full SHA
    6ab5719 View commit details
  6. Automation: update setup-beam version output to 6ab5719

    GitHub Actions committed Jun 16, 2024
    Copy the full SHA
    8b9b42d View commit details
  7. Fixup action name for the GH marketplace (#287)

    starbelly authored Jun 16, 2024
    Copy the full SHA
    b7b9490 View commit details
  8. Automation: update setup-beam version output to b7b9490

    GitHub Actions committed Jun 16, 2024
    Copy the full SHA
    e112623 View commit details

Commits on Jun 22, 2024

  1. Update the action's description (GH marketplace) (#291)

    paulo-ferraz-oliveira authored Jun 22, 2024
    Copy the full SHA
    d9b2183 View commit details
  2. Automation: update setup-beam version output to d9b2183

    GitHub Actions committed Jun 22, 2024
    Copy the full SHA
    da545dd View commit details
  3. Remove input parameter that isn't one (in tests) (#290)

    paulo-ferraz-oliveira authored Jun 22, 2024
    Copy the full SHA
    31b1b6d View commit details
  4. Automation: update setup-beam version output to 31b1b6d

    GitHub Actions committed Jun 22, 2024
    Copy the full SHA
    1a58ed3 View commit details

Commits on Jun 23, 2024

  1. Reduce action description in action.yml (GHA Marketplace constraint) (#…

    …294)
    
    Co-authored-by: Paulo F. Oliveira <paulo.ferraz.oliveira@gmail.com>
    starbelly and paulo-ferraz-oliveira authored Jun 23, 2024
    Copy the full SHA
    21a744d View commit details
  2. Automation: update setup-beam version output to 21a744d

    GitHub Actions committed Jun 23, 2024
    Copy the full SHA
    a6e26b2 View commit details
18 changes: 5 additions & 13 deletions .github/workflows/ubuntu.yml
Original file line number Diff line number Diff line change
@@ -23,7 +23,7 @@ jobs:
matrix:
combo:
- otp-version: '27'
elixir-version: 'v1.17.0-rc.0'
elixir-version: 'v1.17.0'
rebar3-version: '3.23'
os: 'ubuntu-latest'
- otp-version: '26.0'
@@ -70,17 +70,9 @@ jobs:
- otp-version: '25'
rebar3-version: 'nightly'
os: 'ubuntu-latest'
- otp-version: '24'
- otp-version: '26'
rebar3-version: 'nightly'
os: 'ubuntu-latest'
- elixir-version: 'v1.4'
otp-version: '20'
rebar3-version: '3.15.0'
os: 'ubuntu-20.04'
- elixir-version: 'v1.4'
otp-version: '20'
rebar3-version: '3.11'
os: 'ubuntu-20.04'
- elixir-version: 'v1.6'
otp-version: '21'
rebar3-version: '3.12'
@@ -201,9 +193,9 @@ jobs:
fail-fast: false
matrix:
combo:
- otp-version: '24'
elixir-version: 'v1.12'
gleam-version: '0.23.0-rc1'
- otp-version: '25'
elixir-version: 'v1.14'
gleam-version: '1.0.0'
rebar3-version: 'nightly'
os: 'ubuntu-latest'
steps:
10 changes: 5 additions & 5 deletions .github/workflows/windows.yml
Original file line number Diff line number Diff line change
@@ -23,7 +23,7 @@ jobs:
matrix:
combo:
- otp-version: '27'
elixir-version: 'v1.17.0-rc.0'
elixir-version: 'v1.17.0'
rebar3-version: '3.23'
os: 'windows-latest'
- otp-version: '26.0'
@@ -44,7 +44,7 @@ jobs:
- otp-version: '24.0.2'
rebar3-version: '3.16'
os: 'windows-2019'
- otp-version: '24.0.2'
- otp-version: '26.2.5'
rebar3-version: 'nightly'
os: 'windows-2019'
- otp-version: '23.0'
@@ -131,9 +131,9 @@ jobs:
fail-fast: false
matrix:
combo:
- otp-version: '24'
elixir-version: 'v1.12'
gleam-version: '0.23.0-rc1'
- otp-version: '25'
elixir-version: 'v1.14'
gleam-version: '1.0.0'
rebar3-version: 'nightly'
os: 'windows-latest'
steps:
4 changes: 4 additions & 0 deletions .markdownlint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
---
default: true
MD013:
line_length: 100
4 changes: 2 additions & 2 deletions 3RD_PARTY_LICENSES
Original file line number Diff line number Diff line change
@@ -413,7 +413,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI

-----

The following software may be included in this product: acorn. A copy of the source code may be downloaded from https://github.com/acornjs/acorn.git. This software contains the following license and notice below:
The following software may be included in this product: acorn. A copy of the source code may be downloaded from git+https://github.com/acornjs/acorn.git. This software contains the following license and notice below:

MIT License

@@ -2644,7 +2644,7 @@ PERFORMANCE OF THIS SOFTWARE.

-----

The following software may be included in this product: ini, isexe, json-stringify-safe, lru-cache, minimatch, once, rimraf, semver, which, wrappy, yallist. A copy of the source code may be downloaded from git://github.com/isaacs/ini.git (ini), git+https://github.com/isaacs/isexe.git (isexe), git://github.com/isaacs/json-stringify-safe (json-stringify-safe), git://github.com/isaacs/node-lru-cache.git (lru-cache), git://github.com/isaacs/minimatch.git (minimatch), git://github.com/isaacs/once (once), git://github.com/isaacs/rimraf.git (rimraf), git+https://github.com/npm/node-semver.git (semver), git://github.com/isaacs/node-which.git (which), https://github.com/npm/wrappy (wrappy), git+https://github.com/isaacs/yallist.git (yallist). This software contains the following license and notice below:
The following software may be included in this product: ini, isexe, json-stringify-safe, minimatch, once, rimraf, semver, which, wrappy. A copy of the source code may be downloaded from git://github.com/isaacs/ini.git (ini), git+https://github.com/isaacs/isexe.git (isexe), git://github.com/isaacs/json-stringify-safe (json-stringify-safe), git://github.com/isaacs/minimatch.git (minimatch), git://github.com/isaacs/once (once), git://github.com/isaacs/rimraf.git (rimraf), git+https://github.com/npm/node-semver.git (semver), git://github.com/isaacs/node-which.git (which), https://github.com/npm/wrappy (wrappy). This software contains the following license and notice below:

The ISC License

1 change: 0 additions & 1 deletion CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
<!-- markdownlint-disable MD013 -->
# Contributor Covenant Code of Conduct

## Our Pledge
17 changes: 11 additions & 6 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,18 @@
<!-- markdownlint-disable MD013 -->
# Contributing

[fork]: https://github.com/erlef/setup-beam/fork
[pr]: https://github.com/erlef/setup-beam/compare
[code-of-conduct]: https://github.com/erlef/setup-beam/blob/main/CODE_OF_CONDUCT.md

Hi there! We're thrilled that you'd like to contribute to this project. Your help is essential for keeping it great.
Hi there! We're thrilled that you'd like to contribute to this project. Your help is essential for
keeping it great.

Contributions to this project are [released](https://help.github.com/articles/github-terms-of-service/#6-contributions-under-repository-license) to the public under the [project's open source license](LICENSE.md).
Contributions to this project are
[released](https://help.github.com/articles/github-terms-of-service/#6-contributions-under-repository-license)
to the public under the [project's open source license](LICENSE.md).

Please note that this project is released with a [Contributor Code of Conduct][code-of-conduct]. By participating in this project you agree to abide by its terms.
Please note that this project is released with a [Contributor Code of Conduct][code-of-conduct]. By
participating in this project you agree to abide by its terms.

## Submitting a pull request

@@ -23,13 +26,15 @@ Please note that this project is released with a [Contributor Code of Conduct][c
Here are a few things you can do that will increase the likelihood of your pull request being accepted:

- Write tests.
- Keep your change as focused as possible. If there are multiple changes you would like to make that are not dependent upon each other, consider submitting them as separate pull requests.
- Keep your change as focused as possible. If there are multiple changes you would like to make that
are not dependent upon each other, consider submitting them as separate pull requests.
- Write a [good commit message](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html).
- Execute `npm run build-dist` and fix any issues arising from that

## Running tests

When running tests locally, a valid classic GitHub token with the `repo` scope is required for tests to pass.
When running tests locally, a valid classic GitHub token with the `repo` scope is required for tests
to pass.

- Export the token in the current shell: `export GITHUB_TOKEN=<contents>`
- Run tests `npm test`
1 change: 0 additions & 1 deletion LICENSE.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
<!-- markdownlint-disable MD013 -->
# The MIT License (MIT)

Copyright (c) 2019 GitHub, Inc. and contributors
93 changes: 58 additions & 35 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
<!-- markdownlint-disable MD013 -->
# setup-beam [![GitHub Actions][action-img]][action] [![GitHub Actions][ubuntu-img]][ubuntu] [![GitHub Actions][windows-img]][windows]
# setup-beam [![Action][action-img]][action]&nbsp;[![Ubuntu][ubuntu-img]][ubuntu]&nbsp;[![Windows][windows-img]][windows]

[action]: https://github.com/erlef/setup-beam/actions/workflows/action.yml
[action-img]: https://github.com/erlef/setup-beam/actions/workflows/action.yml/badge.svg
@@ -28,51 +27,75 @@ workflow by:

See [action.yml](action.yml) for the action's specification.

**Note**: the Erlang/OTP release version specification is [relatively
complex](http://erlang.org/doc/system_principles/versions.html#version-scheme).
For best results, we recommend specifying exact
### Input versioning

Input (tools') versions are controlled via `with:` (check the examples below).

#### Strict versions

The Erlang/OTP release version specification, for example, is [relatively
complex](http://erlang.org/doc/system_principles/versions.html#version-scheme), so,
for best results, we recommend specifying exact
versions, and setting option `version-type` to `strict`.

#### Version ranges

However, values like `22.x`, or even `>22`, are also accepted, and we attempt to resolve them
according to semantic versioning rules. This implicitly means `version-type` is `loose`,
which is also the default value for this option.

#### Specify versions as strings, not numbers

Additionally, it is recommended that one specifies versions
using YAML strings, as these examples do, so that numbers like `23.0` don't
end up being parsed as `23`, which is not equivalent.

#### Pre-release versions

For pre-release versions, such as `v1.11.0-rc.0`, use the full version
specifier (`v1.11.0-rc.0`) and set option `version-type` to `strict`. Pre-release versions are
opt-in, so `1.11.x` will not match a pre-release.

#### "Latest" versions

Set a tool's version to `latest` to retrieve the latest version of a given tool.
The latest version is (locally) calculated by the action based on the (retrieved) versions
it knows (**note**: it is not the same as [GitHub considers it](https://docs.github.com/en/repositories/releasing-projects-on-github/managing-releases-in-a-repository)
and some repositories might propose).

If in doubt do a test run and compare the obtained release with the one you were expecting to
be the latest.

### Compatibility between Operating System and Erlang/OTP

This list presents the known working version combos between the target operating system
and Erlang/OTP.

| Operating system | Erlang/OTP | Status
|- |- |-
| ubuntu-18.04 | 17.0 - 25.3 | ✅
| ubuntu-20.04 | 20.0 - 27 | ✅
| ubuntu-22.04 | 24.2 - 27 | ✅
| ubuntu-24.04 | 24.3 - 27 | ✅
| windows-2019 | 21* - 25 | ✅
| windows-2022 | 21* - 27 | ✅
| `ubuntu-18.04` | 17.0 - 25.3 | ✅
| `ubuntu-20.04` | 21.0 - 27 | ✅
| `ubuntu-22.04` | 24.2 - 27 | ✅
| `ubuntu-24.04` | 24.3 - 27 | ✅
| `windows-2019` | 21* - 25 | ✅
| `windows-2022` | 21* - 27 | ✅

**Note** *: prior to 23, Windows builds are only available for minor versions, e.g. 21.0, 21.3, 22.0, etc.
**Note** \*: prior to 23, Windows builds are only available for minor versions, e.g. 21.0, 21.3,
22.0, etc.

### Self-hosted runners

Self-hosted runners need to set env. variable `ImageOS` to one of the following, since the action
uses that to download assets:

| ImageOS | Operating system
|- |-
| ubuntu18 | ubuntu-18.04
| ubuntu20 | ubuntu-20.04
| ubuntu22 | ubuntu-22.04
| ubuntu24 | ubuntu-24.04
| win19 | windows-2019
| win22 | windows-2022
| ImageOS | Operating system
|- |-
| `ubuntu18` | `ubuntu-18.04`
| `ubuntu20` | `ubuntu-20.04`
| `ubuntu22` | `ubuntu-22.04`
| `ubuntu24` | `ubuntu-24.04`
| `win19` | `windows-2019`
| `win22` | `windows-2022`

as per the following example:

@@ -94,13 +117,13 @@ jobs:
The action provides the following outputs:
| Output | Content
|- |-
| otp-version | The Erlang version, e.g. `OTP-26.0`
| elixir-version | The Elixir version, e.g. `v1.14-otp-26`
| gleam-version | The Gleam version, e.g. `v0.23.0`
| rebar3-version | The `rebar3` version, e.g. `3.18.0`
| setup-beam-version | The commit unique id of the executed action version, e.g. `a34c98f`
| Output | Content
|- |-
| `otp-version` | The Erlang version, e.g. `OTP-26.0`
| `elixir-version` | The Elixir version, e.g. `v1.14-otp-26`
| `gleam-version` | The Gleam version, e.g. `v0.23.0`
| `rebar3-version` | The `rebar3` version, e.g. `3.18.0`
| `setup-beam-version` | The commit unique id of the executed action version, e.g. `a34c98f`

accessible as `${{steps.<setup-beam-step-id>.outputs.<Output>}}`,
e.g. `${{steps.setup-beam.outputs.erlang-version}}`
@@ -123,12 +146,12 @@ with the following correspondence.

#### `.tool-versions` format

| YML | `.tool-versions` |
|- |- |
| `otp-version` | `erlang` |
| `elixir-version` | `elixir` |
| `gleam-version` | `gleam` |
| `rebar3-version` | `rebar` |
| YML | `.tool-versions`
|- |-
| `otp-version` | `erlang`
| `elixir-version` | `elixir`
| `gleam-version` | `gleam`
| `rebar3-version` | `rebar`

### Example (Erlang/OTP + Elixir, on Ubuntu)

@@ -142,7 +165,7 @@ jobs:
name: OTP ${{matrix.otp}} / Elixir ${{matrix.elixir}}
strategy:
matrix:
otp: ['20.3', '21.3', '22.2']
otp: ['21.1', '22.2', '23.3']
elixir: ['1.8.2', '1.9.4']
steps:
- uses: actions/checkout@v4
@@ -166,7 +189,7 @@ jobs:
name: Erlang/OTP ${{matrix.otp}} / rebar3 ${{matrix.rebar3}}
strategy:
matrix:
otp: ['20.3', '21.3', '22.2']
otp: ['21.1', '22.2', '23.3']
rebar3: ['3.14.1', '3.14.3']
steps:
- uses: actions/checkout@v4
5 changes: 2 additions & 3 deletions action.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
---
name: Setup Erlang/OTP with optional Elixir (and mix) and/or rebar3
name: setup-beam
description: >
Set up a specific version of Erlang/OTP, Elixir, and/or rebar3
and add the command-line tools to the PATH
Set up a BEAM-based CI environment, supporting languages and tools such as Erlang/OTP, Elixir, Gleam, `rebar3`, and `hex`.
author: Erlang Ecosystem Foundation
branding:
color: blue
942 changes: 134 additions & 808 deletions dist/index.js

Large diffs are not rendered by default.

41 changes: 11 additions & 30 deletions package-lock.json
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -20,7 +20,7 @@
"@actions/exec": "1.1.1",
"@actions/http-client": "2.1.0",
"@actions/tool-cache": "2.0.1",
"semver": "7.5.4"
"semver": "7.6.2"
},
"devDependencies": {
"@vercel/ncc": "0.36.1",
67 changes: 62 additions & 5 deletions src/setup-beam.js
Original file line number Diff line number Diff line change
@@ -49,13 +49,15 @@ async function main() {
await maybeInstallRebar3(rebar3Spec)

// undefined is replaced by a function, post- main branch merge
const setupBeamVersion = 'b8e9da7'
const setupBeamVersion = '21a744d'
core.setOutput('setup-beam-version', setupBeamVersion)
}

async function installOTP(otpSpec, osVersion) {
const otpVersion = await getOTPVersion(otpSpec, osVersion)
core.startGroup(`Installing Erlang/OTP ${otpVersion} - built on ${osVersion}`)
core.startGroup(
`Installing Erlang/OTP ${otpVersion} - built on ${getRunnerOSArchitecture()}/${osVersion}`,
)
await doWithMirrors({
hexMirrors: hexMirrorsInput(),
actionTitle: `install Erlang/OTP ${otpVersion}`,
@@ -254,7 +256,7 @@ async function getOTPVersions(osVersion) {
let otpVersionsListings
let originListing
if (process.platform === 'linux') {
originListing = `/builds/otp/${osVersion}/builds.txt`
originListing = `/builds/otp/${getRunnerOSArchitecture()}/${osVersion}/builds.txt`
otpVersionsListings = await doWithMirrors({
hexMirrors: hexMirrorsInput(),
actionTitle: `fetch ${originListing}`,
@@ -378,7 +380,34 @@ function isStrictVersion() {
return getInput('version-type', false) === 'strict'
}

function gt(left, right) {
return semver.gt(parseVersion(left), parseVersion(right))
}

function validVersion(v) {
return (
v.match(/main|master|nightly|latest/g) == null &&
!v.startsWith('a') &&
!v.startsWith('b')
)
}

function parseVersion(v) {
v = v.includes('rc') ? v : v.split('.')
if (v instanceof Array) {
v = `${[v.shift(), v.shift(), v.shift()].join('.')}+${v.join('.')}`
}
return semver.coerce(v, { includePrerelease: true, loose: true })
}

function getVersionFromSpec(spec0, versions0) {
let latest
Object.keys(versions0).forEach((v) => {
if (validVersion(v)) {
latest = latest && gt(latest, v) ? latest : v
}
})
versions0.latest = latest
const spec = maybeRemoveVPrefix(spec0)

const altVersions = {}
@@ -475,7 +504,33 @@ function isRC(ver) {
}

function isKnownBranch(ver) {
return ['main', 'master', 'maint'].includes(ver)
return ['main', 'master', 'maint', 'latest'].includes(ver)
}

function githubARMRunnerArchs() {
return ['ARM', 'ARM64']
}

function githubAMDRunnerArchs() {
return ['X86', 'X64']
}

function getRunnerOSArchitecture() {
// These options come from:
// https://docs.github.com/en/actions/learn-github-actions/variables#default-environment-variables
if (githubARMRunnerArchs().includes(process.env.RUNNER_ARCH)) {
return 'arm64'
}

if (githubAMDRunnerArchs().includes(process.env.RUNNER_ARCH)) {
return 'amd64'
}

throw new Error(
'Invalid Github runner architecture, expected one of ' +
`${githubAMDRunnerArchs().concat(githubARMRunnerArchs()).join(', ')} ` +
`but got process.env.RUNNER_ARCH = ${process.env.RUNNER_ARCH}`,
)
}

function getRunnerOSVersion() {
@@ -716,7 +771,7 @@ async function install(toolName, opts) {
tool: 'Erlang/OTP',
linux: {
downloadToolURL: () =>
`${hexMirror}/builds/otp/${versionSpec}.tar.gz`,
`${hexMirror}/builds/otp/${getRunnerOSArchitecture()}/${versionSpec}.tar.gz`,
extract: async (file) => {
const dest = undefined
const flags = ['zx', '--strip-components=1']
@@ -1006,6 +1061,8 @@ module.exports = {
getGleamVersion,
getRebar3Version,
getVersionFromSpec,
githubAMDRunnerArchs,
githubARMRunnerArchs,
install,
parseVersionFile,
}
524 changes: 524 additions & 0 deletions test/elixir/builds.txt

Large diffs are not rendered by default.

46,890 changes: 46,890 additions & 0 deletions test/gleam/releases.json

Large diffs are not rendered by default.

31,454 changes: 31,454 additions & 0 deletions test/otp/releases.json

Large diffs are not rendered by default.

435 changes: 435 additions & 0 deletions test/otp/ubuntu-18.04/builds.txt

Large diffs are not rendered by default.

338 changes: 338 additions & 0 deletions test/otp/ubuntu-20.04/builds.txt

Large diffs are not rendered by default.

80 changes: 80 additions & 0 deletions test/otp/ubuntu-22.04/builds.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@

OTP-24.2 df48c260e74c3e9058ff8681ce9f554e6fa0fe34 2022-06-09T23:56:36Z
OTP-24.2.1 7bf7f01683acf9b8f09bd8c7331854a9abc17f7d 2022-06-09T23:56:38Z
OTP-24.2.2 3034930abbd2d3acf2b9a2fc46ef474577599693 2022-06-09T23:56:32Z
OTP-24.3 fe02a02f6deea5d82f654bcca7ebd615a2430ca4 2022-06-09T23:56:15Z
OTP-24.3.1 0989706ac7ceb8236efc1e3c6eb1deff8c984645 2022-06-09T23:55:21Z
OTP-24.3.2 7bd6e24d3dded3a393f9bb774ccf98cc0af4d595 2022-06-09T23:54:40Z
OTP-24.3.3 f00827e60ff1f43aae30ac596f342d45d4d3860e 2022-06-09T23:54:29Z
OTP-24.3.4 0863bd30aabd035c83158c78046c5ffda16127e1 2022-06-09T23:36:28Z
OTP-24.3.4.1 325a5920aa26b7d4996f9397f3d62ea7db6a8b92 2022-06-09T23:36:17Z
OTP-24.3.4.10 9d378933e266fe5b1ef760cfdea51e370ab6f643 2023-03-17T15:14:14Z
OTP-24.3.4.11 a23ba70ef91a76470fcf3d1c60d3e9f641f05844 2023-04-21T10:20:31Z
OTP-24.3.4.12 27417cdfc528081a6795828032d8a13cc82048f9 2023-06-02T00:38:27Z
OTP-24.3.4.13 e7eaff0ebe5bffdf0a2f2d10d76efcbec92b0909 2023-06-29T11:51:25Z
OTP-24.3.4.14 92879e99b91efeed36ae9d8abaafe4d9552d06de 2023-10-12T08:22:59Z
OTP-24.3.4.15 85be379c3f1c0021ccb8d6ae9eb69f4e6712a150 2023-12-18T17:15:36Z
OTP-24.3.4.16 e1a54d023698359f0b562219e591f6263596c735 2024-02-12T12:07:57Z
OTP-24.3.4.17 e0001cd0fa553513ee8fee998a82a01ac9b7329b 2024-04-09T14:17:21Z
OTP-24.3.4.2 0251f542a2ef42ded2a146649d05ff9e7e457268 2022-06-21T14:54:45Z
OTP-24.3.4.3 70877dcee9c0aa9f5a39fb5af62da531a737cca0 2022-08-18T13:35:42Z
OTP-24.3.4.4 fc73c903cec66b46caa0afa4785d139092ad0485 2022-08-26T13:55:58Z
OTP-24.3.4.5 11940accce94c19cb3c6efbacba7dcd39e0736ec 2022-09-13T11:37:14Z
OTP-24.3.4.6 5e5963b8f71ace28c60d358f1d76ad472442019e 2022-10-05T06:57:23Z
OTP-24.3.4.7 6edaed6e23779057965231abd4e4b0421d566ec7 2022-12-27T13:48:38Z
OTP-24.3.4.8 f17ccd2dffb651599c9e55b1550ce45c0ba92af8 2023-01-17T18:11:21Z
OTP-24.3.4.9 68522e556c020de5fe7e20c4c082927a5d04d8e7 2023-02-23T10:47:16Z
OTP-25.0 4ed7957623e5ccbd420a09a506bd6bc9930fe93c 2022-06-09T23:38:38Z
OTP-25.0-rc1 3c68ceea1f93119bed871866c690fbf5a95048c1 2022-06-09T23:39:43Z
OTP-25.0-rc2 85d0a8366e64f8272e332a63a2cba59afa3f7eb9 2022-06-09T23:39:57Z
OTP-25.0-rc3 47f121af8ee55a0dbe2a8c9ab85031ba052bad6b 2022-06-09T23:39:38Z
OTP-25.0.1 cf18f250a40f33cc648d869eac833cd9aee86ed6 2022-06-09T23:37:22Z
OTP-25.0.2 ac0c9879c68b23278178a7afe738285b33ff1832 2022-06-21T07:26:36Z
OTP-25.0.3 89c04fb1836fb865565125a4d5880b93e784d856 2022-07-16T03:40:03Z
OTP-25.0.4 c028b855ee3f12c835ff3538a90ac5dbc155631b 2022-08-18T15:21:57Z
OTP-25.1 6efb5e31df6bc512ed6c466584ef15b846dcecab 2022-09-21T09:54:56Z
OTP-25.1.1 be6f05d34736fadf37328058f00e788cb88da61b 2022-10-03T13:29:30Z
OTP-25.1.2 38ad8e28421c745c06ef9bd55f6e6204cd1f15ef 2022-10-24T13:19:51Z
OTP-25.1.2.1 7dc04c755eef47b34f5763dcfc8d16913c1b7a08 2023-01-18T23:50:49Z
OTP-25.2 d6eb1c53d688a242bfb5e3b4febcea66c49c0fe7 2022-12-14T08:34:07Z
OTP-25.2.1 43361e793b63d57570a5a46da4a5cb4a1c3563c5 2023-01-17T18:01:28Z
OTP-25.2.2 8adae7eebbc791433d5f0f58daab558a8fbe847d 2023-01-30T08:55:23Z
OTP-25.2.3 07cf1c5caab19852ccf85ae7000d788913f3411d 2023-02-17T10:42:58Z
OTP-25.3 5400ccf243a31d664153a4b9ceb9de3edfce1e0e 2023-03-08T11:13:17Z
OTP-25.3.1 c487c0ea418315edd4a8614854e82c5359f4b8f8 2023-04-27T09:50:31Z
OTP-25.3.2 0418c10ec37fa374867eae49f2f776c72c55d623 2023-05-05T12:04:20Z
OTP-25.3.2.1 3f0a5f136aa72f785ca86df64c4384db2e9c8bbb 2023-06-02T00:42:25Z
OTP-25.3.2.10 733439dc03b21ea92c096b6cc31befc133cd9081 2024-03-13T08:41:25Z
OTP-25.3.2.11 e1e117f0e95cb373f9bd5e159e54e6ffae1bb32b 2024-04-12T15:45:59Z
OTP-25.3.2.12 cee6d023f30d5cedb4eaa2b1384b49597a9bde66 2024-05-02T14:13:52Z
OTP-25.3.2.2 ba144817d5478b15a50ef0c398d925232005277e 2023-06-07T05:15:23Z
OTP-25.3.2.3 da340fd39fc6550b1432662ffa55c3b6da3db41f 2023-06-29T11:04:03Z
OTP-25.3.2.4 9e6d04dd18bef6136fc2b45cc60fe1348c4664a7 2023-07-17T13:52:28Z
OTP-25.3.2.5 5cb360d524a5777ed4243ac03a0162a95f545a16 2023-07-31T10:51:24Z
OTP-25.3.2.6 fd0e27a5c1ca7afde30b10c1b33a35ebb3313fd1 2023-09-07T20:15:38Z
OTP-25.3.2.7 d3c9eeb17042e5567337e1f87c924b25186daae0 2023-10-12T14:25:22Z
OTP-25.3.2.8 c08f5acfb4e47933d8128d0b41b01487d0eb97a1 2023-12-18T16:49:13Z
OTP-25.3.2.9 68fa9c42426380772784eed26d24747bfee38fcc 2024-02-08T15:32:02Z
OTP-26.0 8c0ea6bd3306cfd6ca19730d180a2a93a716e1ee 2023-05-16T10:29:00Z
OTP-26.0-rc1 127026003180a834e9fa5d5919c824a184faeb92 2023-02-15T10:57:55Z
OTP-26.0-rc2 dac89a6acc1a93a615930ca18f1dbf4e9323b038 2023-03-23T14:46:42Z
OTP-26.0-rc3 1f897adc9df5e0de5d5a85633a8629a7e45ddeab 2023-04-12T10:01:33Z
OTP-26.0.1 b54b86ad4f1253f46fd4552a73923756660c1d53 2023-06-08T14:30:57Z
OTP-26.0.2 d051172925a5c84b2f21850a188a533f885f201c 2023-06-29T09:18:18Z
OTP-26.1 e962af35263618665c1df57df5135c0c703ad502 2023-09-20T07:51:10Z
OTP-26.1.1 2bdd30b872ab91dc376998d2c417f2a8b514d1aa 2023-09-28T09:34:57Z
OTP-26.1.2 c41d424db42ba84b72f3e25167470c3555723d87 2023-10-12T09:11:33Z
OTP-26.2 7fc0898502cb3370b7c6d523a7393cd101808493 2023-12-13T08:53:46Z
OTP-26.2.1 ca8b893f9d5bdd0957b78514ba523032e762c644 2023-12-18T16:49:32Z
OTP-26.2.2 b83df13eec5446beab06dd24315d37a5b0633fd2 2024-02-08T15:01:20Z
OTP-26.2.3 928d03e6da416208fce7b9a7dbbfbb4f25d26c37 2024-03-07T10:01:57Z
OTP-26.2.4 e26c5206dc98ec1b8f978fceaa61fd1354266ccb 2024-04-12T13:05:00Z
OTP-26.2.5 412bff5196fc0ab88a61fe37ca30e5226fc7872d 2024-05-02T16:02:47Z
OTP-27.0-rc1 b74bd21d5cb52e0fdc5ea321439c428783feea23 2024-02-14T09:36:01Z
OTP-27.0-rc2 e651174c569694c92b1794ddd0a1a4a199610091 2024-03-21T07:50:16Z
OTP-27.0-rc3 5df3992d695da4d7e8777cf7605279ce9d131f1c 2024-04-18T06:55:23Z
maint b6fc78456565f575122929556846009edc008264 2024-05-08T14:30:00Z
maint-24 5e5963b8f71ace28c60d358f1d76ad472442019e 2022-10-11T03:16:26Z
maint-25 cee6d023f30d5cedb4eaa2b1384b49597a9bde66 2024-05-02T13:51:47Z
maint-26 412bff5196fc0ab88a61fe37ca30e5226fc7872d 2024-05-02T15:38:43Z
master 3b234fbdfe9013056f80b52363c786dd26cb12a3 2024-05-10T11:24:40Z
71 changes: 71 additions & 0 deletions test/otp/ubuntu-24.04/builds.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@

OTP-24.3.4 0863bd30aabd035c83158c78046c5ffda16127e1 2024-04-26T03:41:09Z
OTP-24.3.4.1 325a5920aa26b7d4996f9397f3d62ea7db6a8b92 2024-04-26T03:39:33Z
OTP-24.3.4.10 9d378933e266fe5b1ef760cfdea51e370ab6f643 2024-04-26T02:55:31Z
OTP-24.3.4.11 a23ba70ef91a76470fcf3d1c60d3e9f641f05844 2024-04-26T02:53:05Z
OTP-24.3.4.12 27417cdfc528081a6795828032d8a13cc82048f9 2024-04-26T02:51:04Z
OTP-24.3.4.13 e7eaff0ebe5bffdf0a2f2d10d76efcbec92b0909 2024-04-26T02:49:39Z
OTP-24.3.4.14 92879e99b91efeed36ae9d8abaafe4d9552d06de 2024-04-26T02:39:46Z
OTP-24.3.4.15 85be379c3f1c0021ccb8d6ae9eb69f4e6712a150 2024-04-26T02:37:32Z
OTP-24.3.4.16 e1a54d023698359f0b562219e591f6263596c735 2024-04-26T02:35:14Z
OTP-24.3.4.17 e0001cd0fa553513ee8fee998a82a01ac9b7329b 2024-04-26T02:33:42Z
OTP-24.3.4.2 0251f542a2ef42ded2a146649d05ff9e7e457268 2024-04-26T03:29:08Z
OTP-24.3.4.3 70877dcee9c0aa9f5a39fb5af62da531a737cca0 2024-04-26T03:26:17Z
OTP-24.3.4.4 fc73c903cec66b46caa0afa4785d139092ad0485 2024-04-26T03:24:45Z
OTP-24.3.4.5 11940accce94c19cb3c6efbacba7dcd39e0736ec 2024-04-26T03:23:10Z
OTP-24.3.4.6 5e5963b8f71ace28c60d358f1d76ad472442019e 2024-04-26T03:12:08Z
OTP-24.3.4.7 6edaed6e23779057965231abd4e4b0421d566ec7 2024-04-26T03:09:20Z
OTP-24.3.4.8 f17ccd2dffb651599c9e55b1550ce45c0ba92af8 2024-04-26T03:07:19Z
OTP-24.3.4.9 68522e556c020de5fe7e20c4c082927a5d04d8e7 2024-04-26T03:05:47Z
OTP-25.0 4ed7957623e5ccbd420a09a506bd6bc9930fe93c 2024-04-26T02:16:30Z
OTP-25.0.1 cf18f250a40f33cc648d869eac833cd9aee86ed6 2024-04-26T02:16:12Z
OTP-25.0.2 ac0c9879c68b23278178a7afe738285b33ff1832 2024-04-26T02:14:16Z
OTP-25.0.3 89c04fb1836fb865565125a4d5880b93e784d856 2024-04-26T02:12:02Z
OTP-25.0.4 c028b855ee3f12c835ff3538a90ac5dbc155631b 2024-04-26T01:58:16Z
OTP-25.1 6efb5e31df6bc512ed6c466584ef15b846dcecab 2024-04-26T01:58:24Z
OTP-25.1.1 be6f05d34736fadf37328058f00e788cb88da61b 2024-04-26T01:56:43Z
OTP-25.1.2 38ad8e28421c745c06ef9bd55f6e6204cd1f15ef 2024-04-26T01:54:11Z
OTP-25.1.2.1 7dc04c755eef47b34f5763dcfc8d16913c1b7a08 2024-04-26T01:40:40Z
OTP-25.2 d6eb1c53d688a242bfb5e3b4febcea66c49c0fe7 2024-04-26T01:40:36Z
OTP-25.2.1 43361e793b63d57570a5a46da4a5cb4a1c3563c5 2024-04-26T01:39:05Z
OTP-25.2.2 8adae7eebbc791433d5f0f58daab558a8fbe847d 2024-04-26T01:36:16Z
OTP-25.2.3 07cf1c5caab19852ccf85ae7000d788913f3411d 2024-04-26T01:21:10Z
OTP-25.3 5400ccf243a31d664153a4b9ceb9de3edfce1e0e 2024-04-26T01:22:29Z
OTP-25.3.1 c487c0ea418315edd4a8614854e82c5359f4b8f8 2024-04-26T01:22:21Z
OTP-25.3.2 0418c10ec37fa374867eae49f2f776c72c55d623 2024-04-26T01:18:13Z
OTP-25.3.2.1 3f0a5f136aa72f785ca86df64c4384db2e9c8bbb 2024-04-26T01:01:44Z
OTP-25.3.2.10 733439dc03b21ea92c096b6cc31befc133cd9081 2024-04-26T00:06:15Z
OTP-25.3.2.11 e1e117f0e95cb373f9bd5e159e54e6ffae1bb32b 2024-04-26T00:06:20Z
OTP-25.3.2.12 cee6d023f30d5cedb4eaa2b1384b49597a9bde66 2024-05-02T14:29:24Z
OTP-25.3.2.2 ba144817d5478b15a50ef0c398d925232005277e 2024-04-26T00:58:37Z
OTP-25.3.2.3 da340fd39fc6550b1432662ffa55c3b6da3db41f 2024-04-26T00:58:30Z
OTP-25.3.2.4 9e6d04dd18bef6136fc2b45cc60fe1348c4664a7 2024-04-26T00:54:26Z
OTP-25.3.2.5 5cb360d524a5777ed4243ac03a0162a95f545a16 2024-04-26T00:37:15Z
OTP-25.3.2.6 fd0e27a5c1ca7afde30b10c1b33a35ebb3313fd1 2024-04-26T00:32:42Z
OTP-25.3.2.7 d3c9eeb17042e5567337e1f87c924b25186daae0 2024-04-26T00:32:39Z
OTP-25.3.2.8 c08f5acfb4e47933d8128d0b41b01487d0eb97a1 2024-04-26T00:29:09Z
OTP-25.3.2.9 68fa9c42426380772784eed26d24747bfee38fcc 2024-04-26T00:12:26Z
OTP-26.0 8c0ea6bd3306cfd6ca19730d180a2a93a716e1ee 2024-04-26T04:08:34Z
OTP-26.0-rc1 127026003180a834e9fa5d5919c824a184faeb92 2024-04-26T00:03:12Z
OTP-26.0-rc2 dac89a6acc1a93a615930ca18f1dbf4e9323b038 2024-04-25T23:47:30Z
OTP-26.0-rc3 1f897adc9df5e0de5d5a85633a8629a7e45ddeab 2024-04-25T23:39:30Z
OTP-26.0.1 b54b86ad4f1253f46fd4552a73923756660c1d53 2024-04-25T23:34:51Z
OTP-26.0.2 d051172925a5c84b2f21850a188a533f885f201c 2024-04-25T23:20:37Z
OTP-26.1 e962af35263618665c1df57df5135c0c703ad502 2024-04-25T23:10:07Z
OTP-26.1.1 2bdd30b872ab91dc376998d2c417f2a8b514d1aa 2024-04-25T23:09:59Z
OTP-26.1.2 c41d424db42ba84b72f3e25167470c3555723d87 2024-04-25T23:06:27Z
OTP-26.2 7fc0898502cb3370b7c6d523a7393cd101808493 2024-04-25T22:52:52Z
OTP-26.2.1 ca8b893f9d5bdd0957b78514ba523032e762c644 2024-04-25T22:40:28Z
OTP-26.2.2 b83df13eec5446beab06dd24315d37a5b0633fd2 2024-04-25T22:40:25Z
OTP-26.2.3 928d03e6da416208fce7b9a7dbbfbb4f25d26c37 2024-04-25T22:38:03Z
OTP-26.2.4 e26c5206dc98ec1b8f978fceaa61fd1354266ccb 2024-04-25T22:24:21Z
OTP-26.2.5 412bff5196fc0ab88a61fe37ca30e5226fc7872d 2024-05-02T16:20:10Z
OTP-27.0 601a012837ea0a5c8095bf24223132824177124d 2024-05-20T09:54:18Z
OTP-27.0-rc1 b74bd21d5cb52e0fdc5ea321439c428783feea23 2024-04-25T22:11:25Z
OTP-27.0-rc2 e651174c569694c92b1794ddd0a1a4a199610091 2024-04-25T22:11:21Z
OTP-27.0-rc3 5df3992d695da4d7e8777cf7605279ce9d131f1c 2024-04-25T22:10:15Z
maint 98fa13790b44ad84db1a294aa7e682111a331f37 2024-06-11T08:07:32Z
maint-25 cee6d023f30d5cedb4eaa2b1384b49597a9bde66 2024-05-02T14:04:45Z
maint-26 412bff5196fc0ab88a61fe37ca30e5226fc7872d 2024-05-02T15:52:49Z
maint-27 601a012837ea0a5c8095bf24223132824177124d 2024-05-20T15:17:40Z
master 0b1bab25dbabb6c19319f3373c5a6dfa74667210 2024-06-11T08:07:29Z
5,117 changes: 5,117 additions & 0 deletions test/rebar3/releases.json

Large diffs are not rendered by default.

348 changes: 338 additions & 10 deletions test/setup-beam.test.js

Large diffs are not rendered by default.