diff --git a/__tests__/setup-go.test.ts b/__tests__/setup-go.test.ts index 27531d6..895f1d4 100644 --- a/__tests__/setup-go.test.ts +++ b/__tests__/setup-go.test.ts @@ -797,7 +797,9 @@ exclude example.com/thismodule v1.3.0 await main.run(); - expect(logSpy).toHaveBeenCalledWith('Setup go stable version spec 1.14'); + expect(logSpy).toHaveBeenCalledWith('Setup go version spec 1.14'); + expect(logSpy).toHaveBeenCalledWith('Attempting to download 1.14...'); + expect(logSpy).toHaveBeenCalledWith('matching 1.14...'); }); it('reads version from .go-version', async () => { @@ -806,9 +808,9 @@ exclude example.com/thismodule v1.3.0 await main.run(); - expect(logSpy).toHaveBeenCalledWith( - 'Setup go stable version spec 1.13.0' - ); + expect(logSpy).toHaveBeenCalledWith('Setup go version spec 1.13.0'); + expect(logSpy).toHaveBeenCalledWith('Attempting to download 1.13.0...'); + expect(logSpy).toHaveBeenCalledWith('matching 1.13.0...'); }); it('is overwritten by go-version', async () => { @@ -818,9 +820,9 @@ exclude example.com/thismodule v1.3.0 await main.run(); - expect(logSpy).toHaveBeenCalledWith( - 'Setup go stable version spec 1.13.1' - ); + expect(logSpy).toHaveBeenCalledWith('Setup go version spec 1.13.1'); + expect(logSpy).toHaveBeenCalledWith('Attempting to download 1.13.1...'); + expect(logSpy).toHaveBeenCalledWith('matching 1.13.1...'); }); it('reports a read failure', async () => { diff --git a/src/installer.ts b/src/installer.ts index 6a147b5..c1a1e39 100644 --- a/src/installer.ts +++ b/src/installer.ts @@ -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(); } diff --git a/src/main.ts b/src/main.ts index 1152a29..ca31f39 100644 --- a/src/main.ts +++ b/src/main.ts @@ -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;