diff --git a/build/backend.js b/build/backend.js index 0d48d7411c89a96e949772f4e63a6ee202110028..9a717227edb5f06f7dd6862333602c84382dea11 100644 --- a/build/backend.js +++ b/build/backend.js @@ -66,8 +66,6 @@ gulp.task('backend:prod', ['package-backend-source'], function(doneFn) { doneFn, { // Disable cgo package. Required to run on scratch docker image. CGO_ENABLED: '0', - // Scratch docker image is linux. - GOOS: 'linux', }); }, function(error) { doneFn(error); }); diff --git a/build/gocommand.js b/build/gocommand.js index e5c694f4b9762fad4d988e4d78bc0139c64e97fa..a0e36edfc1efa6f925e8b66411db319e16bf7a0d 100644 --- a/build/gocommand.js +++ b/build/gocommand.js @@ -44,9 +44,13 @@ const minGoVersion = '1.5.0'; * * @param {!Array} args - Arguments of the go command. * @param {function(?Error=)} doneFn - Callback. + * @param {!Object=} [envOverride] optional environment variables overrides map. */ -export default function spawnGoProcess(args, doneFn) { - checkPrerequisites().then(() => spawnProcess(args)).then(doneFn).fail((error) => doneFn(error)); +export default function spawnGoProcess(args, doneFn, envOverride) { + checkPrerequisites() + .then(() => spawnProcess(args, envOverride)) + .then(doneFn) + .fail((error) => doneFn(error)); } /** @@ -146,12 +150,14 @@ function checkGodep() { * Promises an error if the go command process fails. * * @param {!Array} args - Arguments of the go command. + * @param {!Object=} [envOverride] optional environment variables overrides map. * @return {Q.Promise} A promise object. */ -function spawnProcess(args) { +function spawnProcess(args, envOverride) { let deferred = q.defer(); + let envLocal = lodash.merge(env, envOverride); let goTask = child.spawn('godep', ['go'].concat(args), { - env: env, + env: envLocal, stdio: 'inherit', }); // Call Gulp callback on task exit. This has to be done to make Gulp dependency management