feat: added versions resolution logic to use user's input.

Signed-off-by: Dmitry Kisler <admin@dkisler.com>
This commit is contained in:
Dmitry Kisler 2023-10-10 11:46:36 +02:00
parent c68fac3149
commit 45ec8bfee0
No known key found for this signature in database
GPG key ID: 46C0A987D58548F6
4 changed files with 7 additions and 5 deletions

3
dist/index.js vendored
View file

@ -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}`);

View file

@ -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);
}

View file

@ -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}`);

View file

@ -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);
});
});