cleanup
parent
650f0780f8
commit
2e8b897019
|
|
@ -221,6 +221,9 @@ const fs = __importStar(__webpack_require__(35747));
|
||||||
const core = __importStar(__webpack_require__(42186));
|
const core = __importStar(__webpack_require__(42186));
|
||||||
const zlib = __importStar(__webpack_require__(78761));
|
const zlib = __importStar(__webpack_require__(78761));
|
||||||
const alphabet = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
|
const alphabet = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
|
||||||
|
const repositoryDirectoryName = 'repo';
|
||||||
|
const efsDirectoryName = 'data';
|
||||||
|
const cacheDirectoryName = 'cache';
|
||||||
class AWS {
|
class AWS {
|
||||||
static runBuildJob(buildParameters, baseImage) {
|
static runBuildJob(buildParameters, baseImage) {
|
||||||
var _a;
|
var _a;
|
||||||
|
|
@ -235,53 +238,60 @@ class AWS {
|
||||||
yield this.run(buildUid, buildParameters.awsStackName, 'alpine/git', ['/bin/sh'], [
|
yield this.run(buildUid, buildParameters.awsStackName, 'alpine/git', ['/bin/sh'], [
|
||||||
'-c',
|
'-c',
|
||||||
`apk update;
|
`apk update;
|
||||||
|
apk add unzip;
|
||||||
|
apk add git-lfs;
|
||||||
|
apk add jq;
|
||||||
|
|
||||||
|
# Get source repo for project to be built and game-ci repo for utilties
|
||||||
|
git clone https://${process.env.GITHUB_TOKEN}@github.com/${process.env.GITHUB_REPOSITORY}.git ${buildUid}/${repositoryDirectoryName} -q
|
||||||
|
git clone https://${process.env.GITHUB_TOKEN}@github.com/game-ci/unity-builder.git ${buildUid}/builder -q
|
||||||
|
cd /${efsDirectoryName}/${buildUid}/${repositoryDirectoryName}/
|
||||||
|
git checkout $GITHUB_SHA
|
||||||
|
cd /${efsDirectoryName}/
|
||||||
|
|
||||||
apk add unzip;
|
# Look for usable cache
|
||||||
apk add git-lfs;
|
if [ ! -d "$cacheDirectoryName" ]; then
|
||||||
apk add jq;
|
mkdir "$cacheDirectoryName"
|
||||||
|
fi
|
||||||
|
cd $cacheDirectoryName
|
||||||
|
if [ ! -d "${branchName}" ]; then
|
||||||
|
mkdir "${branchName}"
|
||||||
|
fi
|
||||||
|
cd "${branchName}"
|
||||||
|
echo ' '
|
||||||
|
echo 'Cached Libraries for ${branchName} from previous builds:'
|
||||||
|
ls
|
||||||
|
echo ' '
|
||||||
|
|
||||||
git clone https://${process.env.GITHUB_TOKEN}@github.com/${process.env.GITHUB_REPOSITORY}.git ${buildUid}/repo -q
|
# TODO
|
||||||
git clone https://${process.env.GITHUB_TOKEN}@github.com/game-ci/unity-builder.git ${buildUid}/builder -q
|
# if library directory doesn't exist create it
|
||||||
|
# mkdir /${efsDirectoryName}/${buildUid}/${repositoryDirectoryName}/${buildParameters.projectPath}/Library
|
||||||
if [ ! -d "cache" ]; then
|
# else empty it
|
||||||
mkdir "cache"
|
# rm -r /${efsDirectoryName}/${buildUid}/${repositoryDirectoryName}/${buildParameters.projectPath}/Library
|
||||||
fi
|
|
||||||
cd cache
|
|
||||||
|
|
||||||
if [ ! -d "${branchName}" ]; then
|
# Restore cache
|
||||||
mkdir "${branchName}"
|
latest=$(ls -t | head -1)
|
||||||
fi
|
if [ ! -z $latest ]; then
|
||||||
cd "${branchName}"
|
echo "Library cache exists from build $latest from ${branchName}"
|
||||||
|
unzip -q "$latest" -d /${efsDirectoryName}/${buildUid}/${repositoryDirectoryName}/${buildParameters.projectPath}/Library/.
|
||||||
|
else
|
||||||
|
echo "Cache does not exist"
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
echo ' '
|
# Print out important directories
|
||||||
echo 'Cached Libraries for ${branchName} from previous builds:'
|
|
||||||
ls
|
|
||||||
echo ' '
|
|
||||||
|
|
||||||
latest=$(ls -t | head -1)
|
|
||||||
if [ ! -z $latest ]; then
|
|
||||||
echo "Library cache exists from build $latest from ${branchName}"
|
|
||||||
mkdir /data/${buildUid}/repo/${buildParameters.projectPath}/Library
|
|
||||||
unzip -q "$latest" -d /data/${buildUid}/repo/${buildParameters.projectPath}/Library/.
|
|
||||||
echo ' '
|
echo ' '
|
||||||
echo 'Repo:'
|
echo 'Repo:'
|
||||||
ls /data/${buildUid}/repo/
|
ls /${efsDirectoryName}/${buildUid}/${repositoryDirectoryName}/
|
||||||
echo ' '
|
echo ' '
|
||||||
echo 'Project:'
|
echo 'Project:'
|
||||||
ls /data/${buildUid}/repo/${buildParameters.projectPath}
|
ls /${efsDirectoryName}/${buildUid}/${repositoryDirectoryName}/${buildParameters.projectPath}
|
||||||
echo ' '
|
echo ' '
|
||||||
echo 'Library:'
|
echo 'Library:'
|
||||||
ls /data/${buildUid}/repo/${buildParameters.projectPath}/Library/
|
ls /${efsDirectoryName}/${buildUid}/${repositoryDirectoryName}/${buildParameters.projectPath}/Library/
|
||||||
echo ' '
|
echo ' '
|
||||||
else
|
|
||||||
echo "Cache does not exist"
|
|
||||||
fi
|
|
||||||
cd ../../
|
|
||||||
|
|
||||||
cd ${buildUid}/repo;
|
|
||||||
git checkout $GITHUB_SHA;
|
|
||||||
`,
|
`,
|
||||||
], '/data', '/data/', [
|
], `/${efsDirectoryName}`, `/${efsDirectoryName}/`, [
|
||||||
{
|
{
|
||||||
name: 'GITHUB_SHA',
|
name: 'GITHUB_SHA',
|
||||||
value: process.env.GITHUB_SHA,
|
value: process.env.GITHUB_SHA,
|
||||||
|
|
@ -296,17 +306,17 @@ class AWS {
|
||||||
yield this.run(buildUid, buildParameters.awsStackName, baseImage.toString(), ['/bin/sh'], [
|
yield this.run(buildUid, buildParameters.awsStackName, baseImage.toString(), ['/bin/sh'], [
|
||||||
'-c',
|
'-c',
|
||||||
`
|
`
|
||||||
cp -r /data/${buildUid}/builder/dist/default-build-script/ /UnityBuilderAction;
|
cp -r /${efsDirectoryName}/${buildUid}/builder/dist/default-build-script/ /UnityBuilderAction;
|
||||||
cp -r /data/${buildUid}/builder/dist/entrypoint.sh /entrypoint.sh;
|
cp -r /${efsDirectoryName}/${buildUid}/builder/dist/entrypoint.sh /entrypoint.sh;
|
||||||
cp -r /data/${buildUid}/builder/dist/steps/ /steps;
|
cp -r /${efsDirectoryName}/${buildUid}/builder/dist/steps/ /steps;
|
||||||
chmod -R +x /entrypoint.sh;
|
chmod -R +x /entrypoint.sh;
|
||||||
chmod -R +x /steps;
|
chmod -R +x /steps;
|
||||||
/entrypoint.sh;
|
/entrypoint.sh;
|
||||||
`,
|
`,
|
||||||
], '/data', `/data/${buildUid}/repo/`, [
|
], `/${efsDirectoryName}`, `/${efsDirectoryName}/${buildUid}/${repositoryDirectoryName}/`, [
|
||||||
{
|
{
|
||||||
name: 'GITHUB_WORKSPACE',
|
name: 'GITHUB_WORKSPACE',
|
||||||
value: `/data/${buildUid}/repo/`,
|
value: `/${efsDirectoryName}/${buildUid}/${repositoryDirectoryName}/`,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'PROJECT_PATH',
|
name: 'PROJECT_PATH',
|
||||||
|
|
@ -391,12 +401,12 @@ class AWS {
|
||||||
apk add zip
|
apk add zip
|
||||||
cd Library
|
cd Library
|
||||||
zip -q -r lib-${buildUid}.zip .*
|
zip -q -r lib-${buildUid}.zip .*
|
||||||
mv lib-${buildUid}.zip /data/cache/${branchName}/lib-${buildUid}.zip
|
mv lib-${buildUid}.zip /${efsDirectoryName}/${cacheDirectoryName}/${branchName}/lib-${buildUid}.zip
|
||||||
cd ../../
|
cd ../../
|
||||||
zip -q -r build-${buildUid}.zip ${buildParameters.buildPath}/*
|
zip -q -r build-${buildUid}.zip ${buildParameters.buildPath}/*
|
||||||
mv build-${buildUid}.zip /data/${buildUid}/build-${buildUid}.zip
|
mv build-${buildUid}.zip /${efsDirectoryName}/${buildUid}/build-${buildUid}.zip
|
||||||
`,
|
`,
|
||||||
], '/data', `/data/${buildUid}/repo/${buildParameters.projectPath}`, [
|
], `/${efsDirectoryName}`, `/${efsDirectoryName}/${buildUid}/${repositoryDirectoryName}/${buildParameters.projectPath}`, [
|
||||||
{
|
{
|
||||||
name: 'GITHUB_SHA',
|
name: 'GITHUB_SHA',
|
||||||
value: process.env.GITHUB_SHA,
|
value: process.env.GITHUB_SHA,
|
||||||
|
|
@ -413,10 +423,10 @@ class AWS {
|
||||||
`
|
`
|
||||||
aws s3 cp ${buildUid}/build-${buildUid}.zip s3://game-ci-storage/
|
aws s3 cp ${buildUid}/build-${buildUid}.zip s3://game-ci-storage/
|
||||||
# no need to upload Library cache for now
|
# no need to upload Library cache for now
|
||||||
# aws s3 cp /data/cache/${branchName}/lib-${buildUid}.zip s3://game-ci-storage/
|
# aws s3 cp /${efsDirectoryName}/${cacheDirectoryName}/${branchName}/lib-${buildUid}.zip s3://game-ci-storage/
|
||||||
rm -r ${buildUid}
|
rm -r ${buildUid}
|
||||||
`,
|
`,
|
||||||
], '/data', `/data/`, [
|
], `/${efsDirectoryName}`, `/${efsDirectoryName}/`, [
|
||||||
{
|
{
|
||||||
name: 'GITHUB_SHA',
|
name: 'GITHUB_SHA',
|
||||||
value: process.env.GITHUB_SHA,
|
value: process.env.GITHUB_SHA,
|
||||||
|
|
|
||||||
File diff suppressed because one or more lines are too long
108
src/model/aws.ts
108
src/model/aws.ts
|
|
@ -4,6 +4,9 @@ import * as fs from 'fs';
|
||||||
import * as core from '@actions/core';
|
import * as core from '@actions/core';
|
||||||
import * as zlib from 'zlib';
|
import * as zlib from 'zlib';
|
||||||
const alphabet = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
|
const alphabet = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
|
||||||
|
const repositoryDirectoryName = 'repo';
|
||||||
|
const efsDirectoryName = 'data';
|
||||||
|
const cacheDirectoryName = 'cache';
|
||||||
|
|
||||||
class AWS {
|
class AWS {
|
||||||
static async runBuildJob(buildParameters, baseImage) {
|
static async runBuildJob(buildParameters, baseImage) {
|
||||||
|
|
@ -23,55 +26,62 @@ class AWS {
|
||||||
[
|
[
|
||||||
'-c',
|
'-c',
|
||||||
`apk update;
|
`apk update;
|
||||||
|
apk add unzip;
|
||||||
|
apk add git-lfs;
|
||||||
|
apk add jq;
|
||||||
|
|
||||||
|
# Get source repo for project to be built and game-ci repo for utilties
|
||||||
|
git clone https://${process.env.GITHUB_TOKEN}@github.com/${process.env.GITHUB_REPOSITORY}.git ${buildUid}/${repositoryDirectoryName} -q
|
||||||
|
git clone https://${process.env.GITHUB_TOKEN}@github.com/game-ci/unity-builder.git ${buildUid}/builder -q
|
||||||
|
cd /${efsDirectoryName}/${buildUid}/${repositoryDirectoryName}/
|
||||||
|
git checkout $GITHUB_SHA
|
||||||
|
cd /${efsDirectoryName}/
|
||||||
|
|
||||||
apk add unzip;
|
# Look for usable cache
|
||||||
apk add git-lfs;
|
if [ ! -d "$cacheDirectoryName" ]; then
|
||||||
apk add jq;
|
mkdir "$cacheDirectoryName"
|
||||||
|
fi
|
||||||
|
cd $cacheDirectoryName
|
||||||
|
if [ ! -d "${branchName}" ]; then
|
||||||
|
mkdir "${branchName}"
|
||||||
|
fi
|
||||||
|
cd "${branchName}"
|
||||||
|
echo ' '
|
||||||
|
echo 'Cached Libraries for ${branchName} from previous builds:'
|
||||||
|
ls
|
||||||
|
echo ' '
|
||||||
|
|
||||||
git clone https://${process.env.GITHUB_TOKEN}@github.com/${process.env.GITHUB_REPOSITORY}.git ${buildUid}/repo -q
|
# TODO
|
||||||
git clone https://${process.env.GITHUB_TOKEN}@github.com/game-ci/unity-builder.git ${buildUid}/builder -q
|
# if library directory doesn't exist create it
|
||||||
|
# mkdir /${efsDirectoryName}/${buildUid}/${repositoryDirectoryName}/${buildParameters.projectPath}/Library
|
||||||
if [ ! -d "cache" ]; then
|
# else empty it
|
||||||
mkdir "cache"
|
# rm -r /${efsDirectoryName}/${buildUid}/${repositoryDirectoryName}/${buildParameters.projectPath}/Library
|
||||||
fi
|
|
||||||
cd cache
|
|
||||||
|
|
||||||
if [ ! -d "${branchName}" ]; then
|
# Restore cache
|
||||||
mkdir "${branchName}"
|
latest=$(ls -t | head -1)
|
||||||
fi
|
if [ ! -z $latest ]; then
|
||||||
cd "${branchName}"
|
echo "Library cache exists from build $latest from ${branchName}"
|
||||||
|
unzip -q "$latest" -d /${efsDirectoryName}/${buildUid}/${repositoryDirectoryName}/${buildParameters.projectPath}/Library/.
|
||||||
|
else
|
||||||
|
echo "Cache does not exist"
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
echo ' '
|
# Print out important directories
|
||||||
echo 'Cached Libraries for ${branchName} from previous builds:'
|
|
||||||
ls
|
|
||||||
echo ' '
|
|
||||||
|
|
||||||
latest=$(ls -t | head -1)
|
|
||||||
if [ ! -z $latest ]; then
|
|
||||||
echo "Library cache exists from build $latest from ${branchName}"
|
|
||||||
mkdir /data/${buildUid}/repo/${buildParameters.projectPath}/Library
|
|
||||||
unzip -q "$latest" -d /data/${buildUid}/repo/${buildParameters.projectPath}/Library/.
|
|
||||||
echo ' '
|
echo ' '
|
||||||
echo 'Repo:'
|
echo 'Repo:'
|
||||||
ls /data/${buildUid}/repo/
|
ls /${efsDirectoryName}/${buildUid}/${repositoryDirectoryName}/
|
||||||
echo ' '
|
echo ' '
|
||||||
echo 'Project:'
|
echo 'Project:'
|
||||||
ls /data/${buildUid}/repo/${buildParameters.projectPath}
|
ls /${efsDirectoryName}/${buildUid}/${repositoryDirectoryName}/${buildParameters.projectPath}
|
||||||
echo ' '
|
echo ' '
|
||||||
echo 'Library:'
|
echo 'Library:'
|
||||||
ls /data/${buildUid}/repo/${buildParameters.projectPath}/Library/
|
ls /${efsDirectoryName}/${buildUid}/${repositoryDirectoryName}/${buildParameters.projectPath}/Library/
|
||||||
echo ' '
|
echo ' '
|
||||||
else
|
|
||||||
echo "Cache does not exist"
|
|
||||||
fi
|
|
||||||
cd ../../
|
|
||||||
|
|
||||||
cd ${buildUid}/repo;
|
|
||||||
git checkout $GITHUB_SHA;
|
|
||||||
`,
|
`,
|
||||||
],
|
],
|
||||||
'/data',
|
`/${efsDirectoryName}`,
|
||||||
'/data/',
|
`/${efsDirectoryName}/`,
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
name: 'GITHUB_SHA',
|
name: 'GITHUB_SHA',
|
||||||
|
|
@ -95,20 +105,20 @@ class AWS {
|
||||||
[
|
[
|
||||||
'-c',
|
'-c',
|
||||||
`
|
`
|
||||||
cp -r /data/${buildUid}/builder/dist/default-build-script/ /UnityBuilderAction;
|
cp -r /${efsDirectoryName}/${buildUid}/builder/dist/default-build-script/ /UnityBuilderAction;
|
||||||
cp -r /data/${buildUid}/builder/dist/entrypoint.sh /entrypoint.sh;
|
cp -r /${efsDirectoryName}/${buildUid}/builder/dist/entrypoint.sh /entrypoint.sh;
|
||||||
cp -r /data/${buildUid}/builder/dist/steps/ /steps;
|
cp -r /${efsDirectoryName}/${buildUid}/builder/dist/steps/ /steps;
|
||||||
chmod -R +x /entrypoint.sh;
|
chmod -R +x /entrypoint.sh;
|
||||||
chmod -R +x /steps;
|
chmod -R +x /steps;
|
||||||
/entrypoint.sh;
|
/entrypoint.sh;
|
||||||
`,
|
`,
|
||||||
],
|
],
|
||||||
'/data',
|
`/${efsDirectoryName}`,
|
||||||
`/data/${buildUid}/repo/`,
|
`/${efsDirectoryName}/${buildUid}/${repositoryDirectoryName}/`,
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
name: 'GITHUB_WORKSPACE',
|
name: 'GITHUB_WORKSPACE',
|
||||||
value: `/data/${buildUid}/repo/`,
|
value: `/${efsDirectoryName}/${buildUid}/${repositoryDirectoryName}/`,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'PROJECT_PATH',
|
name: 'PROJECT_PATH',
|
||||||
|
|
@ -200,14 +210,14 @@ class AWS {
|
||||||
apk add zip
|
apk add zip
|
||||||
cd Library
|
cd Library
|
||||||
zip -q -r lib-${buildUid}.zip .*
|
zip -q -r lib-${buildUid}.zip .*
|
||||||
mv lib-${buildUid}.zip /data/cache/${branchName}/lib-${buildUid}.zip
|
mv lib-${buildUid}.zip /${efsDirectoryName}/${cacheDirectoryName}/${branchName}/lib-${buildUid}.zip
|
||||||
cd ../../
|
cd ../../
|
||||||
zip -q -r build-${buildUid}.zip ${buildParameters.buildPath}/*
|
zip -q -r build-${buildUid}.zip ${buildParameters.buildPath}/*
|
||||||
mv build-${buildUid}.zip /data/${buildUid}/build-${buildUid}.zip
|
mv build-${buildUid}.zip /${efsDirectoryName}/${buildUid}/build-${buildUid}.zip
|
||||||
`,
|
`,
|
||||||
],
|
],
|
||||||
'/data',
|
`/${efsDirectoryName}`,
|
||||||
`/data/${buildUid}/repo/${buildParameters.projectPath}`,
|
`/${efsDirectoryName}/${buildUid}/${repositoryDirectoryName}/${buildParameters.projectPath}`,
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
name: 'GITHUB_SHA',
|
name: 'GITHUB_SHA',
|
||||||
|
|
@ -233,12 +243,12 @@ class AWS {
|
||||||
`
|
`
|
||||||
aws s3 cp ${buildUid}/build-${buildUid}.zip s3://game-ci-storage/
|
aws s3 cp ${buildUid}/build-${buildUid}.zip s3://game-ci-storage/
|
||||||
# no need to upload Library cache for now
|
# no need to upload Library cache for now
|
||||||
# aws s3 cp /data/cache/${branchName}/lib-${buildUid}.zip s3://game-ci-storage/
|
# aws s3 cp /${efsDirectoryName}/${cacheDirectoryName}/${branchName}/lib-${buildUid}.zip s3://game-ci-storage/
|
||||||
rm -r ${buildUid}
|
rm -r ${buildUid}
|
||||||
`,
|
`,
|
||||||
],
|
],
|
||||||
'/data',
|
`/${efsDirectoryName}`,
|
||||||
`/data/`,
|
`/${efsDirectoryName}/`,
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
name: 'GITHUB_SHA',
|
name: 'GITHUB_SHA',
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue