mirror of
https://github.com/opentofu/setup-opentofu.git
synced 2025-12-06 07:50:37 +00:00
feat: added versions resolution logic to use user's input.
Signed-off-by: Dmitry Kisler <admin@dkisler.com>
This commit is contained in:
parent
c68fac3149
commit
45ec8bfee0
4 changed files with 7 additions and 5 deletions
3
dist/index.js
vendored
3
dist/index.js
vendored
|
|
@ -84,7 +84,7 @@ async function getRelease (version, fetchReleasesFn = fetchReleases) {
|
|||
const versionsFound = releases.map(release => release.version);
|
||||
let versionSelected;
|
||||
if (version === latestVersionLabel) {
|
||||
versionSelected = findLatestVersion(versionsFound);
|
||||
versionSelected = await findLatestVersion(versionsFound);
|
||||
} else {
|
||||
versionSelected = await findLatestVersionInRange(versionsFound, versionsRange);
|
||||
}
|
||||
|
|
@ -249,7 +249,6 @@ async function run () {
|
|||
const release = await releases.getRelease(version);
|
||||
const platform = mapOS(osPlatform);
|
||||
const arch = mapArch(osArch);
|
||||
core.debug(`Getting build for OpenTofu version ${release.version}: ${platform} ${arch}`);
|
||||
const build = release.getBuild(platform, arch);
|
||||
if (!build) {
|
||||
throw new Error(`OpenTofu version ${version} not available for ${platform} and ${arch}`);
|
||||
|
|
|
|||
|
|
@ -78,7 +78,7 @@ async function getRelease (version, fetchReleasesFn = fetchReleases) {
|
|||
const versionsFound = releases.map(release => release.version);
|
||||
let versionSelected;
|
||||
if (version === latestVersionLabel) {
|
||||
versionSelected = findLatestVersion(versionsFound);
|
||||
versionSelected = await findLatestVersion(versionsFound);
|
||||
} else {
|
||||
versionSelected = await findLatestVersionInRange(versionsFound, versionsRange);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -137,7 +137,6 @@ async function run () {
|
|||
const release = await releases.getRelease(version);
|
||||
const platform = mapOS(osPlatform);
|
||||
const arch = mapArch(osArch);
|
||||
core.debug(`Getting build for OpenTofu version ${release.version}: ${platform} ${arch}`);
|
||||
const build = release.getBuild(platform, arch);
|
||||
if (!build) {
|
||||
throw new Error(`OpenTofu version ${version} not available for ${platform} and ${arch}`);
|
||||
|
|
|
|||
|
|
@ -186,10 +186,14 @@ function mockFetchReleases () {
|
|||
}
|
||||
|
||||
describe('getRelease', () => {
|
||||
it('shall return the latest release', async () => {
|
||||
it('shall return \'1.6.0-alpha2\' release', async () => {
|
||||
const version = '<1.6.0-alpha3';
|
||||
const want = mockFetchReleases().find(el => el.version === '1.6.0-alpha2');
|
||||
const gotRelease = await pkg.getRelease(version, mockFetchReleases);
|
||||
expect(gotRelease).toEqual(want);
|
||||
});
|
||||
|
||||
it('shall return the latest release', async () => {
|
||||
await pkg.getRelease('latest', mockFetchReleases);
|
||||
});
|
||||
});
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue