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`);
|
await cloud_runner_system_1.CloudRunnerSystem.Run(`git lfs install`);
|
||||||
(0, node_console_1.assert)(node_fs_1.default.existsSync(`.git`), 'git folder exists');
|
(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}`);
|
remote_client_logger_1.RemoteClientLogger.log(`${cloud_runner_1.default.buildParameters.branch}`);
|
||||||
if (cloud_runner_1.default.buildParameters.gitSha !== undefined) {
|
// Ensure refs exist (tags and PR refs)
|
||||||
await cloud_runner_system_1.CloudRunnerSystem.Run(`git checkout ${cloud_runner_1.default.buildParameters.gitSha}`);
|
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 {
|
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`);
|
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');
|
(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`)))) {
|
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!`);
|
cloud_runner_logger_1.default.log(`Retained Workspace Already Exists!`);
|
||||||
process.chdir(cloud_runner_folders_1.CloudRunnerFolders.ToLinuxFolder(cloud_runner_folders_1.CloudRunnerFolders.repoPathAbsolute));
|
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 lfs pull`);
|
||||||
await cloud_runner_system_1.CloudRunnerSystem.Run(`git reset --hard "${cloud_runner_1.default.buildParameters.gitSha}"`);
|
const sha = cloud_runner_1.default.buildParameters.gitSha;
|
||||||
await cloud_runner_system_1.CloudRunnerSystem.Run(`git checkout ${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 true;
|
||||||
}
|
}
|
||||||
return false;
|
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`);
|
await CloudRunnerSystem.Run(`git lfs install`);
|
||||||
assert(fs.existsSync(`.git`), 'git folder exists');
|
assert(fs.existsSync(`.git`), 'git folder exists');
|
||||||
RemoteClientLogger.log(`${CloudRunner.buildParameters.branch}`);
|
RemoteClientLogger.log(`${CloudRunner.buildParameters.branch}`);
|
||||||
if (CloudRunner.buildParameters.gitSha !== undefined) {
|
// Ensure refs exist (tags and PR refs)
|
||||||
await CloudRunnerSystem.Run(`git checkout ${CloudRunner.buildParameters.gitSha}`);
|
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 {
|
} 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`);
|
RemoteClientLogger.log(`buildParameter Git Sha is empty`);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -336,10 +369,28 @@ export class RemoteClient {
|
||||||
) {
|
) {
|
||||||
CloudRunnerLogger.log(`Retained Workspace Already Exists!`);
|
CloudRunnerLogger.log(`Retained Workspace Already Exists!`);
|
||||||
process.chdir(CloudRunnerFolders.ToLinuxFolder(CloudRunnerFolders.repoPathAbsolute));
|
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 lfs pull`);
|
||||||
await CloudRunnerSystem.Run(`git reset --hard "${CloudRunner.buildParameters.gitSha}"`);
|
const sha = CloudRunner.buildParameters.gitSha;
|
||||||
await CloudRunnerSystem.Run(`git checkout ${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;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue