From d4385a64a79e01e0b5eff991f721f234bdcd7620 Mon Sep 17 00:00:00 2001 From: Yang Cao Date: Wed, 8 Jan 2025 18:14:04 +0000 Subject: [PATCH] Concurrency has a min of 1 --- packages/artifact/__tests__/config.test.ts | 8 ++++++++ packages/artifact/src/internal/shared/config.ts | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/artifact/__tests__/config.test.ts b/packages/artifact/__tests__/config.test.ts index 4057ec3e..579fed6e 100644 --- a/packages/artifact/__tests__/config.test.ts +++ b/packages/artifact/__tests__/config.test.ts @@ -85,6 +85,14 @@ describe('uploadConcurrencyEnv', () => { }).toThrow() }) + it('should throw if ACTIONS_UPLOAD_CONCURRENCY is < 1', () => { + ;(os.cpus as jest.Mock).mockReturnValue(new Array(4)) + process.env.ACTIONS_UPLOAD_CONCURRENCY = '0' + expect(() => { + config.getConcurrency() + }).toThrow() + }) + it('cannot go over currency cap when override value is greater', () => { ;(os.cpus as jest.Mock).mockReturnValue(new Array(4)) process.env.ACTIONS_UPLOAD_CONCURRENCY = '40' diff --git a/packages/artifact/src/internal/shared/config.ts b/packages/artifact/src/internal/shared/config.ts index d9d9ae35..44547451 100644 --- a/packages/artifact/src/internal/shared/config.ts +++ b/packages/artifact/src/internal/shared/config.ts @@ -61,7 +61,7 @@ export function getConcurrency(): number { const concurrencyOverride = process.env['ACTIONS_UPLOAD_CONCURRENCY'] if (concurrencyOverride) { const concurrency = parseInt(concurrencyOverride) - if (isNaN(concurrency)) { + if (isNaN(concurrency) || concurrency < 1) { throw new Error( 'Invalid value set for ACTIONS_UPLOAD_CONCURRENCY env variable' )