mirror of
https://github.com/game-ci/unity-builder.git
synced 2025-07-07 20:35:33 -04:00
83 lines
2.9 KiB
TypeScript
83 lines
2.9 KiB
TypeScript
import BuildParameters from '../../build-parameters';
|
|
import { Cli } from '../../cli/cli';
|
|
import UnityVersioning from '../../unity-versioning';
|
|
import CloudRunner from '../cloud-runner';
|
|
import CloudRunnerOptions from '../options/cloud-runner-options';
|
|
import KubernetesLogService from '../providers/k8s/kubernetes-log-service';
|
|
import CloudRunnerLogger from '../services/core/cloud-runner-logger';
|
|
import setups from './cloud-runner-suite.test';
|
|
import { v4 as uuidv4 } from 'uuid';
|
|
import * as k8s from '@kubernetes/client-node';
|
|
import ImageTag from '../../image-tag';
|
|
|
|
async function CreateParameters(overrides: any) {
|
|
if (overrides) {
|
|
Cli.options = overrides;
|
|
}
|
|
|
|
return await BuildParameters.create();
|
|
}
|
|
|
|
describe('Cloud Runner Kubernetes', () => {
|
|
it('Responds', () => {});
|
|
setups();
|
|
if (CloudRunnerOptions.cloudRunnerDebug) {
|
|
it('Build create log service', async () => {
|
|
const overrides = {
|
|
versioning: 'None',
|
|
projectPath: 'test-project',
|
|
unityVersion: UnityVersioning.determineUnityVersion('test-project', UnityVersioning.read('test-project')),
|
|
targetPlatform: 'StandaloneLinux64',
|
|
cacheKey: `test-case-${uuidv4()}`,
|
|
customJob: `
|
|
- name: 'step 1'
|
|
image: 'ubuntu'
|
|
commands: 'curl http://$LOG_SERVICE_IP:80''`,
|
|
};
|
|
if (CloudRunnerOptions.providerStrategy !== `k8s`) {
|
|
return;
|
|
}
|
|
const buildParameter = await CreateParameters(overrides);
|
|
expect(buildParameter.projectPath).toEqual(overrides.projectPath);
|
|
|
|
await CloudRunner.setup(buildParameter);
|
|
const kubeConfig = new k8s.KubeConfig();
|
|
kubeConfig.loadFromDefault();
|
|
const kubeClient = kubeConfig.makeApiClient(k8s.CoreV1Api);
|
|
const kubeClientApps = kubeConfig.makeApiClient(k8s.AppsV1Api);
|
|
|
|
await KubernetesLogService.createLogDeployment('test', kubeClientApps, kubeClient);
|
|
|
|
CloudRunnerLogger.log(`run 1 succeeded`);
|
|
}, 1_000_000_000);
|
|
it('curl log service', async () => {
|
|
const overrides = {
|
|
versioning: 'None',
|
|
projectPath: 'test-project',
|
|
unityVersion: UnityVersioning.read('test-project'),
|
|
targetPlatform: 'StandaloneLinux64',
|
|
cacheKey: `test-case-${uuidv4()}`,
|
|
customJob: `
|
|
- name: 'step 1'
|
|
image: 'ubuntu'
|
|
commands: |
|
|
apt-get update
|
|
apt-get install curl -y
|
|
curl http://$LOG_SERVICE_IP:80`,
|
|
};
|
|
if (CloudRunnerOptions.providerStrategy !== `k8s`) {
|
|
return;
|
|
}
|
|
const buildParameter = await CreateParameters(overrides);
|
|
expect(buildParameter.projectPath).toEqual(overrides.projectPath);
|
|
|
|
const baseImage = new ImageTag(buildParameter);
|
|
const results = await CloudRunner.run(buildParameter, baseImage.toString());
|
|
const buildSucceededString = 'Build succeeded';
|
|
expect(results).toContain(buildSucceededString);
|
|
|
|
CloudRunnerLogger.log(`run 1 succeeded`);
|
|
}, 1_000_000_000);
|
|
}
|
|
});
|