ci: add reusable cloud-runner-integrity workflow; wire into Integrity; disable legacy pipeline triggers
parent
4e3546c9bd
commit
d800b1044c
|
@ -4808,11 +4808,50 @@ class RemoteClient {
|
|||
await cloud_runner_system_1.CloudRunnerSystem.Run(`git lfs install`);
|
||||
(0, node_console_1.assert)(node_fs_1.default.existsSync(`.git`), 'git folder exists');
|
||||
remote_client_logger_1.RemoteClientLogger.log(`${cloud_runner_1.default.buildParameters.branch}`);
|
||||
if (cloud_runner_1.default.buildParameters.gitSha !== undefined) {
|
||||
await cloud_runner_system_1.CloudRunnerSystem.Run(`git checkout ${cloud_runner_1.default.buildParameters.gitSha}`);
|
||||
// Ensure refs exist (tags and PR refs)
|
||||
await cloud_runner_system_1.CloudRunnerSystem.Run(`git fetch --all --tags || true`);
|
||||
if ((cloud_runner_1.default.buildParameters.branch || '').startsWith('pull/')) {
|
||||
await cloud_runner_system_1.CloudRunnerSystem.Run(`git fetch origin +refs/pull/*:refs/remotes/origin/pull/* || true`);
|
||||
}
|
||||
const targetSha = cloud_runner_1.default.buildParameters.gitSha;
|
||||
const targetBranch = cloud_runner_1.default.buildParameters.branch;
|
||||
if (targetSha) {
|
||||
try {
|
||||
await cloud_runner_system_1.CloudRunnerSystem.Run(`git checkout ${targetSha}`);
|
||||
}
|
||||
catch (_error) {
|
||||
try {
|
||||
await cloud_runner_system_1.CloudRunnerSystem.Run(`git fetch origin ${targetSha} || true`);
|
||||
await cloud_runner_system_1.CloudRunnerSystem.Run(`git checkout ${targetSha}`);
|
||||
}
|
||||
catch (_error2) {
|
||||
remote_client_logger_1.RemoteClientLogger.logWarning(`Falling back to branch checkout; SHA not found: ${targetSha}`);
|
||||
try {
|
||||
await cloud_runner_system_1.CloudRunnerSystem.Run(`git checkout ${targetBranch}`);
|
||||
}
|
||||
catch (_error3) {
|
||||
if ((targetBranch || '').startsWith('pull/')) {
|
||||
await cloud_runner_system_1.CloudRunnerSystem.Run(`git checkout origin/${targetBranch}`);
|
||||
}
|
||||
else {
|
||||
throw _error2;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
await cloud_runner_system_1.CloudRunnerSystem.Run(`git checkout ${cloud_runner_1.default.buildParameters.branch}`);
|
||||
try {
|
||||
await cloud_runner_system_1.CloudRunnerSystem.Run(`git checkout ${targetBranch}`);
|
||||
}
|
||||
catch (_error) {
|
||||
if ((targetBranch || '').startsWith('pull/')) {
|
||||
await cloud_runner_system_1.CloudRunnerSystem.Run(`git checkout origin/${targetBranch}`);
|
||||
}
|
||||
else {
|
||||
throw _error;
|
||||
}
|
||||
}
|
||||
remote_client_logger_1.RemoteClientLogger.log(`buildParameter Git Sha is empty`);
|
||||
}
|
||||
(0, node_console_1.assert)(node_fs_1.default.existsSync(node_path_1.default.join(`.git`, `lfs`)), 'LFS folder should not exist before caching');
|
||||
|
@ -4894,10 +4933,31 @@ class RemoteClient {
|
|||
node_fs_1.default.existsSync(cloud_runner_folders_1.CloudRunnerFolders.ToLinuxFolder(node_path_1.default.join(cloud_runner_folders_1.CloudRunnerFolders.repoPathAbsolute, `.git`)))) {
|
||||
cloud_runner_logger_1.default.log(`Retained Workspace Already Exists!`);
|
||||
process.chdir(cloud_runner_folders_1.CloudRunnerFolders.ToLinuxFolder(cloud_runner_folders_1.CloudRunnerFolders.repoPathAbsolute));
|
||||
await cloud_runner_system_1.CloudRunnerSystem.Run(`git fetch`);
|
||||
await cloud_runner_system_1.CloudRunnerSystem.Run(`git fetch --all --tags || true`);
|
||||
if ((cloud_runner_1.default.buildParameters.branch || '').startsWith('pull/')) {
|
||||
await cloud_runner_system_1.CloudRunnerSystem.Run(`git fetch origin +refs/pull/*:refs/remotes/origin/pull/* || true`);
|
||||
}
|
||||
await cloud_runner_system_1.CloudRunnerSystem.Run(`git lfs pull`);
|
||||
await cloud_runner_system_1.CloudRunnerSystem.Run(`git reset --hard "${cloud_runner_1.default.buildParameters.gitSha}"`);
|
||||
await cloud_runner_system_1.CloudRunnerSystem.Run(`git checkout ${cloud_runner_1.default.buildParameters.gitSha}`);
|
||||
const sha = cloud_runner_1.default.buildParameters.gitSha;
|
||||
const branch = cloud_runner_1.default.buildParameters.branch;
|
||||
try {
|
||||
await cloud_runner_system_1.CloudRunnerSystem.Run(`git reset --hard "${sha}"`);
|
||||
await cloud_runner_system_1.CloudRunnerSystem.Run(`git checkout ${sha}`);
|
||||
}
|
||||
catch (_error) {
|
||||
remote_client_logger_1.RemoteClientLogger.logWarning(`Retained workspace: SHA not found, falling back to branch ${branch}`);
|
||||
try {
|
||||
await cloud_runner_system_1.CloudRunnerSystem.Run(`git checkout ${branch}`);
|
||||
}
|
||||
catch (_error2) {
|
||||
if ((branch || '').startsWith('pull/')) {
|
||||
await cloud_runner_system_1.CloudRunnerSystem.Run(`git checkout origin/${branch}`);
|
||||
}
|
||||
else {
|
||||
throw _error2;
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -234,10 +234,43 @@ export class RemoteClient {
|
|||
await CloudRunnerSystem.Run(`git lfs install`);
|
||||
assert(fs.existsSync(`.git`), 'git folder exists');
|
||||
RemoteClientLogger.log(`${CloudRunner.buildParameters.branch}`);
|
||||
if (CloudRunner.buildParameters.gitSha !== undefined) {
|
||||
await CloudRunnerSystem.Run(`git checkout ${CloudRunner.buildParameters.gitSha}`);
|
||||
// Ensure refs exist (tags and PR refs)
|
||||
await CloudRunnerSystem.Run(`git fetch --all --tags || true`);
|
||||
if ((CloudRunner.buildParameters.branch || '').startsWith('pull/')) {
|
||||
await CloudRunnerSystem.Run(`git fetch origin +refs/pull/*:refs/remotes/origin/pull/* || true`);
|
||||
}
|
||||
const targetSha = CloudRunner.buildParameters.gitSha;
|
||||
const targetBranch = CloudRunner.buildParameters.branch;
|
||||
if (targetSha) {
|
||||
try {
|
||||
await CloudRunnerSystem.Run(`git checkout ${targetSha}`);
|
||||
} catch (_error) {
|
||||
try {
|
||||
await CloudRunnerSystem.Run(`git fetch origin ${targetSha} || true`);
|
||||
await CloudRunnerSystem.Run(`git checkout ${targetSha}`);
|
||||
} catch (_error2) {
|
||||
RemoteClientLogger.logWarning(`Falling back to branch checkout; SHA not found: ${targetSha}`);
|
||||
try {
|
||||
await CloudRunnerSystem.Run(`git checkout ${targetBranch}`);
|
||||
} catch (_error3) {
|
||||
if ((targetBranch || '').startsWith('pull/')) {
|
||||
await CloudRunnerSystem.Run(`git checkout origin/${targetBranch}`);
|
||||
} else {
|
||||
throw _error2;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
await CloudRunnerSystem.Run(`git checkout ${CloudRunner.buildParameters.branch}`);
|
||||
try {
|
||||
await CloudRunnerSystem.Run(`git checkout ${targetBranch}`);
|
||||
} catch (_error) {
|
||||
if ((targetBranch || '').startsWith('pull/')) {
|
||||
await CloudRunnerSystem.Run(`git checkout origin/${targetBranch}`);
|
||||
} else {
|
||||
throw _error;
|
||||
}
|
||||
}
|
||||
RemoteClientLogger.log(`buildParameter Git Sha is empty`);
|
||||
}
|
||||
|
||||
|
@ -336,10 +369,28 @@ export class RemoteClient {
|
|||
) {
|
||||
CloudRunnerLogger.log(`Retained Workspace Already Exists!`);
|
||||
process.chdir(CloudRunnerFolders.ToLinuxFolder(CloudRunnerFolders.repoPathAbsolute));
|
||||
await CloudRunnerSystem.Run(`git fetch`);
|
||||
await CloudRunnerSystem.Run(`git fetch --all --tags || true`);
|
||||
if ((CloudRunner.buildParameters.branch || '').startsWith('pull/')) {
|
||||
await CloudRunnerSystem.Run(`git fetch origin +refs/pull/*:refs/remotes/origin/pull/* || true`);
|
||||
}
|
||||
await CloudRunnerSystem.Run(`git lfs pull`);
|
||||
await CloudRunnerSystem.Run(`git reset --hard "${CloudRunner.buildParameters.gitSha}"`);
|
||||
await CloudRunnerSystem.Run(`git checkout ${CloudRunner.buildParameters.gitSha}`);
|
||||
const sha = CloudRunner.buildParameters.gitSha;
|
||||
const branch = CloudRunner.buildParameters.branch;
|
||||
try {
|
||||
await CloudRunnerSystem.Run(`git reset --hard "${sha}"`);
|
||||
await CloudRunnerSystem.Run(`git checkout ${sha}`);
|
||||
} catch (_error) {
|
||||
RemoteClientLogger.logWarning(`Retained workspace: SHA not found, falling back to branch ${branch}`);
|
||||
try {
|
||||
await CloudRunnerSystem.Run(`git checkout ${branch}`);
|
||||
} catch (_error2) {
|
||||
if ((branch || '').startsWith('pull/')) {
|
||||
await CloudRunnerSystem.Run(`git checkout origin/${branch}`);
|
||||
} else {
|
||||
throw _error2;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue