mirror of
https://github.com/game-ci/unity-builder.git
synced 2026-01-31 05:19:09 +08:00
* fixes * fixes * fixes * fixes * fixes * check for startup message in workflows * check for startup message in workflows * check for startup message in workflows * check for startup message in workflows * check for startup message in workflows * check for startup message in workflows * Update cloud-runner-ci-pipeline.yml * Update cloud-runner-ci-pipeline.yml * no storage class specified * log file path * log file path * log file path * log file path * log file path * log file path * log file path * log file path * updates * log file path * latest develop * log file path * log file path * Update package.json * log file path * log file path * log file path * log file path * log file path * log file path * log file path * log file path * log file path * log file path * log file path * log file path * log file path * log file path * stream logs through standard input and new remote client cli command * stream logs through standard input and new remote client cli command * stream logs through standard input and new remote client cli command * stream logs through standard input and new remote client cli command * stream logs through standard input and new remote client cli command * stream logs through standard input and new remote client cli command * stream logs through standard input and new remote client cli command * stream logs through standard input and new remote client cli command * stream logs through standard input and new remote client cli command * stream logs through standard input and new remote client cli command * stream logs through standard input and new remote client cli command * stream logs through standard input and new remote client cli command * stream logs through standard input and new remote client cli command * stream logs through standard input and new remote client cli command * stream logs through standard input and new remote client cli command * update pipeline to use k3s * version: 'latest' * fixes * disable aws pipe for now * disable aws pipe for now * disable aws pipe for now * disable aws pipe for now * disable aws pipe for now * disable aws pipe for now * disable aws pipe for now * disable aws pipe for now * disable aws pipe for now * disable aws pipe for now * push k8s logs to LOG SERVICE IP * push k8s logs to LOG SERVICE IP * push k8s logs to LOG SERVICE IP * push k8s logs to LOG SERVICE IP * push k8s logs to LOG SERVICE IP * push k8s logs to LOG SERVICE IP * push k8s logs to LOG SERVICE IP * push k8s logs to LOG SERVICE IP * tests * tests * tests * tests * tests * tests * tests * tests * tests * tests * tests * tests * tests * tests * tests * tests * tests * podname logs for log service * podname logs for log service * podname logs for log service * podname logs for log service * podname logs for log service * podname logs for log service * podname logs for log service * podname logs for log service * podname logs for log service * hashed logs * hashed logs * hashed logs * hashed logs * hashed logs * hashed logs * no wait, just repeat logs * no wait, just repeat logs * remove typo - double await * test fix - kubernetes - name typo in github yaml * test fix - kubernetes - name typo in github yaml * check missing log file * check missing log file * Push to steam test * Push to steam test * Fix path * k8s reliable log hashing * k8s reliable log hashing * k8s reliable log hashing * hashed logging k8s * hashed logging k8s * hashed logging k8s * hashed logging k8s * hashed logging k8s * hashed logging k8s * Include log chunk when task runner sees log update, clarify if we can pull logs from same line or next line * Include log chunk when task runner sees log update, clarify if we can pull logs from same line or next line * Include log chunk when task runner sees log update, clarify if we can pull logs from same line or next line * Include log chunk when task runner sees log update, clarify if we can pull logs from same line or next line * Include log chunk when task runner sees log update, clarify if we can pull logs from same line or next line * Fix exit flow for k8s job * hash comparison logging for log complete in k8s flow * Interrupt k8s logs when logs found * cleanup async parameter * cleanup async parameter * cleanup async parameter * fixes * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix
69 lines
2.5 KiB
TypeScript
69 lines
2.5 KiB
TypeScript
import CloudRunnerSecret from '../options/cloud-runner-secret';
|
|
import CloudRunnerEnvironmentVariable from '../options/cloud-runner-environment-variable';
|
|
import CloudRunnerLogger from '../services/core/cloud-runner-logger';
|
|
import { CloudRunnerFolders } from '../options/cloud-runner-folders';
|
|
import CloudRunner from '../cloud-runner';
|
|
|
|
export class AsyncWorkflow {
|
|
public static async runAsyncWorkflow(
|
|
environmentVariables: CloudRunnerEnvironmentVariable[],
|
|
secrets: CloudRunnerSecret[],
|
|
): Promise<string> {
|
|
try {
|
|
CloudRunnerLogger.log(`Cloud Runner is running async mode`);
|
|
const asyncEnvironmentVariable = new CloudRunnerEnvironmentVariable();
|
|
asyncEnvironmentVariable.name = `ASYNC_WORKFLOW`;
|
|
asyncEnvironmentVariable.value = `true`;
|
|
|
|
let output = '';
|
|
|
|
output += await CloudRunner.Provider.runTaskInWorkflow(
|
|
CloudRunner.buildParameters.buildGuid,
|
|
`ubuntu`,
|
|
`apt-get update > /dev/null
|
|
apt-get install -y curl tar tree npm git git-lfs jq git > /dev/null
|
|
mkdir /builder
|
|
printenv
|
|
git config --global advice.detachedHead false
|
|
git config --global filter.lfs.smudge "git-lfs smudge --skip -- %f"
|
|
git config --global filter.lfs.process "git-lfs filter-process --skip"
|
|
git clone -q -b ${CloudRunner.buildParameters.cloudRunnerBranch} ${CloudRunnerFolders.unityBuilderRepoUrl} /builder
|
|
git clone -q -b ${CloudRunner.buildParameters.branch} ${CloudRunnerFolders.targetBuildRepoUrl} /repo
|
|
cd /repo
|
|
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
|
|
unzip awscliv2.zip
|
|
./aws/install
|
|
aws --version
|
|
node /builder/dist/index.js -m async-workflow`,
|
|
`/${CloudRunnerFolders.buildVolumeFolder}`,
|
|
`/${CloudRunnerFolders.buildVolumeFolder}/`,
|
|
[...environmentVariables, asyncEnvironmentVariable],
|
|
[
|
|
...secrets,
|
|
...[
|
|
{
|
|
ParameterKey: `GITHUB_TOKEN`,
|
|
EnvironmentVariable: `GITHUB_TOKEN`,
|
|
ParameterValue: process.env.GITHUB_TOKEN || ``,
|
|
},
|
|
{
|
|
ParameterKey: `AWS_ACCESS_KEY_ID`,
|
|
EnvironmentVariable: `AWS_ACCESS_KEY_ID`,
|
|
ParameterValue: process.env.AWS_ACCESS_KEY_ID || ``,
|
|
},
|
|
{
|
|
ParameterKey: `AWS_SECRET_ACCESS_KEY`,
|
|
EnvironmentVariable: `AWS_SECRET_ACCESS_KEY`,
|
|
ParameterValue: process.env.AWS_SECRET_ACCESS_KEY || ``,
|
|
},
|
|
],
|
|
],
|
|
);
|
|
|
|
return output;
|
|
} catch (error) {
|
|
throw error;
|
|
}
|
|
}
|
|
}
|