tar.lz4
parent
7f901ae0f1
commit
777f2fb495
|
|
@ -3265,15 +3265,15 @@ class Caching {
|
||||||
return typeof arguments_[number] != 'undefined' ? arguments_[number] : match;
|
return typeof arguments_[number] != 'undefined' ? arguments_[number] : match;
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
yield cloud_runner_system_1.CloudRunnerSystem.Run(`tar -cf ${cacheArtifactName}.tar ${path_1.default.basename(sourceFolder)}`);
|
yield cloud_runner_system_1.CloudRunnerSystem.Run(`tar -cf ${cacheArtifactName}.tar.lz4 ${path_1.default.basename(sourceFolder)}`);
|
||||||
console_1.assert(yield fileExists(`${cacheArtifactName}.tar`), 'cache archive exists');
|
console_1.assert(yield fileExists(`${cacheArtifactName}.tar.lz4`), 'cache archive exists');
|
||||||
console_1.assert(yield fileExists(path_1.default.basename(sourceFolder)), 'source folder exists');
|
console_1.assert(yield fileExists(path_1.default.basename(sourceFolder)), 'source folder exists');
|
||||||
if (cloud_runner_1.default.buildParameters.cachePushOverrideCommand) {
|
if (cloud_runner_1.default.buildParameters.cachePushOverrideCommand) {
|
||||||
yield cloud_runner_system_1.CloudRunnerSystem.Run(formatFunction(cloud_runner_1.default.buildParameters.cachePushOverrideCommand));
|
yield cloud_runner_system_1.CloudRunnerSystem.Run(formatFunction(cloud_runner_1.default.buildParameters.cachePushOverrideCommand));
|
||||||
}
|
}
|
||||||
yield cloud_runner_system_1.CloudRunnerSystem.Run(`mv ${cacheArtifactName}.tar ${cacheFolder}`);
|
yield cloud_runner_system_1.CloudRunnerSystem.Run(`mv ${cacheArtifactName}.tar.lz4 ${cacheFolder}`);
|
||||||
remote_client_logger_1.RemoteClientLogger.log(`moved cache entry ${cacheArtifactName} to ${cacheFolder}`);
|
remote_client_logger_1.RemoteClientLogger.log(`moved cache entry ${cacheArtifactName} to ${cacheFolder}`);
|
||||||
console_1.assert(yield fileExists(`${path_1.default.join(cacheFolder, cacheArtifactName)}.tar`), 'cache archive exists inside cache folder');
|
console_1.assert(yield fileExists(`${path_1.default.join(cacheFolder, cacheArtifactName)}.tar.lz4`), 'cache archive exists inside cache folder');
|
||||||
}
|
}
|
||||||
catch (error) {
|
catch (error) {
|
||||||
process.chdir(`${startPath}`);
|
process.chdir(`${startPath}`);
|
||||||
|
|
@ -3294,11 +3294,13 @@ class Caching {
|
||||||
if (!(yield fileExists(destinationFolder))) {
|
if (!(yield fileExists(destinationFolder))) {
|
||||||
yield fs_1.default.promises.mkdir(destinationFolder);
|
yield fs_1.default.promises.mkdir(destinationFolder);
|
||||||
}
|
}
|
||||||
const latestInBranch = yield (yield cloud_runner_system_1.CloudRunnerSystem.Run(`ls -t "${cacheFolder}" | grep .tar$ | head -1`))
|
const latestInBranch = yield (yield cloud_runner_system_1.CloudRunnerSystem.Run(`ls -t "${cacheFolder}" | grep .tar.lz4$ | head -1`))
|
||||||
.replace(/\n/g, ``)
|
.replace(/\n/g, ``)
|
||||||
.replace('.tar', '');
|
.replace('.tar.lz4', '');
|
||||||
process.chdir(cacheFolder);
|
process.chdir(cacheFolder);
|
||||||
const cacheSelection = cacheArtifactName !== `` && (yield fileExists(`${cacheArtifactName}.tar`)) ? cacheArtifactName : latestInBranch;
|
const cacheSelection = cacheArtifactName !== `` && (yield fileExists(`${cacheArtifactName}.tar.lz4`))
|
||||||
|
? cacheArtifactName
|
||||||
|
: latestInBranch;
|
||||||
yield cloud_runner_logger_1.default.log(`cache key ${cacheArtifactName} selection ${cacheSelection}`);
|
yield cloud_runner_logger_1.default.log(`cache key ${cacheArtifactName} selection ${cacheSelection}`);
|
||||||
// eslint-disable-next-line func-style
|
// eslint-disable-next-line func-style
|
||||||
const formatFunction = function (format) {
|
const formatFunction = function (format) {
|
||||||
|
|
@ -3310,12 +3312,12 @@ class Caching {
|
||||||
if (cloud_runner_1.default.buildParameters.cachePullOverrideCommand) {
|
if (cloud_runner_1.default.buildParameters.cachePullOverrideCommand) {
|
||||||
yield cloud_runner_system_1.CloudRunnerSystem.Run(formatFunction(cloud_runner_1.default.buildParameters.cachePullOverrideCommand));
|
yield cloud_runner_system_1.CloudRunnerSystem.Run(formatFunction(cloud_runner_1.default.buildParameters.cachePullOverrideCommand));
|
||||||
}
|
}
|
||||||
if (yield fileExists(`${cacheSelection}.tar`)) {
|
if (yield fileExists(`${cacheSelection}.tar.lz4`)) {
|
||||||
const resultsFolder = `results${cloud_runner_1.default.buildParameters.buildGuid}`;
|
const resultsFolder = `results${cloud_runner_1.default.buildParameters.buildGuid}`;
|
||||||
yield cloud_runner_system_1.CloudRunnerSystem.Run(`mkdir -p ${resultsFolder}`);
|
yield cloud_runner_system_1.CloudRunnerSystem.Run(`mkdir -p ${resultsFolder}`);
|
||||||
remote_client_logger_1.RemoteClientLogger.log(`cache item exists ${cacheFolder}/${cacheSelection}.tar`);
|
remote_client_logger_1.RemoteClientLogger.log(`cache item exists ${cacheFolder}/${cacheSelection}.tar.lz4`);
|
||||||
const fullResultsFolder = path_1.default.join(cacheFolder, resultsFolder);
|
const fullResultsFolder = path_1.default.join(cacheFolder, resultsFolder);
|
||||||
yield cloud_runner_system_1.CloudRunnerSystem.Run(`tar -xf ${cacheSelection}.tar -C ${fullResultsFolder}`);
|
yield cloud_runner_system_1.CloudRunnerSystem.Run(`tar -xf ${cacheSelection}.tar.lz4 -C ${fullResultsFolder}`);
|
||||||
remote_client_logger_1.RemoteClientLogger.log(`cache item extracted to ${fullResultsFolder}`);
|
remote_client_logger_1.RemoteClientLogger.log(`cache item extracted to ${fullResultsFolder}`);
|
||||||
console_1.assert(yield fileExists(fullResultsFolder), `cache extraction results folder exists`);
|
console_1.assert(yield fileExists(fullResultsFolder), `cache extraction results folder exists`);
|
||||||
const destinationParentFolder = path_1.default.resolve(destinationFolder, '..');
|
const destinationParentFolder = path_1.default.resolve(destinationFolder, '..');
|
||||||
|
|
@ -3329,7 +3331,7 @@ class Caching {
|
||||||
else {
|
else {
|
||||||
remote_client_logger_1.RemoteClientLogger.logWarning(`cache item ${cacheArtifactName} doesn't exist ${destinationFolder}`);
|
remote_client_logger_1.RemoteClientLogger.logWarning(`cache item ${cacheArtifactName} doesn't exist ${destinationFolder}`);
|
||||||
if (cacheSelection !== ``) {
|
if (cacheSelection !== ``) {
|
||||||
remote_client_logger_1.RemoteClientLogger.logWarning(`cache item ${cacheArtifactName}.tar doesn't exist ${destinationFolder}`);
|
remote_client_logger_1.RemoteClientLogger.logWarning(`cache item ${cacheArtifactName}.tar.lz4 doesn't exist ${destinationFolder}`);
|
||||||
throw new Error(`Failed to get cache item, but cache hit was found: ${cacheSelection}`);
|
throw new Error(`Failed to get cache item, but cache hit was found: ${cacheSelection}`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -70,16 +70,16 @@ export class Caching {
|
||||||
return typeof arguments_[number] != 'undefined' ? arguments_[number] : match;
|
return typeof arguments_[number] != 'undefined' ? arguments_[number] : match;
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
await CloudRunnerSystem.Run(`tar -cf ${cacheArtifactName}.tar ${path.basename(sourceFolder)}`);
|
await CloudRunnerSystem.Run(`tar -cf ${cacheArtifactName}.tar.lz4 ${path.basename(sourceFolder)}`);
|
||||||
assert(await fileExists(`${cacheArtifactName}.tar`), 'cache archive exists');
|
assert(await fileExists(`${cacheArtifactName}.tar.lz4`), 'cache archive exists');
|
||||||
assert(await fileExists(path.basename(sourceFolder)), 'source folder exists');
|
assert(await fileExists(path.basename(sourceFolder)), 'source folder exists');
|
||||||
if (CloudRunner.buildParameters.cachePushOverrideCommand) {
|
if (CloudRunner.buildParameters.cachePushOverrideCommand) {
|
||||||
await CloudRunnerSystem.Run(formatFunction(CloudRunner.buildParameters.cachePushOverrideCommand));
|
await CloudRunnerSystem.Run(formatFunction(CloudRunner.buildParameters.cachePushOverrideCommand));
|
||||||
}
|
}
|
||||||
await CloudRunnerSystem.Run(`mv ${cacheArtifactName}.tar ${cacheFolder}`);
|
await CloudRunnerSystem.Run(`mv ${cacheArtifactName}.tar.lz4 ${cacheFolder}`);
|
||||||
RemoteClientLogger.log(`moved cache entry ${cacheArtifactName} to ${cacheFolder}`);
|
RemoteClientLogger.log(`moved cache entry ${cacheArtifactName} to ${cacheFolder}`);
|
||||||
assert(
|
assert(
|
||||||
await fileExists(`${path.join(cacheFolder, cacheArtifactName)}.tar`),
|
await fileExists(`${path.join(cacheFolder, cacheArtifactName)}.tar.lz4`),
|
||||||
'cache archive exists inside cache folder',
|
'cache archive exists inside cache folder',
|
||||||
);
|
);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
|
|
@ -101,14 +101,16 @@ export class Caching {
|
||||||
await fs.promises.mkdir(destinationFolder);
|
await fs.promises.mkdir(destinationFolder);
|
||||||
}
|
}
|
||||||
|
|
||||||
const latestInBranch = await (await CloudRunnerSystem.Run(`ls -t "${cacheFolder}" | grep .tar$ | head -1`))
|
const latestInBranch = await (await CloudRunnerSystem.Run(`ls -t "${cacheFolder}" | grep .tar.lz4$ | head -1`))
|
||||||
.replace(/\n/g, ``)
|
.replace(/\n/g, ``)
|
||||||
.replace('.tar', '');
|
.replace('.tar.lz4', '');
|
||||||
|
|
||||||
process.chdir(cacheFolder);
|
process.chdir(cacheFolder);
|
||||||
|
|
||||||
const cacheSelection =
|
const cacheSelection =
|
||||||
cacheArtifactName !== `` && (await fileExists(`${cacheArtifactName}.tar`)) ? cacheArtifactName : latestInBranch;
|
cacheArtifactName !== `` && (await fileExists(`${cacheArtifactName}.tar.lz4`))
|
||||||
|
? cacheArtifactName
|
||||||
|
: latestInBranch;
|
||||||
await CloudRunnerLogger.log(`cache key ${cacheArtifactName} selection ${cacheSelection}`);
|
await CloudRunnerLogger.log(`cache key ${cacheArtifactName} selection ${cacheSelection}`);
|
||||||
|
|
||||||
// eslint-disable-next-line func-style
|
// eslint-disable-next-line func-style
|
||||||
|
|
@ -127,12 +129,12 @@ export class Caching {
|
||||||
await CloudRunnerSystem.Run(formatFunction(CloudRunner.buildParameters.cachePullOverrideCommand));
|
await CloudRunnerSystem.Run(formatFunction(CloudRunner.buildParameters.cachePullOverrideCommand));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (await fileExists(`${cacheSelection}.tar`)) {
|
if (await fileExists(`${cacheSelection}.tar.lz4`)) {
|
||||||
const resultsFolder = `results${CloudRunner.buildParameters.buildGuid}`;
|
const resultsFolder = `results${CloudRunner.buildParameters.buildGuid}`;
|
||||||
await CloudRunnerSystem.Run(`mkdir -p ${resultsFolder}`);
|
await CloudRunnerSystem.Run(`mkdir -p ${resultsFolder}`);
|
||||||
RemoteClientLogger.log(`cache item exists ${cacheFolder}/${cacheSelection}.tar`);
|
RemoteClientLogger.log(`cache item exists ${cacheFolder}/${cacheSelection}.tar.lz4`);
|
||||||
const fullResultsFolder = path.join(cacheFolder, resultsFolder);
|
const fullResultsFolder = path.join(cacheFolder, resultsFolder);
|
||||||
await CloudRunnerSystem.Run(`tar -xf ${cacheSelection}.tar -C ${fullResultsFolder}`);
|
await CloudRunnerSystem.Run(`tar -xf ${cacheSelection}.tar.lz4 -C ${fullResultsFolder}`);
|
||||||
RemoteClientLogger.log(`cache item extracted to ${fullResultsFolder}`);
|
RemoteClientLogger.log(`cache item extracted to ${fullResultsFolder}`);
|
||||||
assert(await fileExists(fullResultsFolder), `cache extraction results folder exists`);
|
assert(await fileExists(fullResultsFolder), `cache extraction results folder exists`);
|
||||||
const destinationParentFolder = path.resolve(destinationFolder, '..');
|
const destinationParentFolder = path.resolve(destinationFolder, '..');
|
||||||
|
|
@ -152,7 +154,7 @@ export class Caching {
|
||||||
} else {
|
} else {
|
||||||
RemoteClientLogger.logWarning(`cache item ${cacheArtifactName} doesn't exist ${destinationFolder}`);
|
RemoteClientLogger.logWarning(`cache item ${cacheArtifactName} doesn't exist ${destinationFolder}`);
|
||||||
if (cacheSelection !== ``) {
|
if (cacheSelection !== ``) {
|
||||||
RemoteClientLogger.logWarning(`cache item ${cacheArtifactName}.tar doesn't exist ${destinationFolder}`);
|
RemoteClientLogger.logWarning(`cache item ${cacheArtifactName}.tar.lz4 doesn't exist ${destinationFolder}`);
|
||||||
throw new Error(`Failed to get cache item, but cache hit was found: ${cacheSelection}`);
|
throw new Error(`Failed to get cache item, but cache hit was found: ${cacheSelection}`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue