From a93c96fec9425cc559149ccea7b149eb3a428260 Mon Sep 17 00:00:00 2001 From: Pierre Vanduynslager Date: Fri, 7 Feb 2020 17:34:08 -0500 Subject: [PATCH] revert: fix: allow plugins to set environment variables to be used by other plugins This reverts commit 68f7e928f93440a891fdb7c053d37082e228e1a6. --- lib/plugins/normalize.js | 5 ++--- test/index.test.js | 48 ---------------------------------------- 2 files changed, 2 insertions(+), 51 deletions(-) diff --git a/lib/plugins/normalize.js b/lib/plugins/normalize.js index 19b5db05..b35f3370 100644 --- a/lib/plugins/normalize.js +++ b/lib/plugins/normalize.js @@ -6,7 +6,7 @@ const PLUGINS_DEFINITIONS = require('../definitions/plugins'); const {loadPlugin, parseConfig} = require('./utils'); module.exports = (context, type, pluginOpt, pluginsPath) => { - const {stdout, stderr, options, logger, env} = context; + const {stdout, stderr, options, logger} = context; if (!pluginOpt) { return noop; } @@ -32,11 +32,10 @@ module.exports = (context, type, pluginOpt, pluginsPath) => { if (!input.options.dryRun || dryRun) { logger.log(`Start step "${type}" of plugin "${pluginName}"`); const result = await func({ - ...cloneDeep(omit(input, ['stdout', 'stderr', 'logger', 'env'])), + ...cloneDeep(omit(input, ['stdout', 'stderr', 'logger'])), stdout, stderr, logger: logger.scope(logger.scopeName, pluginName), - env, }); if (outputValidator && !outputValidator(result)) { throw getError(`E${type.toUpperCase()}OUTPUT`, {result, pluginName}); diff --git a/test/index.test.js b/test/index.test.js index e9c36cfe..65a30bd2 100644 --- a/test/index.test.js +++ b/test/index.test.js @@ -1941,51 +1941,3 @@ test('Get all commits including the ones not in the shallow clone', async t => { t.is(analyzeCommits.args[0][1].commits.length, 3); }); - -test('Allow plugins to set environment variables', async t => { - const {cwd, repositoryUrl} = await gitRepo(true); - await gitCommits(['First'], {cwd}); - await gitTagVersion('v1.0.0', undefined, {cwd}); - await gitCommits(['Second'], {cwd}); - await gitPush(repositoryUrl, 'master', {cwd}); - - const nextRelease = {type: 'major', version: '2.0.0', gitHead: await getGitHead({cwd}), gitTag: 'v2.0.0'}; - const verifyConditions = stub().resolves(); - const analyzeCommits = stub().resolves(nextRelease.type); - const verifyRelease = stub().resolves(); - const generateNotes = stub().resolves(); - const prepare = stub().resolves(); - const publish1 = async (_, context) => { - context.env.TEST_VAR = 'test-value'; - }; - - const publish2 = stub().resolves(); - const success = stub().resolves(); - const env = {...process.env}; - const config = {branch: 'master', repositoryUrl}; - const options = { - ...config, - plugins: false, - verifyConditions, - analyzeCommits, - verifyRelease, - generateNotes, - prepare, - publish: [publish1, publish2], - success, - }; - - const semanticRelease = requireNoCache('..', { - './lib/get-logger': () => t.context.logger, - 'env-ci': () => ({isCi: true, branch: 'master', isPr: false}), - }); - await semanticRelease(options, { - cwd, - env, - stdout: new WritableStreamBuffer(), - stderr: new WritableStreamBuffer(), - }); - - t.is(publish2.args[0][1].env.TEST_VAR, 'test-value'); - t.is(env.TEST_VAR, 'test-value'); -});