Refactor state and steps out of cloud-runner main class
parent
c121a1f2f6
commit
c3e7ba5704
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
|
|
@ -1,4 +1,4 @@
|
|||
import CloudRunnerLogger from '../cloud-runner-services/cloud-runner-logger';
|
||||
import CloudRunnerLogger from '../services/cloud-runner-logger';
|
||||
import * as core from '@actions/core';
|
||||
import * as SDK from 'aws-sdk';
|
||||
import * as fs from 'fs';
|
||||
|
|
|
|||
|
|
@ -1,11 +1,11 @@
|
|||
import * as SDK from 'aws-sdk';
|
||||
import CloudRunnerSecret from '../cloud-runner-services/cloud-runner-secret';
|
||||
import CloudRunnerEnvironmentVariable from '../cloud-runner-services/cloud-runner-environment-variable';
|
||||
import CloudRunnerTaskDef from '../cloud-runner-services/cloud-runner-task-def';
|
||||
import CloudRunnerSecret from '../services/cloud-runner-secret';
|
||||
import CloudRunnerEnvironmentVariable from '../services/cloud-runner-environment-variable';
|
||||
import CloudRunnerTaskDef from '../services/cloud-runner-task-def';
|
||||
import AWSBuildRunner from './aws-build-runner';
|
||||
import { CloudRunnerProviderInterface } from '../cloud-runner-services/cloud-runner-provider-interface';
|
||||
import { CloudRunnerProviderInterface } from '../services/cloud-runner-provider-interface';
|
||||
import BuildParameters from '../../build-parameters';
|
||||
import CloudRunnerLogger from '../cloud-runner-services/cloud-runner-logger';
|
||||
import CloudRunnerLogger from '../services/cloud-runner-logger';
|
||||
import { AWSJobStack } from './aws-job-stack';
|
||||
|
||||
class AWSBuildEnvironment implements CloudRunnerProviderInterface {
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
import * as AWS from 'aws-sdk';
|
||||
import CloudRunnerEnvironmentVariable from '../cloud-runner-services/cloud-runner-environment-variable';
|
||||
import CloudRunnerEnvironmentVariable from '../services/cloud-runner-environment-variable';
|
||||
import * as core from '@actions/core';
|
||||
import CloudRunnerTaskDef from '../cloud-runner-services/cloud-runner-task-def';
|
||||
import CloudRunnerTaskDef from '../services/cloud-runner-task-def';
|
||||
import * as zlib from 'zlib';
|
||||
import CloudRunnerLogger from '../cloud-runner-services/cloud-runner-logger';
|
||||
import CloudRunnerLogger from '../services/cloud-runner-logger';
|
||||
|
||||
class AWSBuildRunner {
|
||||
static async runTask(
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import CloudRunnerLogger from '../cloud-runner-services/cloud-runner-logger';
|
||||
import CloudRunnerSecret from '../cloud-runner-services/cloud-runner-secret';
|
||||
import CloudRunnerLogger from '../services/cloud-runner-logger';
|
||||
import CloudRunnerSecret from '../services/cloud-runner-secret';
|
||||
import * as SDK from 'aws-sdk';
|
||||
import * as core from '@actions/core';
|
||||
|
||||
|
|
|
|||
|
|
@ -1,11 +1,11 @@
|
|||
import * as SDK from 'aws-sdk';
|
||||
import CloudRunnerTaskDef from '../cloud-runner-services/cloud-runner-task-def';
|
||||
import CloudRunnerSecret from '../cloud-runner-services/cloud-runner-secret';
|
||||
import CloudRunnerConstants from '../cloud-runner-services/cloud-runner-constants';
|
||||
import CloudRunnerTaskDef from '../services/cloud-runner-task-def';
|
||||
import CloudRunnerSecret from '../services/cloud-runner-secret';
|
||||
import CloudRunnerConstants from '../services/cloud-runner-constants';
|
||||
import { customAlphabet } from 'nanoid';
|
||||
import { AWSBaseStack } from './aws-base-stack';
|
||||
import { AWSTemplates } from './aws-templates';
|
||||
import CloudRunnerLogger from '../cloud-runner-services/cloud-runner-logger';
|
||||
import CloudRunnerLogger from '../services/cloud-runner-logger';
|
||||
import * as fs from 'fs';
|
||||
import { AWSError } from './aws-error';
|
||||
|
||||
|
|
|
|||
|
|
@ -1,16 +1,16 @@
|
|||
import AWSBuildPlatform from './aws/aws-build-platform';
|
||||
import * as core from '@actions/core';
|
||||
import { BuildParameters } from '..';
|
||||
import CloudRunnerNamespace from './cloud-runner-services/cloud-runner-namespace';
|
||||
import { CloudRunnerState } from './cloud-runner-state/cloud-runner-state';
|
||||
import CloudRunnerNamespace from './services/cloud-runner-namespace';
|
||||
import { CloudRunnerState } from './state/cloud-runner-state';
|
||||
import Kubernetes from './k8s/kubernetes-build-platform';
|
||||
import CloudRunnerLogger from './cloud-runner-services/cloud-runner-logger';
|
||||
import { BuildStep } from './cloud-runner-steps/build-step';
|
||||
import { CompressionStep } from './cloud-runner-steps/compression-step';
|
||||
import { DownloadRepositoryStep } from './cloud-runner-steps/download-repository-step';
|
||||
import { CustomStep } from './cloud-runner-steps/custom-step';
|
||||
import { EphemeralGitHubRunnerStep } from './cloud-runner-steps/ephemeral-github-runner-step';
|
||||
import { CloudRunnerStepState } from './cloud-runner-state/cloud-runner-step-state';
|
||||
import CloudRunnerLogger from './services/cloud-runner-logger';
|
||||
import { BuildStep } from './steps/build-step';
|
||||
import { CompressionStep } from './steps/compression-step';
|
||||
import { DownloadRepositoryStep } from './steps/download-repository-step';
|
||||
import { CustomStep } from './steps/custom-step';
|
||||
import { EphemeralGitHubRunnerStep } from './steps/ephemeral-github-runner-step';
|
||||
import { CloudRunnerStepState } from './state/cloud-runner-step-state';
|
||||
|
||||
class CloudRunner {
|
||||
private static setup(buildParameters: BuildParameters) {
|
||||
|
|
|
|||
|
|
@ -1,17 +1,17 @@
|
|||
import * as k8s from '@kubernetes/client-node';
|
||||
import { BuildParameters } from '../..';
|
||||
import * as core from '@actions/core';
|
||||
import { CloudRunnerProviderInterface } from '../cloud-runner-services/cloud-runner-provider-interface';
|
||||
import CloudRunnerSecret from '../cloud-runner-services/cloud-runner-secret';
|
||||
import { CloudRunnerProviderInterface } from '../services/cloud-runner-provider-interface';
|
||||
import CloudRunnerSecret from '../services/cloud-runner-secret';
|
||||
import KubernetesStorage from './kubernetes-storage';
|
||||
import CloudRunnerEnvironmentVariable from '../cloud-runner-services/cloud-runner-environment-variable';
|
||||
import CloudRunnerEnvironmentVariable from '../services/cloud-runner-environment-variable';
|
||||
import KubernetesLogging from './kubernetes-logging';
|
||||
import KubernetesSecret from './kubernetes-secret';
|
||||
import KubernetesUtilities from './kubernetes-utils';
|
||||
import waitUntil from 'async-wait-until';
|
||||
import KubernetesJobSpecFactory from './kubernetes-job-spec-factory';
|
||||
import KubernetesServiceAccount from './kubernetes-service-account';
|
||||
import CloudRunnerLogger from '../cloud-runner-services/cloud-runner-logger';
|
||||
import CloudRunnerLogger from '../services/cloud-runner-logger';
|
||||
|
||||
class Kubernetes implements CloudRunnerProviderInterface {
|
||||
private kubeConfig: k8s.KubeConfig;
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import BuildParameters from '../../build-parameters';
|
||||
import CloudRunnerEnvironmentVariable from '../cloud-runner-services/cloud-runner-environment-variable';
|
||||
import CloudRunnerEnvironmentVariable from '../services/cloud-runner-environment-variable';
|
||||
|
||||
class KubernetesJobSpecFactory {
|
||||
static getJobSpec(
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { CoreV1Api, KubeConfig, Log } from '@kubernetes/client-node';
|
||||
import { Writable } from 'stream';
|
||||
import CloudRunnerLogger from '../cloud-runner-services/cloud-runner-logger';
|
||||
import CloudRunnerLogger from '../services/cloud-runner-logger';
|
||||
|
||||
class KubernetesLogging {
|
||||
static async streamLogs(
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import { CoreV1Api } from '@kubernetes/client-node';
|
||||
import CloudRunnerSecret from '../cloud-runner-services/cloud-runner-secret';
|
||||
import CloudRunnerSecret from '../services/cloud-runner-secret';
|
||||
import * as k8s from '@kubernetes/client-node';
|
||||
const base64 = require('base-64');
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ import waitUntil from 'async-wait-until';
|
|||
import * as core from '@actions/core';
|
||||
import * as k8s from '@kubernetes/client-node';
|
||||
import BuildParameters from '../../build-parameters';
|
||||
import CloudRunnerLogger from '../cloud-runner-services/cloud-runner-logger';
|
||||
import CloudRunnerLogger from '../services/cloud-runner-logger';
|
||||
|
||||
class KubernetesStorage {
|
||||
public static async createPersistentVolumeClaim(
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { CoreV1Api } from '@kubernetes/client-node';
|
||||
import waitUntil from 'async-wait-until';
|
||||
import CloudRunnerLogger from '../cloud-runner-services/cloud-runner-logger';
|
||||
import CloudRunnerLogger from '../services/cloud-runner-logger';
|
||||
|
||||
class KubernetesUtilities {
|
||||
static async findPodFromJob(kubeClient: CoreV1Api, jobName: string, namespace: string) {
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
import { BuildParameters } from '../..';
|
||||
import { CloudRunnerProviderInterface } from '../cloud-runner-services/cloud-runner-provider-interface';
|
||||
import CloudRunnerSecret from '../cloud-runner-services/cloud-runner-secret';
|
||||
import CloudRunnerEnvironmentVariable from '../cloud-runner-services/cloud-runner-environment-variable';
|
||||
import ImageEnvironmentFactory from '../../image-environment-factory';
|
||||
import CloudRunnerEnvironmentVariable from '../services/cloud-runner-environment-variable';
|
||||
import { CloudRunnerProviderInterface } from '../services/cloud-runner-provider-interface';
|
||||
import CloudRunnerSecret from '../services/cloud-runner-secret';
|
||||
|
||||
export class CloudRunnerState {
|
||||
public static CloudRunnerProviderPlatform: CloudRunnerProviderInterface;
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
import CloudRunnerEnvironmentVariable from '../cloud-runner-services/cloud-runner-environment-variable';
|
||||
import CloudRunnerSecret from '../cloud-runner-services/cloud-runner-secret';
|
||||
import CloudRunnerEnvironmentVariable from '../services/cloud-runner-environment-variable';
|
||||
import CloudRunnerSecret from '../services/cloud-runner-secret';
|
||||
|
||||
export class CloudRunnerStepState {
|
||||
public image: string;
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
import CloudRunnerEnvironmentVariable from '../cloud-runner-services/cloud-runner-environment-variable';
|
||||
import CloudRunnerLogger from '../cloud-runner-services/cloud-runner-logger';
|
||||
import CloudRunnerSecret from '../cloud-runner-services/cloud-runner-secret';
|
||||
import { CloudRunnerState } from '../cloud-runner-state/cloud-runner-state';
|
||||
import { CloudRunnerStepState } from '../cloud-runner-state/cloud-runner-step-state';
|
||||
import CloudRunnerEnvironmentVariable from '../services/cloud-runner-environment-variable';
|
||||
import CloudRunnerLogger from '../services/cloud-runner-logger';
|
||||
import CloudRunnerSecret from '../services/cloud-runner-secret';
|
||||
import { CloudRunnerState } from '../state/cloud-runner-state';
|
||||
import { CloudRunnerStepState } from '../state/cloud-runner-step-state';
|
||||
import { StandardStepInterface } from './standard-step-interface';
|
||||
|
||||
export class BuildStep implements StandardStepInterface {
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
import CloudRunnerEnvironmentVariable from '../cloud-runner-services/cloud-runner-environment-variable';
|
||||
import CloudRunnerLogger from '../cloud-runner-services/cloud-runner-logger';
|
||||
import CloudRunnerSecret from '../cloud-runner-services/cloud-runner-secret';
|
||||
import { CloudRunnerState } from '../cloud-runner-state/cloud-runner-state';
|
||||
import { CloudRunnerStepState } from '../cloud-runner-state/cloud-runner-step-state';
|
||||
import CloudRunnerEnvironmentVariable from '../services/cloud-runner-environment-variable';
|
||||
import CloudRunnerLogger from '../services/cloud-runner-logger';
|
||||
import CloudRunnerSecret from '../services/cloud-runner-secret';
|
||||
import { CloudRunnerState } from '../state/cloud-runner-state';
|
||||
import { CloudRunnerStepState } from '../state/cloud-runner-step-state';
|
||||
import { StandardStepInterface } from './standard-step-interface';
|
||||
|
||||
export class CompressionStep implements StandardStepInterface {
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
import CloudRunnerLogger from '../cloud-runner-services/cloud-runner-logger';
|
||||
import CloudRunnerSecret from '../cloud-runner-services/cloud-runner-secret';
|
||||
import { CloudRunnerState } from '../cloud-runner-state/cloud-runner-state';
|
||||
import CloudRunnerLogger from '../services/cloud-runner-logger';
|
||||
import CloudRunnerSecret from '../services/cloud-runner-secret';
|
||||
import { CloudRunnerState } from '../state/cloud-runner-state';
|
||||
import YAML from 'yaml';
|
||||
|
||||
export class CustomStep {
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
import CloudRunnerEnvironmentVariable from '../cloud-runner-services/cloud-runner-environment-variable';
|
||||
import CloudRunnerLogger from '../cloud-runner-services/cloud-runner-logger';
|
||||
import CloudRunnerSecret from '../cloud-runner-services/cloud-runner-secret';
|
||||
import { CloudRunnerState } from '../cloud-runner-state/cloud-runner-state';
|
||||
import { CloudRunnerStepState } from '../cloud-runner-state/cloud-runner-step-state';
|
||||
import CloudRunnerEnvironmentVariable from '../services/cloud-runner-environment-variable';
|
||||
import CloudRunnerLogger from '../services/cloud-runner-logger';
|
||||
import CloudRunnerSecret from '../services/cloud-runner-secret';
|
||||
import { CloudRunnerState } from '../state/cloud-runner-state';
|
||||
import { CloudRunnerStepState } from '../state/cloud-runner-step-state';
|
||||
import { StandardStepInterface } from './standard-step-interface';
|
||||
|
||||
export class DownloadRepositoryStep implements StandardStepInterface {
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
import CloudRunnerEnvironmentVariable from '../cloud-runner-services/cloud-runner-environment-variable';
|
||||
import CloudRunnerLogger from '../cloud-runner-services/cloud-runner-logger';
|
||||
import CloudRunnerSecret from '../cloud-runner-services/cloud-runner-secret';
|
||||
import { CloudRunnerState } from '../cloud-runner-state/cloud-runner-state';
|
||||
import { CloudRunnerStepState } from '../cloud-runner-state/cloud-runner-step-state';
|
||||
import CloudRunnerEnvironmentVariable from '../services/cloud-runner-environment-variable';
|
||||
import CloudRunnerLogger from '../services/cloud-runner-logger';
|
||||
import CloudRunnerSecret from '../services/cloud-runner-secret';
|
||||
import { CloudRunnerState } from '../state/cloud-runner-state';
|
||||
import { CloudRunnerStepState } from '../state/cloud-runner-step-state';
|
||||
import { StandardStepInterface } from './standard-step-interface';
|
||||
|
||||
export class EphemeralGitHubRunnerStep implements StandardStepInterface {
|
||||
|
|
@ -26,8 +26,8 @@ export class EphemeralGitHubRunnerStep implements StandardStepInterface {
|
|||
CloudRunnerState.buildGuid,
|
||||
image,
|
||||
[installAndStartRunner],
|
||||
`/${CloudRunnerState.buildVolumeFolder}`,
|
||||
`/${CloudRunnerState.buildVolumeFolder}`,
|
||||
``,
|
||||
``,
|
||||
environmentVariables,
|
||||
secrets,
|
||||
);
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
import { CloudRunnerStepState } from '../cloud-runner-state/cloud-runner-step-state';
|
||||
import { CloudRunnerStepState } from '../state/cloud-runner-step-state';
|
||||
|
||||
export interface StandardStepInterface {
|
||||
run(
|
||||
Loading…
Reference in New Issue