Skip to content

Commit 4c868b3

Browse files
committed
Allow setting environment variables
1 parent 8d24507 commit 4c868b3

3 files changed

Lines changed: 15 additions & 2 deletions

File tree

src/environment.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -172,4 +172,6 @@ export interface Env {
172172
getOptional(name: string): string | undefined;
173173
/** Gets the entries of the underlying `ProcessEnv`. */
174174
entries(): Array<[string, string | undefined]>;
175+
/** Sets an environment variable. */
176+
set(name: string, value: string): void;
175177
}

src/testing-utils.ts

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -331,11 +331,19 @@ export type ActionVarOverrides = Partial<
331331
* excluding some that are expected to be set to paths. See `setupActionsVars`.
332332
*
333333
* @param overrides Overrides for the defaults.
334+
* @param env The environment to set the variables for.
334335
*/
335-
export function setupBaseActionsVars(overrides?: ActionVarOverrides) {
336+
export function setupBaseActionsVars(
337+
overrides?: ActionVarOverrides,
338+
env?: Env,
339+
) {
336340
const vars = { ...DEFAULT_ACTIONS_VARS, ...overrides };
337341
for (const [key, value] of Object.entries(vars)) {
338-
process.env[key] = value;
342+
if (env) {
343+
env.set(key, value);
344+
} else {
345+
process.env[key] = value;
346+
}
339347
}
340348
}
341349

src/util.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -572,6 +572,9 @@ export function getEnv(env: NodeJS.ProcessEnv = process.env): Env {
572572
getRequired: (name) => getRequiredEnvVar(env, name),
573573
getOptional: (name) => getOptionalEnvVarFrom(env, name),
574574
entries: () => Object.entries(env),
575+
set: (name, value) => {
576+
env[name] = value;
577+
},
575578
};
576579
}
577580

0 commit comments

Comments
 (0)