add support for submodules (#173)
This commit is contained in:
		
							
								
								
									
										309
									
								
								dist/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										309
									
								
								dist/index.js
									
									
									
									
										vendored
									
									
								
							@@ -5074,21 +5074,35 @@ var __importStar = (this && this.__importStar) || function (mod) {
 | 
			
		||||
    result["default"] = mod;
 | 
			
		||||
    return result;
 | 
			
		||||
};
 | 
			
		||||
var __importDefault = (this && this.__importDefault) || function (mod) {
 | 
			
		||||
    return (mod && mod.__esModule) ? mod : { "default": mod };
 | 
			
		||||
};
 | 
			
		||||
Object.defineProperty(exports, "__esModule", { value: true });
 | 
			
		||||
const assert = __importStar(__webpack_require__(357));
 | 
			
		||||
const core = __importStar(__webpack_require__(470));
 | 
			
		||||
const fs = __importStar(__webpack_require__(747));
 | 
			
		||||
const io = __importStar(__webpack_require__(1));
 | 
			
		||||
const os = __importStar(__webpack_require__(87));
 | 
			
		||||
const path = __importStar(__webpack_require__(622));
 | 
			
		||||
const regexpHelper = __importStar(__webpack_require__(528));
 | 
			
		||||
const v4_1 = __importDefault(__webpack_require__(826));
 | 
			
		||||
const IS_WINDOWS = process.platform === 'win32';
 | 
			
		||||
const HOSTNAME = 'github.com';
 | 
			
		||||
const EXTRA_HEADER_KEY = `http.https://${HOSTNAME}/.extraheader`;
 | 
			
		||||
function createAuthHelper(git, settings) {
 | 
			
		||||
    return new GitAuthHelper(git, settings);
 | 
			
		||||
}
 | 
			
		||||
exports.createAuthHelper = createAuthHelper;
 | 
			
		||||
class GitAuthHelper {
 | 
			
		||||
    constructor(gitCommandManager, gitSourceSettings) {
 | 
			
		||||
        this.tokenConfigKey = `http.https://${HOSTNAME}/.extraheader`;
 | 
			
		||||
        this.temporaryHomePath = '';
 | 
			
		||||
        this.git = gitCommandManager;
 | 
			
		||||
        this.settings = gitSourceSettings || {};
 | 
			
		||||
        // Token auth header
 | 
			
		||||
        const basicCredential = Buffer.from(`x-access-token:${this.settings.authToken}`, 'utf8').toString('base64');
 | 
			
		||||
        core.setSecret(basicCredential);
 | 
			
		||||
        this.tokenPlaceholderConfigValue = `AUTHORIZATION: basic ***`;
 | 
			
		||||
        this.tokenConfigValue = `AUTHORIZATION: basic ${basicCredential}`;
 | 
			
		||||
    }
 | 
			
		||||
    configureAuth() {
 | 
			
		||||
        return __awaiter(this, void 0, void 0, function* () {
 | 
			
		||||
@@ -5098,37 +5112,110 @@ class GitAuthHelper {
 | 
			
		||||
            yield this.configureToken();
 | 
			
		||||
        });
 | 
			
		||||
    }
 | 
			
		||||
    configureGlobalAuth() {
 | 
			
		||||
        return __awaiter(this, void 0, void 0, function* () {
 | 
			
		||||
            // Create a temp home directory
 | 
			
		||||
            const runnerTemp = process.env['RUNNER_TEMP'] || '';
 | 
			
		||||
            assert.ok(runnerTemp, 'RUNNER_TEMP is not defined');
 | 
			
		||||
            const uniqueId = v4_1.default();
 | 
			
		||||
            this.temporaryHomePath = path.join(runnerTemp, uniqueId);
 | 
			
		||||
            yield fs.promises.mkdir(this.temporaryHomePath, { recursive: true });
 | 
			
		||||
            // Copy the global git config
 | 
			
		||||
            const gitConfigPath = path.join(process.env['HOME'] || os.homedir(), '.gitconfig');
 | 
			
		||||
            const newGitConfigPath = path.join(this.temporaryHomePath, '.gitconfig');
 | 
			
		||||
            let configExists = false;
 | 
			
		||||
            try {
 | 
			
		||||
                yield fs.promises.stat(gitConfigPath);
 | 
			
		||||
                configExists = true;
 | 
			
		||||
            }
 | 
			
		||||
            catch (err) {
 | 
			
		||||
                if (err.code !== 'ENOENT') {
 | 
			
		||||
                    throw err;
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
            if (configExists) {
 | 
			
		||||
                core.info(`Copying '${gitConfigPath}' to '${newGitConfigPath}'`);
 | 
			
		||||
                yield io.cp(gitConfigPath, newGitConfigPath);
 | 
			
		||||
            }
 | 
			
		||||
            else {
 | 
			
		||||
                yield fs.promises.writeFile(newGitConfigPath, '');
 | 
			
		||||
            }
 | 
			
		||||
            // Configure the token
 | 
			
		||||
            try {
 | 
			
		||||
                core.info(`Temporarily overriding HOME='${this.temporaryHomePath}' before making global git config changes`);
 | 
			
		||||
                this.git.setEnvironmentVariable('HOME', this.temporaryHomePath);
 | 
			
		||||
                yield this.configureToken(newGitConfigPath, true);
 | 
			
		||||
            }
 | 
			
		||||
            catch (err) {
 | 
			
		||||
                // Unset in case somehow written to the real global config
 | 
			
		||||
                core.info('Encountered an error when attempting to configure token. Attempting unconfigure.');
 | 
			
		||||
                yield this.git.tryConfigUnset(this.tokenConfigKey, true);
 | 
			
		||||
                throw err;
 | 
			
		||||
            }
 | 
			
		||||
        });
 | 
			
		||||
    }
 | 
			
		||||
    configureSubmoduleAuth() {
 | 
			
		||||
        return __awaiter(this, void 0, void 0, function* () {
 | 
			
		||||
            if (this.settings.persistCredentials) {
 | 
			
		||||
                // Configure a placeholder value. This approach avoids the credential being captured
 | 
			
		||||
                // by process creation audit events, which are commonly logged. For more information,
 | 
			
		||||
                // refer to https://docs.microsoft.com/en-us/windows-server/identity/ad-ds/manage/component-updates/command-line-process-auditing
 | 
			
		||||
                const output = yield this.git.submoduleForeach(`git config "${this.tokenConfigKey}" "${this.tokenPlaceholderConfigValue}" && git config --local --show-origin --name-only --get-regexp remote.origin.url`, this.settings.nestedSubmodules);
 | 
			
		||||
                // Replace the placeholder
 | 
			
		||||
                const configPaths = output.match(/(?<=(^|\n)file:)[^\t]+(?=\tremote\.origin\.url)/g) || [];
 | 
			
		||||
                for (const configPath of configPaths) {
 | 
			
		||||
                    core.debug(`Replacing token placeholder in '${configPath}'`);
 | 
			
		||||
                    this.replaceTokenPlaceholder(configPath);
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        });
 | 
			
		||||
    }
 | 
			
		||||
    removeAuth() {
 | 
			
		||||
        return __awaiter(this, void 0, void 0, function* () {
 | 
			
		||||
            yield this.removeToken();
 | 
			
		||||
        });
 | 
			
		||||
    }
 | 
			
		||||
    configureToken() {
 | 
			
		||||
    removeGlobalAuth() {
 | 
			
		||||
        return __awaiter(this, void 0, void 0, function* () {
 | 
			
		||||
            core.info(`Unsetting HOME override`);
 | 
			
		||||
            this.git.removeEnvironmentVariable('HOME');
 | 
			
		||||
            yield io.rmRF(this.temporaryHomePath);
 | 
			
		||||
        });
 | 
			
		||||
    }
 | 
			
		||||
    configureToken(configPath, globalConfig) {
 | 
			
		||||
        return __awaiter(this, void 0, void 0, function* () {
 | 
			
		||||
            // Validate args
 | 
			
		||||
            assert.ok((configPath && globalConfig) || (!configPath && !globalConfig), 'Unexpected configureToken parameter combinations');
 | 
			
		||||
            // Default config path
 | 
			
		||||
            if (!configPath && !globalConfig) {
 | 
			
		||||
                configPath = path.join(this.git.getWorkingDirectory(), '.git', 'config');
 | 
			
		||||
            }
 | 
			
		||||
            // Configure a placeholder value. This approach avoids the credential being captured
 | 
			
		||||
            // by process creation audit events, which are commonly logged. For more information,
 | 
			
		||||
            // refer to https://docs.microsoft.com/en-us/windows-server/identity/ad-ds/manage/component-updates/command-line-process-auditing
 | 
			
		||||
            const placeholder = `AUTHORIZATION: basic ***`;
 | 
			
		||||
            yield this.git.config(EXTRA_HEADER_KEY, placeholder);
 | 
			
		||||
            // Determine the basic credential value
 | 
			
		||||
            const basicCredential = Buffer.from(`x-access-token:${this.settings.authToken}`, 'utf8').toString('base64');
 | 
			
		||||
            core.setSecret(basicCredential);
 | 
			
		||||
            // Replace the value in the config file
 | 
			
		||||
            const configPath = path.join(this.git.getWorkingDirectory(), '.git', 'config');
 | 
			
		||||
            yield this.git.config(this.tokenConfigKey, this.tokenPlaceholderConfigValue, globalConfig);
 | 
			
		||||
            // Replace the placeholder
 | 
			
		||||
            yield this.replaceTokenPlaceholder(configPath || '');
 | 
			
		||||
        });
 | 
			
		||||
    }
 | 
			
		||||
    replaceTokenPlaceholder(configPath) {
 | 
			
		||||
        return __awaiter(this, void 0, void 0, function* () {
 | 
			
		||||
            assert.ok(configPath, 'configPath is not defined');
 | 
			
		||||
            let content = (yield fs.promises.readFile(configPath)).toString();
 | 
			
		||||
            const placeholderIndex = content.indexOf(placeholder);
 | 
			
		||||
            const placeholderIndex = content.indexOf(this.tokenPlaceholderConfigValue);
 | 
			
		||||
            if (placeholderIndex < 0 ||
 | 
			
		||||
                placeholderIndex != content.lastIndexOf(placeholder)) {
 | 
			
		||||
                throw new Error('Unable to replace auth placeholder in .git/config');
 | 
			
		||||
                placeholderIndex != content.lastIndexOf(this.tokenPlaceholderConfigValue)) {
 | 
			
		||||
                throw new Error(`Unable to replace auth placeholder in ${configPath}`);
 | 
			
		||||
            }
 | 
			
		||||
            content = content.replace(placeholder, `AUTHORIZATION: basic ${basicCredential}`);
 | 
			
		||||
            assert.ok(this.tokenConfigValue, 'tokenConfigValue is not defined');
 | 
			
		||||
            content = content.replace(this.tokenPlaceholderConfigValue, this.tokenConfigValue);
 | 
			
		||||
            yield fs.promises.writeFile(configPath, content);
 | 
			
		||||
        });
 | 
			
		||||
    }
 | 
			
		||||
    removeToken() {
 | 
			
		||||
        return __awaiter(this, void 0, void 0, function* () {
 | 
			
		||||
            // HTTP extra header
 | 
			
		||||
            yield this.removeGitConfig(EXTRA_HEADER_KEY);
 | 
			
		||||
            yield this.removeGitConfig(this.tokenConfigKey);
 | 
			
		||||
        });
 | 
			
		||||
    }
 | 
			
		||||
    removeGitConfig(configKey) {
 | 
			
		||||
@@ -5138,6 +5225,8 @@ class GitAuthHelper {
 | 
			
		||||
                // Load the config contents
 | 
			
		||||
                core.warning(`Failed to remove '${configKey}' from the git config`);
 | 
			
		||||
            }
 | 
			
		||||
            const pattern = regexpHelper.escape(configKey);
 | 
			
		||||
            yield this.git.submoduleForeach(`git config --local --name-only --get-regexp ${pattern} && git config --local --unset-all ${configKey} || :`, true);
 | 
			
		||||
        });
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -5172,6 +5261,7 @@ const exec = __importStar(__webpack_require__(986));
 | 
			
		||||
const fshelper = __importStar(__webpack_require__(618));
 | 
			
		||||
const io = __importStar(__webpack_require__(1));
 | 
			
		||||
const path = __importStar(__webpack_require__(622));
 | 
			
		||||
const regexpHelper = __importStar(__webpack_require__(528));
 | 
			
		||||
const retryHelper = __importStar(__webpack_require__(587));
 | 
			
		||||
const git_version_1 = __webpack_require__(559);
 | 
			
		||||
// Auth header not supported before 2.9
 | 
			
		||||
@@ -5263,17 +5353,26 @@ class GitCommandManager {
 | 
			
		||||
            yield this.execGit(args);
 | 
			
		||||
        });
 | 
			
		||||
    }
 | 
			
		||||
    config(configKey, configValue) {
 | 
			
		||||
    config(configKey, configValue, globalConfig) {
 | 
			
		||||
        return __awaiter(this, void 0, void 0, function* () {
 | 
			
		||||
            yield this.execGit(['config', '--local', configKey, configValue]);
 | 
			
		||||
            yield this.execGit([
 | 
			
		||||
                'config',
 | 
			
		||||
                globalConfig ? '--global' : '--local',
 | 
			
		||||
                configKey,
 | 
			
		||||
                configValue
 | 
			
		||||
            ]);
 | 
			
		||||
        });
 | 
			
		||||
    }
 | 
			
		||||
    configExists(configKey) {
 | 
			
		||||
    configExists(configKey, globalConfig) {
 | 
			
		||||
        return __awaiter(this, void 0, void 0, function* () {
 | 
			
		||||
            const pattern = configKey.replace(/[^a-zA-Z0-9_]/g, x => {
 | 
			
		||||
                return `\\${x}`;
 | 
			
		||||
            });
 | 
			
		||||
            const output = yield this.execGit(['config', '--local', '--name-only', '--get-regexp', pattern], true);
 | 
			
		||||
            const pattern = regexpHelper.escape(configKey);
 | 
			
		||||
            const output = yield this.execGit([
 | 
			
		||||
                'config',
 | 
			
		||||
                globalConfig ? '--global' : '--local',
 | 
			
		||||
                '--name-only',
 | 
			
		||||
                '--get-regexp',
 | 
			
		||||
                pattern
 | 
			
		||||
            ], true);
 | 
			
		||||
            return output.exitCode === 0;
 | 
			
		||||
        });
 | 
			
		||||
    }
 | 
			
		||||
@@ -5343,9 +5442,45 @@ class GitCommandManager {
 | 
			
		||||
            yield this.execGit(['remote', 'add', remoteName, remoteUrl]);
 | 
			
		||||
        });
 | 
			
		||||
    }
 | 
			
		||||
    removeEnvironmentVariable(name) {
 | 
			
		||||
        delete this.gitEnv[name];
 | 
			
		||||
    }
 | 
			
		||||
    setEnvironmentVariable(name, value) {
 | 
			
		||||
        this.gitEnv[name] = value;
 | 
			
		||||
    }
 | 
			
		||||
    submoduleForeach(command, recursive) {
 | 
			
		||||
        return __awaiter(this, void 0, void 0, function* () {
 | 
			
		||||
            const args = ['submodule', 'foreach'];
 | 
			
		||||
            if (recursive) {
 | 
			
		||||
                args.push('--recursive');
 | 
			
		||||
            }
 | 
			
		||||
            args.push(command);
 | 
			
		||||
            const output = yield this.execGit(args);
 | 
			
		||||
            return output.stdout;
 | 
			
		||||
        });
 | 
			
		||||
    }
 | 
			
		||||
    submoduleSync(recursive) {
 | 
			
		||||
        return __awaiter(this, void 0, void 0, function* () {
 | 
			
		||||
            const args = ['submodule', 'sync'];
 | 
			
		||||
            if (recursive) {
 | 
			
		||||
                args.push('--recursive');
 | 
			
		||||
            }
 | 
			
		||||
            yield this.execGit(args);
 | 
			
		||||
        });
 | 
			
		||||
    }
 | 
			
		||||
    submoduleUpdate(fetchDepth, recursive) {
 | 
			
		||||
        return __awaiter(this, void 0, void 0, function* () {
 | 
			
		||||
            const args = ['-c', 'protocol.version=2'];
 | 
			
		||||
            args.push('submodule', 'update', '--init', '--force');
 | 
			
		||||
            if (fetchDepth > 0) {
 | 
			
		||||
                args.push(`--depth=${fetchDepth}`);
 | 
			
		||||
            }
 | 
			
		||||
            if (recursive) {
 | 
			
		||||
                args.push('--recursive');
 | 
			
		||||
            }
 | 
			
		||||
            yield this.execGit(args);
 | 
			
		||||
        });
 | 
			
		||||
    }
 | 
			
		||||
    tagExists(pattern) {
 | 
			
		||||
        return __awaiter(this, void 0, void 0, function* () {
 | 
			
		||||
            const output = yield this.execGit(['tag', '--list', pattern]);
 | 
			
		||||
@@ -5358,9 +5493,14 @@ class GitCommandManager {
 | 
			
		||||
            return output.exitCode === 0;
 | 
			
		||||
        });
 | 
			
		||||
    }
 | 
			
		||||
    tryConfigUnset(configKey) {
 | 
			
		||||
    tryConfigUnset(configKey, globalConfig) {
 | 
			
		||||
        return __awaiter(this, void 0, void 0, function* () {
 | 
			
		||||
            const output = yield this.execGit(['config', '--local', '--unset-all', configKey], true);
 | 
			
		||||
            const output = yield this.execGit([
 | 
			
		||||
                'config',
 | 
			
		||||
                globalConfig ? '--global' : '--local',
 | 
			
		||||
                '--unset-all',
 | 
			
		||||
                configKey
 | 
			
		||||
            ], true);
 | 
			
		||||
            return output.exitCode === 0;
 | 
			
		||||
        });
 | 
			
		||||
    }
 | 
			
		||||
@@ -5551,48 +5691,66 @@ function getSource(settings) {
 | 
			
		||||
            core.info(`The repository will be downloaded using the GitHub REST API`);
 | 
			
		||||
            core.info(`To create a local Git repository instead, add Git ${gitCommandManager.MinimumGitVersion} or higher to the PATH`);
 | 
			
		||||
            yield githubApiHelper.downloadRepository(settings.authToken, settings.repositoryOwner, settings.repositoryName, settings.ref, settings.commit, settings.repositoryPath);
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
        else {
 | 
			
		||||
            // Save state for POST action
 | 
			
		||||
            stateHelper.setRepositoryPath(settings.repositoryPath);
 | 
			
		||||
            // Initialize the repository
 | 
			
		||||
            if (!fsHelper.directoryExistsSync(path.join(settings.repositoryPath, '.git'))) {
 | 
			
		||||
                yield git.init();
 | 
			
		||||
                yield git.remoteAdd('origin', repositoryUrl);
 | 
			
		||||
        // Save state for POST action
 | 
			
		||||
        stateHelper.setRepositoryPath(settings.repositoryPath);
 | 
			
		||||
        // Initialize the repository
 | 
			
		||||
        if (!fsHelper.directoryExistsSync(path.join(settings.repositoryPath, '.git'))) {
 | 
			
		||||
            yield git.init();
 | 
			
		||||
            yield git.remoteAdd('origin', repositoryUrl);
 | 
			
		||||
        }
 | 
			
		||||
        // Disable automatic garbage collection
 | 
			
		||||
        if (!(yield git.tryDisableAutomaticGarbageCollection())) {
 | 
			
		||||
            core.warning(`Unable to turn off git automatic garbage collection. The git fetch operation may trigger garbage collection and cause a delay.`);
 | 
			
		||||
        }
 | 
			
		||||
        const authHelper = gitAuthHelper.createAuthHelper(git, settings);
 | 
			
		||||
        try {
 | 
			
		||||
            // Configure auth
 | 
			
		||||
            yield authHelper.configureAuth();
 | 
			
		||||
            // LFS install
 | 
			
		||||
            if (settings.lfs) {
 | 
			
		||||
                yield git.lfsInstall();
 | 
			
		||||
            }
 | 
			
		||||
            // Disable automatic garbage collection
 | 
			
		||||
            if (!(yield git.tryDisableAutomaticGarbageCollection())) {
 | 
			
		||||
                core.warning(`Unable to turn off git automatic garbage collection. The git fetch operation may trigger garbage collection and cause a delay.`);
 | 
			
		||||
            // Fetch
 | 
			
		||||
            const refSpec = refHelper.getRefSpec(settings.ref, settings.commit);
 | 
			
		||||
            yield git.fetch(settings.fetchDepth, refSpec);
 | 
			
		||||
            // Checkout info
 | 
			
		||||
            const checkoutInfo = yield refHelper.getCheckoutInfo(git, settings.ref, settings.commit);
 | 
			
		||||
            // LFS fetch
 | 
			
		||||
            // Explicit lfs-fetch to avoid slow checkout (fetches one lfs object at a time).
 | 
			
		||||
            // Explicit lfs fetch will fetch lfs objects in parallel.
 | 
			
		||||
            if (settings.lfs) {
 | 
			
		||||
                yield git.lfsFetch(checkoutInfo.startPoint || checkoutInfo.ref);
 | 
			
		||||
            }
 | 
			
		||||
            const authHelper = gitAuthHelper.createAuthHelper(git, settings);
 | 
			
		||||
            try {
 | 
			
		||||
                // Configure auth
 | 
			
		||||
                yield authHelper.configureAuth();
 | 
			
		||||
                // LFS install
 | 
			
		||||
                if (settings.lfs) {
 | 
			
		||||
                    yield git.lfsInstall();
 | 
			
		||||
            // Checkout
 | 
			
		||||
            yield git.checkout(checkoutInfo.ref, checkoutInfo.startPoint);
 | 
			
		||||
            // Submodules
 | 
			
		||||
            if (settings.submodules) {
 | 
			
		||||
                try {
 | 
			
		||||
                    // Temporarily override global config
 | 
			
		||||
                    yield authHelper.configureGlobalAuth();
 | 
			
		||||
                    // Checkout submodules
 | 
			
		||||
                    yield git.submoduleSync(settings.nestedSubmodules);
 | 
			
		||||
                    yield git.submoduleUpdate(settings.fetchDepth, settings.nestedSubmodules);
 | 
			
		||||
                    yield git.submoduleForeach('git config --local gc.auto 0', settings.nestedSubmodules);
 | 
			
		||||
                    // Persist credentials
 | 
			
		||||
                    if (settings.persistCredentials) {
 | 
			
		||||
                        yield authHelper.configureSubmoduleAuth();
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
                // Fetch
 | 
			
		||||
                const refSpec = refHelper.getRefSpec(settings.ref, settings.commit);
 | 
			
		||||
                yield git.fetch(settings.fetchDepth, refSpec);
 | 
			
		||||
                // Checkout info
 | 
			
		||||
                const checkoutInfo = yield refHelper.getCheckoutInfo(git, settings.ref, settings.commit);
 | 
			
		||||
                // LFS fetch
 | 
			
		||||
                // Explicit lfs-fetch to avoid slow checkout (fetches one lfs object at a time).
 | 
			
		||||
                // Explicit lfs fetch will fetch lfs objects in parallel.
 | 
			
		||||
                if (settings.lfs) {
 | 
			
		||||
                    yield git.lfsFetch(checkoutInfo.startPoint || checkoutInfo.ref);
 | 
			
		||||
                finally {
 | 
			
		||||
                    // Remove temporary global config override
 | 
			
		||||
                    yield authHelper.removeGlobalAuth();
 | 
			
		||||
                }
 | 
			
		||||
                // Checkout
 | 
			
		||||
                yield git.checkout(checkoutInfo.ref, checkoutInfo.startPoint);
 | 
			
		||||
                // Dump some info about the checked out commit
 | 
			
		||||
                yield git.log1();
 | 
			
		||||
            }
 | 
			
		||||
            finally {
 | 
			
		||||
                // Remove auth
 | 
			
		||||
                if (!settings.persistCredentials) {
 | 
			
		||||
                    yield authHelper.removeAuth();
 | 
			
		||||
                }
 | 
			
		||||
            // Dump some info about the checked out commit
 | 
			
		||||
            yield git.log1();
 | 
			
		||||
        }
 | 
			
		||||
        finally {
 | 
			
		||||
            // Remove auth
 | 
			
		||||
            if (!settings.persistCredentials) {
 | 
			
		||||
                yield authHelper.removeAuth();
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    });
 | 
			
		||||
@@ -9428,6 +9586,22 @@ module.exports.Singular = Hook.Singular
 | 
			
		||||
module.exports.Collection = Hook.Collection
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/***/ }),
 | 
			
		||||
 | 
			
		||||
/***/ 528:
 | 
			
		||||
/***/ (function(__unusedmodule, exports) {
 | 
			
		||||
 | 
			
		||||
"use strict";
 | 
			
		||||
 | 
			
		||||
Object.defineProperty(exports, "__esModule", { value: true });
 | 
			
		||||
function escape(value) {
 | 
			
		||||
    return value.replace(/[^a-zA-Z0-9_]/g, x => {
 | 
			
		||||
        return `\\${x}`;
 | 
			
		||||
    });
 | 
			
		||||
}
 | 
			
		||||
exports.escape = escape;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/***/ }),
 | 
			
		||||
 | 
			
		||||
/***/ 529:
 | 
			
		||||
@@ -13731,10 +13905,6 @@ function getInputs() {
 | 
			
		||||
    // Clean
 | 
			
		||||
    result.clean = (core.getInput('clean') || 'true').toUpperCase() === 'TRUE';
 | 
			
		||||
    core.debug(`clean = ${result.clean}`);
 | 
			
		||||
    // Submodules
 | 
			
		||||
    if (core.getInput('submodules')) {
 | 
			
		||||
        throw new Error("The input 'submodules' is not supported in actions/checkout@v2");
 | 
			
		||||
    }
 | 
			
		||||
    // Fetch depth
 | 
			
		||||
    result.fetchDepth = Math.floor(Number(core.getInput('fetch-depth') || '1'));
 | 
			
		||||
    if (isNaN(result.fetchDepth) || result.fetchDepth < 0) {
 | 
			
		||||
@@ -13744,6 +13914,19 @@ function getInputs() {
 | 
			
		||||
    // LFS
 | 
			
		||||
    result.lfs = (core.getInput('lfs') || 'false').toUpperCase() === 'TRUE';
 | 
			
		||||
    core.debug(`lfs = ${result.lfs}`);
 | 
			
		||||
    // Submodules
 | 
			
		||||
    result.submodules = false;
 | 
			
		||||
    result.nestedSubmodules = false;
 | 
			
		||||
    const submodulesString = (core.getInput('submodules') || '').toUpperCase();
 | 
			
		||||
    if (submodulesString == 'RECURSIVE') {
 | 
			
		||||
        result.submodules = true;
 | 
			
		||||
        result.nestedSubmodules = true;
 | 
			
		||||
    }
 | 
			
		||||
    else if (submodulesString == 'TRUE') {
 | 
			
		||||
        result.submodules = true;
 | 
			
		||||
    }
 | 
			
		||||
    core.debug(`submodules = ${result.submodules}`);
 | 
			
		||||
    core.debug(`recursive submodules = ${result.nestedSubmodules}`);
 | 
			
		||||
    // Auth token
 | 
			
		||||
    result.authToken = core.getInput('token');
 | 
			
		||||
    // Persist credentials
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user