create bin if not under go env GOPATH

This commit is contained in:
Bryan MacFarlane
2020-03-26 12:40:41 -04:00
parent 3e014ec8a4
commit 1fea44b3f0
3 changed files with 40 additions and 19 deletions

View File

@ -1,4 +1,5 @@
import * as core from '@actions/core';
import * as io from '@actions/io';
import * as tc from '@actions/tool-cache';
import * as installer from './installer';
import * as path from 'path';
@ -59,17 +60,25 @@ export async function run() {
}
}
function addBinToPath(): boolean {
async function addBinToPath(): Promise<boolean> {
let added = false;
let g = await io.which('go');
if (!g) {
core.debug('go not in the path');
return added;
}
let buf = cp.execSync('go env GOPATH');
if (buf) {
let d = buf.toString().trim();
core.debug(`go env GOPATH: ${d}`);
let bp = path.join(d, 'bin');
let gp = buf.toString().trim();
core.debug(`go env GOPATH: ${gp}`);
if (fs.existsSync(gp)) {
let bp = path.join(gp, 'bin');
if (!fs.existsSync(bp)) {
core.debug(`creating ${bp}`);
io.mkdirP(bp);
}
if (fs.existsSync(bp)) {
core.debug(`${bp} exists`);
core.addPath(bp);
added = true;
}