mirror of
https://github.com/actions/setup-go.git
synced 2025-04-24 01:50:52 +00:00
Fix parseGoVersionFile
This commit is contained in:
parent
fabe2129ee
commit
dbe1872ad4
3 changed files with 18 additions and 16 deletions
|
@ -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 () => {
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Add table
Reference in a new issue