fix: garbage collect not implemented error

pull/437/head
Frostebite 2022-10-21 01:37:30 +01:00
parent 20396f9a3a
commit 3cf41dd287
3 changed files with 16 additions and 24 deletions

16
dist/index.js vendored
View File

@ -2799,9 +2799,9 @@ const __1 = __nccwpck_require__(41359);
const fs_1 = __nccwpck_require__(57147);
const cloud_runner_1 = __importDefault(__nccwpck_require__(79144));
const cloud_runner_system_1 = __nccwpck_require__(99393);
const path_1 = __importDefault(__nccwpck_require__(71017));
const cloud_runner_folders_1 = __nccwpck_require__(13527);
const fs = __importStar(__nccwpck_require__(57147));
const cloud_runner_folders_1 = __nccwpck_require__(13527);
const path_1 = __importDefault(__nccwpck_require__(71017));
class LocalDockerCloudRunner {
listResources() {
throw new Error('Method not implemented.');
@ -2848,6 +2848,7 @@ class LocalDockerCloudRunner {
this.buildParameters = buildParameters;
}
runTaskInWorkflow(buildGuid, image, commands, mountdir, workingdir, environment, secrets) {
var _a;
return __awaiter(this, void 0, void 0, function* () {
cloud_runner_logger_1.default.log(buildGuid);
cloud_runner_logger_1.default.log(commands);
@ -2890,14 +2891,6 @@ cp -a ${sharedFolder}. /github/workspace/cloud-runner-cache/
cloud_runner_logger_1.default.log(`Running local-docker: \n ${fileContents}`);
}
if (fs.existsSync(`${workspace}/cloud-runner-cache`)) {
const directories = fs_1.readdirSync(`${workspace}/cloud-runner-cache`);
for (const directory of directories) {
if (!directory.includes(cloud_runner_1.default.retainedWorkspacePrefix) &&
path_1.default.basename(directory) !== cloud_runner_folders_1.CloudRunnerFolders.cacheFolder) {
yield cloud_runner_system_1.CloudRunnerSystem.Run(`rm -r ${workspace}/cloud-runner-cache/${path_1.default.basename(directory)}`);
cloud_runner_logger_1.default.log(`rm ${workspace}/cloud-runner-cache/${path_1.default.basename(directory)}`);
}
}
yield cloud_runner_system_1.CloudRunnerSystem.Run(`ls ${workspace}/cloud-runner-cache && du -sh ${workspace}/cloud-runner-cache`);
}
yield docker_1.default.run(image, Object.assign({ workspace, actionFolder }, this.buildParameters), false, `chmod +x /github/workspace/${entrypointFilePath} && /github/workspace/${entrypointFilePath}`, content, {
@ -2910,6 +2903,9 @@ cp -a ${sharedFolder}. /github/workspace/cloud-runner-cache/
},
},
}, true);
if (!((_a = this.buildParameters) === null || _a === void 0 ? void 0 : _a.retainWorkspace)) {
yield cloud_runner_system_1.CloudRunnerSystem.Run(`rm -r ${workspace}/cloud-runner-cache/${path_1.default.basename(cloud_runner_folders_1.CloudRunnerFolders.uniqueCloudRunnerJobFolderAbsolute)}`);
}
return myOutput;
});
}

2
dist/index.js.map vendored

File diff suppressed because one or more lines are too long

View File

@ -5,14 +5,14 @@ import { ProviderInterface } from '../provider-interface';
import CloudRunnerSecret from '../../services/cloud-runner-secret';
import Docker from '../../../docker';
import { Action } from '../../..';
import { writeFileSync, readdirSync } from 'fs';
import { writeFileSync } from 'fs';
import CloudRunner from '../../cloud-runner';
import { ProviderResource } from '../provider-resource';
import { ProviderWorkflow } from '../provider-workflow';
import { CloudRunnerSystem } from '../../services/cloud-runner-system';
import path from 'path';
import { CloudRunnerFolders } from '../../services/cloud-runner-folders';
import * as fs from 'fs';
import { CloudRunnerFolders } from '../../services/cloud-runner-folders';
import path from 'path';
class LocalDockerCloudRunner implements ProviderInterface {
public buildParameters: BuildParameters | undefined;
@ -123,16 +123,6 @@ cp -a ${sharedFolder}. /github/workspace/cloud-runner-cache/
}
if (fs.existsSync(`${workspace}/cloud-runner-cache`)) {
const directories = readdirSync(`${workspace}/cloud-runner-cache`);
for (const directory of directories) {
if (
!directory.includes(CloudRunner.retainedWorkspacePrefix) &&
path.basename(directory) !== CloudRunnerFolders.cacheFolder
) {
await CloudRunnerSystem.Run(`rm -r ${workspace}/cloud-runner-cache/${path.basename(directory)}`);
CloudRunnerLogger.log(`rm ${workspace}/cloud-runner-cache/${path.basename(directory)}`);
}
}
await CloudRunnerSystem.Run(`ls ${workspace}/cloud-runner-cache && du -sh ${workspace}/cloud-runner-cache`);
}
await Docker.run(
@ -154,6 +144,12 @@ cp -a ${sharedFolder}. /github/workspace/cloud-runner-cache/
true,
);
if (!this.buildParameters?.retainWorkspace) {
await CloudRunnerSystem.Run(
`rm -r ${workspace}/cloud-runner-cache/${path.basename(CloudRunnerFolders.uniqueCloudRunnerJobFolderAbsolute)}`,
);
}
return myOutput;
}
}