From a5c1ce924a7a6ae521f5b4bc156c9f871d61824e Mon Sep 17 00:00:00 2001 From: Frits Talbot Date: Sat, 10 Oct 2020 10:02:44 +0200 Subject: [PATCH] Support fetch-jobs: 0 to use as many jobs as there are processors The default is now fetch-jobs: -1, which is the new value for reverting to normal git behavior (provide no --jobs argument). --- README.md | 7 ++++--- __test__/git-auth-helper.test.ts | 2 +- __test__/input-helper.test.ts | 2 +- action.yml | 7 +++++-- dist/index.js | 8 ++++---- src/git-command-manager.ts | 2 +- src/input-helper.ts | 6 +++--- 7 files changed, 19 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index 90eef49..bc2552b 100644 --- a/README.md +++ b/README.md @@ -93,9 +93,10 @@ Refer [here](https://github.com/actions/checkout/blob/v1/README.md) for previous # Default: 1 fetch-depth: '' - # Number of fetches to perform simultaneously when updating submodules. 0 - # indicates default (serial updates). - # Default: 0 + # Number of fetches to perform simultaneously when updating submodules: -1 + # indicates to use git default (serial updates). 0 uses as many jobs as there are + # processors. + # Default: -1 fetch-jobs: '' # Whether to download Git-LFS files diff --git a/__test__/git-auth-helper.test.ts b/__test__/git-auth-helper.test.ts index 889e2b6..6ac3f12 100644 --- a/__test__/git-auth-helper.test.ts +++ b/__test__/git-auth-helper.test.ts @@ -760,7 +760,7 @@ async function setup(testName: string): Promise { clean: true, commit: '', fetchDepth: 1, - fetchJobs: 0, + fetchJobs: -1, lfs: false, submodules: false, nestedSubmodules: false, diff --git a/__test__/input-helper.test.ts b/__test__/input-helper.test.ts index d9da8b9..b6146f8 100644 --- a/__test__/input-helper.test.ts +++ b/__test__/input-helper.test.ts @@ -75,7 +75,7 @@ describe('input-helper tests', () => { expect(settings.commit).toBeTruthy() expect(settings.commit).toBe('1234567890123456789012345678901234567890') expect(settings.fetchDepth).toBe(1) - expect(settings.fetchJobs).toBe(0) + expect(settings.fetchJobs).toBe(-1) expect(settings.lfs).toBe(false) expect(settings.ref).toBe('refs/heads/some-ref') expect(settings.repositoryName).toBe('some-repo') diff --git a/action.yml b/action.yml index 1abd5c8..d4433d2 100644 --- a/action.yml +++ b/action.yml @@ -57,8 +57,11 @@ inputs: description: 'Number of commits to fetch. 0 indicates all history for all branches and tags.' default: 1 fetch-jobs: - description: 'Number of fetches to perform simultaneously when updating submodules. 0 indicates default (serial updates).' - default: 0 + description: > + Number of fetches to perform simultaneously when updating submodules: + -1 indicates to use git default (serial updates). 0 uses as many jobs as + there are processors. + default: -1 lfs: description: 'Whether to download Git-LFS files' default: false diff --git a/dist/index.js b/dist/index.js index 2faf9a2..d77981a 100644 --- a/dist/index.js +++ b/dist/index.js @@ -5949,7 +5949,7 @@ class GitCommandManager { if (recursive) { args.push('--recursive'); } - if (fetchJobs > 0) { + if (fetchJobs > -1) { args.push(`--jobs=${fetchJobs}`); } yield this.execGit(args); @@ -14571,9 +14571,9 @@ function getInputs() { } core.debug(`fetch depth = ${result.fetchDepth}`); // Fetch jobs - result.fetchJobs = Math.floor(Number(core.getInput('fetch-jobs') || '0')); - if (isNaN(result.fetchJobs) || result.fetchJobs < 0) { - result.fetchJobs = 0; + result.fetchJobs = Math.floor(Number(core.getInput('fetch-jobs') || '-1')); + if (isNaN(result.fetchJobs) || result.fetchJobs < -1) { + result.fetchJobs = -1; } core.debug(`fetch jobs = ${result.fetchJobs}`); // LFS diff --git a/src/git-command-manager.ts b/src/git-command-manager.ts index 92dc3f3..6ef3bec 100644 --- a/src/git-command-manager.ts +++ b/src/git-command-manager.ts @@ -327,7 +327,7 @@ class GitCommandManager { args.push('--recursive') } - if (fetchJobs > 0) { + if (fetchJobs > -1) { args.push(`--jobs=${fetchJobs}`) } diff --git a/src/input-helper.ts b/src/input-helper.ts index 8767899..8a3f79b 100644 --- a/src/input-helper.ts +++ b/src/input-helper.ts @@ -89,9 +89,9 @@ export function getInputs(): IGitSourceSettings { core.debug(`fetch depth = ${result.fetchDepth}`) // Fetch jobs - result.fetchJobs = Math.floor(Number(core.getInput('fetch-jobs') || '0')) - if (isNaN(result.fetchJobs) || result.fetchJobs < 0) { - result.fetchJobs = 0 + result.fetchJobs = Math.floor(Number(core.getInput('fetch-jobs') || '-1')) + if (isNaN(result.fetchJobs) || result.fetchJobs < -1) { + result.fetchJobs = -1 } core.debug(`fetch jobs = ${result.fetchJobs}`)