diff --git a/dist/index.js b/dist/index.js index 5df32ae..64a9b5d 100644 --- a/dist/index.js +++ b/dist/index.js @@ -10422,7 +10422,7 @@ alongside ${alternativeName}=${alternativeValue} \ } function parseVersionFile(versionFilePath0) { - const versionFilePath = path.join( + const versionFilePath = path.resolve( process.env.GITHUB_WORKSPACE, versionFilePath0, ) diff --git a/src/setup-beam.js b/src/setup-beam.js index d586049..8041fee 100644 --- a/src/setup-beam.js +++ b/src/setup-beam.js @@ -591,7 +591,7 @@ alongside ${alternativeName}=${alternativeValue} \ } function parseVersionFile(versionFilePath0) { - const versionFilePath = path.join( + const versionFilePath = path.resolve( process.env.GITHUB_WORKSPACE, versionFilePath0, ) diff --git a/test/setup-beam.test.js b/test/setup-beam.test.js index cc1a5c4..ed5b11c 100644 --- a/test/setup-beam.test.js +++ b/test/setup-beam.test.js @@ -8,6 +8,8 @@ simulateInput('hexpm-mirrors', 'https://builds.hex.pm', { multiline: true }) const assert = require('assert') const fs = require('fs') +const os = require('os') +const path = require('path') const core = require('@actions/core') const setupBeam = require('../src/setup-beam') const { problemMatcher } = require('../matchers/elixir-matchers.json') @@ -535,6 +537,14 @@ rebar ${rebar3}` assert.strictEqual(appVersions.get('erlang'), erlang) assert.strictEqual(appVersions.get('elixir'), elixir) + const absoluteFilename = path.join(os.tmpdir(), '.tool-versions') + fs.writeFileSync(absoluteFilename, toolVersions) + + process.env.GITHUB_WORKSPACE = process.cwd() + const absoluteAppVersions = setupBeam.parseVersionFile(absoluteFilename) + assert.strictEqual(absoluteAppVersions.get('erlang'), erlang) + assert.strictEqual(absoluteAppVersions.get('elixir'), elixir) + assert.ok(async () => { await setupBeam.install('otp', { toolVersion: erlang }) })