Read-only mirror — the public repositories of the Forgejo instance, refreshed every 10 minutes. The live instance (fg.dieschoenewolke.de) is reachable only over the VPN; clone here with https://git.dieschoenewolke.de/git/<owner>/<repo>.git.
summaryrefslogtreecommitdiff
path: root/dist
diff options
context:
space:
mode:
authorSKi <megamanics@users.noreply.github.com>2023-04-14 03:26:47 -0700
committerGitHub <noreply@github.com>2023-04-14 06:26:47 -0400
commit0023cf10d2f41d4eddfd3d6ad7ad99a1152ef708 (patch)
tree54997dba50eeec3cbc1e3119122ed65b062042b2 /dist
parent72a27d858e989e4f80fdb9a9747ee908f946c62e (diff)
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 <minnie@sankhe.com>
Diffstat (limited to 'dist')
-rw-r--r--dist/index.js12
1 files changed, 12 insertions, 0 deletions
diff --git a/dist/index.js b/dist/index.js
index 1b418d7..13a291a 100644
--- a/dist/index.js
+++ b/dist/index.js
@@ -765,6 +765,13 @@ class GitCommandManager {
yield this.execGit(args);
});
}
+ submoduleStatus() {
+ return __awaiter(this, void 0, void 0, function* () {
+ const output = yield this.execGit(['submodule', 'status'], true);
+ core.debug(output.stdout);
+ return output.exitCode === 0;
+ });
+ }
tagExists(pattern) {
return __awaiter(this, void 0, void 0, function* () {
const output = yield this.execGit(['tag', '--list', pattern]);
@@ -1023,6 +1030,11 @@ function prepareExistingDirectory(git, repositoryPath, repositoryUrl, clean, ref
}
}
core.endGroup();
+ // Check for submodules and delete any existing files if submodules are present
+ if (!(yield git.submoduleStatus())) {
+ remove = true;
+ core.info('Bad Submodules found, removing existing files');
+ }
// Clean
if (clean) {
core.startGroup('Cleaning the repository');