From 0023cf10d2f41d4eddfd3d6ad7ad99a1152ef708 Mon Sep 17 00:00:00 2001 From: SKi Date: Fri, 14 Apr 2023 03:26:47 -0700 Subject: Fix: Checkout fail in self-hosted runners when faulty submodule are checked-in (#1196) * Fix Self hosted runner issue wrt bad submodules - solution cleanup working space. * Fix format with npm run format output * Add mock implementation for new function submoduleStatus * Add 2 test cases for submodule status. * Codeql-Action Analyse revert v1 to v2 --------- Co-authored-by: Bassem Dghaidi <568794+Link-@users.noreply.github.com> Co-authored-by: sminnie --- src/git-command-manager.ts | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/git-command-manager.ts') diff --git a/src/git-command-manager.ts b/src/git-command-manager.ts index 01aedfe..ab07524 100644 --- a/src/git-command-manager.ts +++ b/src/git-command-manager.ts @@ -41,6 +41,7 @@ export interface IGitCommandManager { submoduleForeach(command: string, recursive: boolean): Promise submoduleSync(recursive: boolean): Promise submoduleUpdate(fetchDepth: number, recursive: boolean): Promise + submoduleStatus(): Promise tagExists(pattern: string): Promise tryClean(): Promise tryConfigUnset(configKey: string, globalConfig?: boolean): Promise @@ -357,6 +358,12 @@ class GitCommandManager { await this.execGit(args) } + async submoduleStatus(): Promise { + const output = await this.execGit(['submodule', 'status'], true) + core.debug(output.stdout) + return output.exitCode === 0 + } + async tagExists(pattern: string): Promise { const output = await this.execGit(['tag', '--list', pattern]) return !!output.stdout.trim() -- cgit v1.2.3