run steam deployment
parent
ec48ac196a
commit
98acf5c011
|
|
@ -1165,7 +1165,7 @@ exports.default = Project;
|
||||||
|
|
||||||
/***/ }),
|
/***/ }),
|
||||||
|
|
||||||
/***/ 50148:
|
/***/ 70187:
|
||||||
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
||||||
|
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
@ -1209,7 +1209,7 @@ const core = __importStar(__webpack_require__(42186));
|
||||||
const remote_builder_alphabet_1 = __importDefault(__webpack_require__(41322));
|
const remote_builder_alphabet_1 = __importDefault(__webpack_require__(41322));
|
||||||
const aws_build_runner_1 = __importDefault(__webpack_require__(11201));
|
const aws_build_runner_1 = __importDefault(__webpack_require__(11201));
|
||||||
class AWSBuildEnvironment {
|
class AWSBuildEnvironment {
|
||||||
static run(buildId, stackName, image, commands, mountdir, workingdir, environment, secrets) {
|
static runBuild(buildId, stackName, image, commands, mountdir, workingdir, environment, secrets) {
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
const ECS = new SDK.ECS();
|
const ECS = new SDK.ECS();
|
||||||
const CF = new SDK.CloudFormation();
|
const CF = new SDK.CloudFormation();
|
||||||
|
|
@ -1620,7 +1620,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||||
};
|
};
|
||||||
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
||||||
const nanoid_1 = __webpack_require__(39140);
|
const nanoid_1 = __webpack_require__(39140);
|
||||||
const aws_build_environment_1 = __importDefault(__webpack_require__(50148));
|
const aws_build_platform_1 = __importDefault(__webpack_require__(70187));
|
||||||
const core = __importStar(__webpack_require__(42186));
|
const core = __importStar(__webpack_require__(42186));
|
||||||
const remote_builder_alphabet_1 = __importDefault(__webpack_require__(41322));
|
const remote_builder_alphabet_1 = __importDefault(__webpack_require__(41322));
|
||||||
const repositoryDirectoryName = 'repo';
|
const repositoryDirectoryName = 'repo';
|
||||||
|
|
@ -1645,7 +1645,7 @@ class RemoteBuilder {
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
core.info('Starting part 1/4 (clone from github and restore cache)');
|
core.info('Starting part 1/4 (clone from github and restore cache)');
|
||||||
yield aws_build_environment_1.default.run(buildUid, buildParameters.awsStackName, 'alpine/git', [
|
yield aws_build_platform_1.default.runBuild(buildUid, buildParameters.awsStackName, 'alpine/git', [
|
||||||
'-c',
|
'-c',
|
||||||
`apk update;
|
`apk update;
|
||||||
apk add unzip;
|
apk add unzip;
|
||||||
|
|
@ -1654,6 +1654,7 @@ class RemoteBuilder {
|
||||||
# Get source repo for project to be built and game-ci repo for utilties
|
# Get source repo for project to be built and game-ci repo for utilties
|
||||||
git clone https://${buildParameters.githubToken}@github.com/${process.env.GITHUB_REPOSITORY}.git ${buildUid}/${repositoryDirectoryName} -q
|
git clone https://${buildParameters.githubToken}@github.com/${process.env.GITHUB_REPOSITORY}.git ${buildUid}/${repositoryDirectoryName} -q
|
||||||
git clone https://${buildParameters.githubToken}@github.com/game-ci/unity-builder.git ${buildUid}/builder -q
|
git clone https://${buildParameters.githubToken}@github.com/game-ci/unity-builder.git ${buildUid}/builder -q
|
||||||
|
git clone https://${buildParameters.githubToken}@github.com/game-ci/steam-deploy.git ${buildUid}/steam -q
|
||||||
cd /${efsDirectoryName}/${buildUid}/${repositoryDirectoryName}/
|
cd /${efsDirectoryName}/${buildUid}/${repositoryDirectoryName}/
|
||||||
git checkout $GITHUB_SHA
|
git checkout $GITHUB_SHA
|
||||||
cd /${efsDirectoryName}/
|
cd /${efsDirectoryName}/
|
||||||
|
|
@ -1749,7 +1750,7 @@ class RemoteBuilder {
|
||||||
EnvironmentVariable: 'AWS_ACCESS_KEY_ALIAS_PASS',
|
EnvironmentVariable: 'AWS_ACCESS_KEY_ALIAS_PASS',
|
||||||
ParameterValue: buildParameters.androidKeyaliasPass,
|
ParameterValue: buildParameters.androidKeyaliasPass,
|
||||||
});
|
});
|
||||||
yield aws_build_environment_1.default.run(buildUid, buildParameters.awsStackName, baseImage.toString(), [
|
yield aws_build_platform_1.default.runBuild(buildUid, buildParameters.awsStackName, baseImage.toString(), [
|
||||||
'-c',
|
'-c',
|
||||||
`
|
`
|
||||||
cp -r /${efsDirectoryName}/${buildUid}/builder/dist/default-build-script/ /UnityBuilderAction;
|
cp -r /${efsDirectoryName}/${buildUid}/builder/dist/default-build-script/ /UnityBuilderAction;
|
||||||
|
|
@ -1815,7 +1816,7 @@ class RemoteBuilder {
|
||||||
], buildSecrets);
|
], buildSecrets);
|
||||||
core.info('Starting part 3/4 (zip unity build and Library for caching)');
|
core.info('Starting part 3/4 (zip unity build and Library for caching)');
|
||||||
// Cleanup
|
// Cleanup
|
||||||
yield aws_build_environment_1.default.run(buildUid, buildParameters.awsStackName, 'alpine', [
|
yield aws_build_platform_1.default.runBuild(buildUid, buildParameters.awsStackName, 'alpine', [
|
||||||
'-c',
|
'-c',
|
||||||
`
|
`
|
||||||
apk update
|
apk update
|
||||||
|
|
@ -1834,7 +1835,7 @@ class RemoteBuilder {
|
||||||
},
|
},
|
||||||
], defaultSecretsArray);
|
], defaultSecretsArray);
|
||||||
core.info('Starting part 4/4 (upload build to s3)');
|
core.info('Starting part 4/4 (upload build to s3)');
|
||||||
yield aws_build_environment_1.default.run(buildUid, buildParameters.awsStackName, 'amazon/aws-cli', [
|
yield aws_build_platform_1.default.runBuild(buildUid, buildParameters.awsStackName, 'amazon/aws-cli', [
|
||||||
'-c',
|
'-c',
|
||||||
`
|
`
|
||||||
aws s3 cp ${buildUid}/build-${buildUid}.zip s3://game-ci-storage/
|
aws s3 cp ${buildUid}/build-${buildUid}.zip s3://game-ci-storage/
|
||||||
|
|
@ -1864,6 +1865,16 @@ class RemoteBuilder {
|
||||||
},
|
},
|
||||||
...defaultSecretsArray,
|
...defaultSecretsArray,
|
||||||
]);
|
]);
|
||||||
|
core.info('Starting steam deployment');
|
||||||
|
yield aws_build_platform_1.default.runBuild(buildUid, buildParameters.awsStackName, 'cm2network/steamcmd:root', [
|
||||||
|
'-c',
|
||||||
|
`
|
||||||
|
ls
|
||||||
|
chmod -R +x /entrypoint.sh;
|
||||||
|
chmod -R +x /steps;
|
||||||
|
/entrypoint.sh;
|
||||||
|
`,
|
||||||
|
], `/${efsDirectoryName}`, `/${efsDirectoryName}/${buildUid}/steam/action/`, [], []);
|
||||||
}
|
}
|
||||||
catch (error) {
|
catch (error) {
|
||||||
core.setFailed(error);
|
core.setFailed(error);
|
||||||
|
|
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -9,7 +9,7 @@ import RemoteBuilderAlphabet from './remote-builder-alphabet';
|
||||||
import AWSBuildRunner from './aws-build-runner';
|
import AWSBuildRunner from './aws-build-runner';
|
||||||
|
|
||||||
class AWSBuildEnvironment {
|
class AWSBuildEnvironment {
|
||||||
static async run(
|
static async runBuild(
|
||||||
buildId: string,
|
buildId: string,
|
||||||
stackName: string,
|
stackName: string,
|
||||||
image: string,
|
image: string,
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
import { customAlphabet } from 'nanoid';
|
import { customAlphabet } from 'nanoid';
|
||||||
import AWSBuildEnvironment from './aws-build-environment';
|
import AWSBuildPlatform from './aws-build-platform';
|
||||||
import * as core from '@actions/core';
|
import * as core from '@actions/core';
|
||||||
import RemoteBuilderAlphabet from './remote-builder-alphabet';
|
import RemoteBuilderAlphabet from './remote-builder-alphabet';
|
||||||
import { BuildParameters } from '..';
|
import { BuildParameters } from '..';
|
||||||
|
|
@ -25,7 +25,7 @@ class RemoteBuilder {
|
||||||
];
|
];
|
||||||
|
|
||||||
core.info('Starting part 1/4 (clone from github and restore cache)');
|
core.info('Starting part 1/4 (clone from github and restore cache)');
|
||||||
await AWSBuildEnvironment.run(
|
await AWSBuildPlatform.runBuild(
|
||||||
buildUid,
|
buildUid,
|
||||||
buildParameters.awsStackName,
|
buildParameters.awsStackName,
|
||||||
'alpine/git',
|
'alpine/git',
|
||||||
|
|
@ -38,6 +38,7 @@ class RemoteBuilder {
|
||||||
# Get source repo for project to be built and game-ci repo for utilties
|
# Get source repo for project to be built and game-ci repo for utilties
|
||||||
git clone https://${buildParameters.githubToken}@github.com/${process.env.GITHUB_REPOSITORY}.git ${buildUid}/${repositoryDirectoryName} -q
|
git clone https://${buildParameters.githubToken}@github.com/${process.env.GITHUB_REPOSITORY}.git ${buildUid}/${repositoryDirectoryName} -q
|
||||||
git clone https://${buildParameters.githubToken}@github.com/game-ci/unity-builder.git ${buildUid}/builder -q
|
git clone https://${buildParameters.githubToken}@github.com/game-ci/unity-builder.git ${buildUid}/builder -q
|
||||||
|
git clone https://${buildParameters.githubToken}@github.com/game-ci/steam-deploy.git ${buildUid}/steam -q
|
||||||
cd /${efsDirectoryName}/${buildUid}/${repositoryDirectoryName}/
|
cd /${efsDirectoryName}/${buildUid}/${repositoryDirectoryName}/
|
||||||
git checkout $GITHUB_SHA
|
git checkout $GITHUB_SHA
|
||||||
cd /${efsDirectoryName}/
|
cd /${efsDirectoryName}/
|
||||||
|
|
@ -149,7 +150,7 @@ class RemoteBuilder {
|
||||||
ParameterValue: buildParameters.androidKeyaliasPass,
|
ParameterValue: buildParameters.androidKeyaliasPass,
|
||||||
});
|
});
|
||||||
|
|
||||||
await AWSBuildEnvironment.run(
|
await AWSBuildPlatform.runBuild(
|
||||||
buildUid,
|
buildUid,
|
||||||
buildParameters.awsStackName,
|
buildParameters.awsStackName,
|
||||||
baseImage.toString(),
|
baseImage.toString(),
|
||||||
|
|
@ -224,7 +225,7 @@ class RemoteBuilder {
|
||||||
);
|
);
|
||||||
core.info('Starting part 3/4 (zip unity build and Library for caching)');
|
core.info('Starting part 3/4 (zip unity build and Library for caching)');
|
||||||
// Cleanup
|
// Cleanup
|
||||||
await AWSBuildEnvironment.run(
|
await AWSBuildPlatform.runBuild(
|
||||||
buildUid,
|
buildUid,
|
||||||
buildParameters.awsStackName,
|
buildParameters.awsStackName,
|
||||||
'alpine',
|
'alpine',
|
||||||
|
|
@ -253,7 +254,7 @@ class RemoteBuilder {
|
||||||
);
|
);
|
||||||
|
|
||||||
core.info('Starting part 4/4 (upload build to s3)');
|
core.info('Starting part 4/4 (upload build to s3)');
|
||||||
await AWSBuildEnvironment.run(
|
await AWSBuildPlatform.runBuild(
|
||||||
buildUid,
|
buildUid,
|
||||||
buildParameters.awsStackName,
|
buildParameters.awsStackName,
|
||||||
'amazon/aws-cli',
|
'amazon/aws-cli',
|
||||||
|
|
@ -292,6 +293,26 @@ class RemoteBuilder {
|
||||||
...defaultSecretsArray,
|
...defaultSecretsArray,
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
|
|
||||||
|
core.info('Starting steam deployment');
|
||||||
|
await AWSBuildPlatform.runBuild(
|
||||||
|
buildUid,
|
||||||
|
buildParameters.awsStackName,
|
||||||
|
'cm2network/steamcmd:root',
|
||||||
|
[
|
||||||
|
'-c',
|
||||||
|
`
|
||||||
|
ls
|
||||||
|
chmod -R +x /entrypoint.sh;
|
||||||
|
chmod -R +x /steps;
|
||||||
|
/entrypoint.sh;
|
||||||
|
`,
|
||||||
|
],
|
||||||
|
`/${efsDirectoryName}`,
|
||||||
|
`/${efsDirectoryName}/${buildUid}/steam/action/`,
|
||||||
|
[],
|
||||||
|
[],
|
||||||
|
);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
core.setFailed(error);
|
core.setFailed(error);
|
||||||
core.error(error);
|
core.error(error);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue