Parameterized kube memory, cpu, disc space for builds

pull/124/head
Frostebite 2020-07-24 22:26:18 +01:00
parent 4f86195a1f
commit 6fa438534f
5 changed files with 36 additions and 3 deletions

View File

@ -30,6 +30,18 @@ inputs:
default: ''
required: false
description: 'Supply a base64 encoded kubernetes config to run builds on kubernetes and stream logs until completion.'
kubeContainerMemory:
default: '800M'
required: false
description: 'Amount of memory to assign the build container in Kubernetes (https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#resource-units-in-kubernetes)'
kubeContainerCPU:
default: '0.25'
required: false
description: 'Amount of CPU time to assign the build container in Kubernetes (https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#resource-units-in-kubernetes)'
kubeVolumeDiscSize:
default: '5Gi'
required: false
description: 'Amount of disc space to assign the Kubernetes Persistent Volume (https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#resource-units-in-kubernetes)'
githubToken:
default: ''
required: false

File diff suppressed because one or more lines are too long

View File

@ -38,6 +38,9 @@ class BuildParameters {
customParameters: Input.customParameters,
kubeConfig: Input.kubeConfig,
githubToken: Input.githubToken,
kubeContainerMemory: Input.kubeContainerMemory,
kubeContainerCPU: Input.kubeContainerCPU,
kubeVolumeDiscSize: Input.kubeVolumeDiscSize,
};
}

View File

@ -86,7 +86,19 @@ class Input {
}
static get githubToken() {
return core.getInput('githubToken') || false;
return core.getInput('githubToken') || '';
}
static get kubeContainerMemory() {
return core.getInput('kubeContainerMemory') || '';
}
static get kubeContainerCPU() {
return core.getInput('kubeContainerCPU') || '';
}
static get kubeVolumeDiscSize() {
return core.getInput('kubeVolumeDiscSize') || '';
}
}

View File

@ -71,7 +71,7 @@ class Kubernetes {
volumeMode: 'Filesystem',
resources: {
requests: {
storage: '5Gi',
storage: this.buildParameters.kubeVolumeDiscSize,
},
},
},
@ -176,6 +176,12 @@ class Kubernetes {
/entrypoint.sh;
`,
],
resources: {
requests: {
memory: this.buildParameters.kubeContainerMemory,
cpu: this.buildParameters.kubeContainerCPU,
},
},
env: [
{
name: 'GITHUB_WORKSPACE',