mirror of
https://github.com/actions/setup-go.git
synced 2025-07-01 13:43:44 +00:00
Add $GOBIN
- Set $GOBIN to $(go env GOPATH)/bin - Add $GOBIN to the PATH Should make the setup of tools like golangci-lint or golint work with a simple `go get`. Using $GOBIN instead of $GOPATH/bin because the goal is to have GOPATH not being directly referenced. Also, in the future, GOBIN will have a default value too, so we would not need to manually set it, just add it to the path (see discussion in golang/go#23439). Closes #14.
This commit is contained in:
parent
2096a2c66a
commit
25c870be4d
5 changed files with 106 additions and 17 deletions
42
dist/index.js
vendored
42
dist/index.js
vendored
|
@ -1279,6 +1279,7 @@ const core = __importStar(__webpack_require__(470));
|
|||
const tc = __importStar(__webpack_require__(533));
|
||||
const installer = __importStar(__webpack_require__(749));
|
||||
const path = __importStar(__webpack_require__(622));
|
||||
const gobin = __importStar(__webpack_require__(517));
|
||||
function run() {
|
||||
return __awaiter(this, void 0, void 0, function* () {
|
||||
try {
|
||||
|
@ -1302,6 +1303,9 @@ function run() {
|
|||
core.exportVariable('GOROOT', installDir);
|
||||
core.addPath(path.join(installDir, 'bin'));
|
||||
console.log('Added go to the path');
|
||||
const gobinDir = yield gobin.getGOBIN(installDir);
|
||||
core.exportVariable('GOBIN', gobinDir);
|
||||
core.addPath(gobinDir);
|
||||
}
|
||||
else {
|
||||
throw new Error(`Could not find a version that satisfied version spec: ${versionSpec}`);
|
||||
|
@ -3245,6 +3249,44 @@ function getState(name) {
|
|||
exports.getState = getState;
|
||||
//# sourceMappingURL=core.js.map
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ 517:
|
||||
/***/ (function(__unusedmodule, exports, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
|
||||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
||||
return new (P || (P = Promise))(function (resolve, reject) {
|
||||
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
||||
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
||||
function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
|
||||
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
||||
});
|
||||
};
|
||||
var __importStar = (this && this.__importStar) || function (mod) {
|
||||
if (mod && mod.__esModule) return mod;
|
||||
var result = {};
|
||||
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
|
||||
result["default"] = mod;
|
||||
return result;
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const childProcess = __importStar(__webpack_require__(129));
|
||||
const path = __importStar(__webpack_require__(622));
|
||||
const util_1 = __webpack_require__(669);
|
||||
const exec = util_1.promisify(childProcess.exec);
|
||||
function getGOBIN(installDir) {
|
||||
return __awaiter(this, void 0, void 0, function* () {
|
||||
const goExecutable = path.join(installDir, 'bin', 'go');
|
||||
const result = yield exec(`${goExecutable} env GOPATH`);
|
||||
const gopath = result.stdout;
|
||||
return path.join(gopath, 'bin');
|
||||
});
|
||||
}
|
||||
exports.getGOBIN = getGOBIN;
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ 533:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue