58 lines
2.3 KiB
TypeScript
58 lines
2.3 KiB
TypeScript
import CloudRunnerEnvironmentVariable from '../cloud-runner-services/cloud-runner-environment-variable';
|
|
import CloudRunnerLogger from '../cloud-runner-services/cloud-runner-logger';
|
|
import CloudRunnerSecret from '../cloud-runner-services/cloud-runner-secret';
|
|
import { CloudRunnerState } from '../cloud-runner-state/cloud-runner-state';
|
|
import { CloudRunnerStepState } from '../cloud-runner-state/cloud-runner-step-state';
|
|
import { StandardStepInterface } from './standard-step-interface';
|
|
|
|
export class CompressionStep implements StandardStepInterface {
|
|
async run(cloudRunnerStepState: CloudRunnerStepState) {
|
|
await CompressionStep.CompressionStep(cloudRunnerStepState.environment, cloudRunnerStepState.secrets);
|
|
}
|
|
|
|
private static async CompressionStep(
|
|
environmentVariables: CloudRunnerEnvironmentVariable[],
|
|
secrets: CloudRunnerSecret[],
|
|
) {
|
|
CloudRunnerLogger.log('Starting step 3/4 build compression');
|
|
// Cleanup
|
|
await CloudRunnerState.CloudRunnerProviderPlatform.runBuildTask(
|
|
CloudRunnerState.buildGuid,
|
|
'alpine',
|
|
[
|
|
`
|
|
printenv
|
|
apk update -q
|
|
apk add zip tree -q
|
|
${process.env.DEBUG ? '' : '#'}tree -L 4 "$repoPathFull"
|
|
${process.env.DEBUG ? '' : '#'}ls -lh "$repoPathFull"
|
|
cd "$libraryFolderFull/.."
|
|
zip -r "lib-$BUILDID.zip" "./Library"
|
|
mv "lib-$BUILDID.zip" "/$cacheFolderFull/lib"
|
|
cd "$repoPathFull"
|
|
ls -lh "$repoPathFull"
|
|
zip -r "build-$BUILDID.zip" "./${CloudRunnerState.buildParams.buildPath}"
|
|
mv "build-$BUILDID.zip" "/$cacheFolderFull/build-$BUILDID.zip"
|
|
${process.env.DEBUG ? '' : '#'}tree -L 4 "/$cacheFolderFull"
|
|
${process.env.DEBUG ? '' : '#'}tree -L 4 "/$cacheFolderFull/.."
|
|
${process.env.DEBUG ? '' : '#'}tree -L 4 "$repoPathFull"
|
|
${process.env.DEBUG ? '' : '#'}ls -lh "$repoPathFull"
|
|
`,
|
|
],
|
|
`/${CloudRunnerState.buildVolumeFolder}`,
|
|
`/${CloudRunnerState.buildVolumeFolder}`,
|
|
[
|
|
...environmentVariables,
|
|
...[
|
|
{
|
|
name: 'cacheFolderFull',
|
|
value: CloudRunnerState.cacheFolderFull,
|
|
},
|
|
],
|
|
],
|
|
secrets,
|
|
);
|
|
CloudRunnerLogger.log('compression step complete');
|
|
}
|
|
}
|