async workflow test for aws only
parent
51506c94c8
commit
2c14627097
|
|
@ -5672,8 +5672,26 @@ git config --global filter.lfs.process "git-lfs filter-process --skip
|
||||||
git clone -q -b ${cloud_runner_1.default.buildParameters.cloudRunnerBranch} ${cloud_runner_folders_1.CloudRunnerFolders.unityBuilderRepoUrl} /builder
|
git clone -q -b ${cloud_runner_1.default.buildParameters.cloudRunnerBranch} ${cloud_runner_folders_1.CloudRunnerFolders.unityBuilderRepoUrl} /builder
|
||||||
git clone -q -b ${cloud_runner_1.default.buildParameters.branch} ${cloud_runner_folders_1.CloudRunnerFolders.targetBuildRepoUrl} /repo
|
git clone -q -b ${cloud_runner_1.default.buildParameters.branch} ${cloud_runner_folders_1.CloudRunnerFolders.targetBuildRepoUrl} /repo
|
||||||
cd /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
|
node /builder/dist/index.js -m async-workflow
|
||||||
`, `/${cloud_runner_folders_1.CloudRunnerFolders.buildVolumeFolder}`, `/${cloud_runner_folders_1.CloudRunnerFolders.buildVolumeFolder}/`, environmentVariables, secrets);
|
`, `/${cloud_runner_folders_1.CloudRunnerFolders.buildVolumeFolder}`, `/${cloud_runner_folders_1.CloudRunnerFolders.buildVolumeFolder}/`, environmentVariables, [
|
||||||
|
...secrets,
|
||||||
|
...[
|
||||||
|
{
|
||||||
|
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;
|
return output;
|
||||||
}
|
}
|
||||||
catch (error) {
|
catch (error) {
|
||||||
|
|
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -1,11 +1,7 @@
|
||||||
import { BuildParameters, ImageTag } from '../..';
|
import { BuildParameters, ImageTag } from '../..';
|
||||||
import CloudRunner from '../cloud-runner';
|
import CloudRunner from '../cloud-runner';
|
||||||
import Input from '../../input';
|
|
||||||
import { CloudRunnerStatics } from '../cloud-runner-statics';
|
|
||||||
import { TaskParameterSerializer } from '../services/task-parameter-serializer';
|
|
||||||
import UnityVersioning from '../../unity-versioning';
|
import UnityVersioning from '../../unity-versioning';
|
||||||
import { Cli } from '../../cli/cli';
|
import { Cli } from '../../cli/cli';
|
||||||
import CloudRunnerLogger from '../services/cloud-runner-logger';
|
|
||||||
import CloudRunnerOptions from '../cloud-runner-options';
|
import CloudRunnerOptions from '../cloud-runner-options';
|
||||||
import setups from './cloud-runner-suite.test';
|
import setups from './cloud-runner-suite.test';
|
||||||
|
|
||||||
|
|
@ -16,8 +12,6 @@ async function CreateParameters(overrides) {
|
||||||
}
|
}
|
||||||
describe('Cloud Runner Async Workflows', () => {
|
describe('Cloud Runner Async Workflows', () => {
|
||||||
setups();
|
setups();
|
||||||
const testSecretName = 'testSecretName';
|
|
||||||
const testSecretValue = 'testSecretValue';
|
|
||||||
it('Responds', () => {});
|
it('Responds', () => {});
|
||||||
|
|
||||||
if (
|
if (
|
||||||
|
|
@ -32,51 +26,11 @@ describe('Cloud Runner Async Workflows', () => {
|
||||||
projectPath: 'test-project',
|
projectPath: 'test-project',
|
||||||
unityVersion: UnityVersioning.read('test-project'),
|
unityVersion: UnityVersioning.read('test-project'),
|
||||||
asyncCloudRunner: `true`,
|
asyncCloudRunner: `true`,
|
||||||
customJob: `
|
|
||||||
- name: 'step 1'
|
|
||||||
image: 'ubuntu'
|
|
||||||
commands: 'printenv'
|
|
||||||
secrets:
|
|
||||||
- name: '${testSecretName}'
|
|
||||||
value: '${testSecretValue}'
|
|
||||||
`,
|
|
||||||
});
|
});
|
||||||
const baseImage = new ImageTag(buildParameter);
|
const baseImage = new ImageTag(buildParameter);
|
||||||
|
|
||||||
// Run the job
|
// Run the job
|
||||||
const file = await CloudRunner.run(buildParameter, baseImage.toString());
|
await CloudRunner.run(buildParameter, baseImage.toString());
|
||||||
|
|
||||||
// Assert results
|
|
||||||
// expect(file).toContain(JSON.stringify(buildParameter));
|
|
||||||
expect(file).toContain(`${Input.ToEnvVarFormat(testSecretName)}=${testSecretValue}`);
|
|
||||||
const environmentVariables = TaskParameterSerializer.createCloudRunnerEnvironmentVariables(buildParameter);
|
|
||||||
const secrets = TaskParameterSerializer.readDefaultSecrets().map((x) => {
|
|
||||||
return {
|
|
||||||
name: x.EnvironmentVariable,
|
|
||||||
value: x.ParameterValue,
|
|
||||||
};
|
|
||||||
});
|
|
||||||
const combined = [...environmentVariables, ...secrets]
|
|
||||||
.filter((element) => element.value !== undefined && element.value !== '' && typeof element.value !== 'function')
|
|
||||||
.map((x) => {
|
|
||||||
if (typeof x.value === `string`) {
|
|
||||||
x.value = x.value.replace(/\s+/g, '');
|
|
||||||
}
|
|
||||||
|
|
||||||
return x;
|
|
||||||
})
|
|
||||||
.filter((element) => {
|
|
||||||
return !['UNITY_LICENSE', 'CUSTOM_JOB'].includes(element.name);
|
|
||||||
});
|
|
||||||
const newLinePurgedFile = file
|
|
||||||
.replace(/\s+/g, '')
|
|
||||||
.replace(new RegExp(`\\[${CloudRunnerStatics.logPrefix}\\]`, 'g'), '');
|
|
||||||
for (const element of combined) {
|
|
||||||
expect(newLinePurgedFile).toContain(`${element.name}`);
|
|
||||||
CloudRunnerLogger.log(`Contains ${element.name}`);
|
|
||||||
const fullNameEqualValue = `${element.name}=${element.value}`;
|
|
||||||
expect(newLinePurgedFile).toContain(fullNameEqualValue);
|
|
||||||
}
|
|
||||||
}, 1_000_000_000);
|
}, 1_000_000_000);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -25,12 +25,30 @@ 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.cloudRunnerBranch} ${CloudRunnerFolders.unityBuilderRepoUrl} /builder
|
||||||
git clone -q -b ${CloudRunner.buildParameters.branch} ${CloudRunnerFolders.targetBuildRepoUrl} /repo
|
git clone -q -b ${CloudRunner.buildParameters.branch} ${CloudRunnerFolders.targetBuildRepoUrl} /repo
|
||||||
cd /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
|
node /builder/dist/index.js -m async-workflow
|
||||||
`,
|
`,
|
||||||
`/${CloudRunnerFolders.buildVolumeFolder}`,
|
`/${CloudRunnerFolders.buildVolumeFolder}`,
|
||||||
`/${CloudRunnerFolders.buildVolumeFolder}/`,
|
`/${CloudRunnerFolders.buildVolumeFolder}/`,
|
||||||
environmentVariables,
|
environmentVariables,
|
||||||
secrets,
|
[
|
||||||
|
...secrets,
|
||||||
|
...[
|
||||||
|
{
|
||||||
|
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;
|
return output;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue