Fix parseGoVersionFile

This commit is contained in:
jojo43 2022-05-01 11:56:41 +09:00
parent fabe2129ee
commit dbe1872ad4
3 changed files with 18 additions and 16 deletions

View file

@ -4,6 +4,7 @@ import * as path from 'path';
import * as semver from 'semver';
import * as httpm from '@actions/http-client';
import * as sys from './system';
import fs from 'fs';
import os from 'os';
type InstallationType = 'dist' | 'manifest';
@ -299,11 +300,13 @@ export function makeSemver(version: string): string {
return fullVersion;
}
export function parseGoVersionFile(contents: string, isMod: boolean): string {
if (!isMod) {
return contents.trim();
export function parseGoVersionFile(versionFilePath: string): string {
const contents = fs.readFileSync(versionFilePath).toString();
if (path.basename(versionFilePath) === 'go.mod') {
const match = contents.match(/^go (\d+(\.\d+)*)/m);
return match ? match[1] : '';
}
const match = contents.match(/^go (\d+(\.\d+)*)/m);
return match ? match[1] : '';
return contents.trim();
}

View file

@ -120,10 +120,7 @@ function resolveVersionInput(): string {
}
if (versionFilePath) {
version = installer.parseGoVersionFile(
fs.readFileSync(versionFilePath).toString(),
path.basename(versionFilePath) === 'go.mod'
);
version = installer.parseGoVersionFile(versionFilePath);
}
return version;