mirror of
https://github.com/game-ci/unity-builder.git
synced 2025-07-04 12:25:19 -04:00

Adds the ability to use a kubernetes container to run builds that are too large for the local machine running the unity-builder. Logs are streamed back during the build. Build results can then be downloaded separately.
115 lines
3.8 KiB
YAML
115 lines
3.8 KiB
YAML
name: 'Unity - Builder'
|
|
author: Webber Takken <webber@takken.io>
|
|
description: 'Build Unity projects for different platforms.'
|
|
inputs:
|
|
unityVersion:
|
|
required: false
|
|
default: ''
|
|
description: 'Version of unity to use for building the project.'
|
|
targetPlatform:
|
|
required: false
|
|
default: ''
|
|
description: 'Platform that the build should target.'
|
|
projectPath:
|
|
required: false
|
|
default: ''
|
|
description: 'Relative path to the project to be built.'
|
|
buildName:
|
|
required: false
|
|
default: ''
|
|
description: 'Name of the build.'
|
|
buildsPath:
|
|
required: false
|
|
default: ''
|
|
description: 'Path where the builds should be stored.'
|
|
buildMethod:
|
|
required: false
|
|
default: ''
|
|
description: 'Path to a Namespace.Class.StaticMethod to run to perform the build.'
|
|
kubeConfig:
|
|
default: ''
|
|
required: false
|
|
description: 'Supply a base64 encoded kubernetes config to run builds on kubernetes and stream logs until completion.'
|
|
kubeVolume:
|
|
default: ''
|
|
required: false
|
|
description: 'Supply a Persistent Volume Claim name to use for the Unity build.'
|
|
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)'
|
|
kubeVolumeSize:
|
|
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
|
|
description: 'GitHub token for cloning, only needed when kubeconfig is used.'
|
|
versioning:
|
|
required: false
|
|
default: 'Semantic'
|
|
description: 'The versioning scheme to use when building the project'
|
|
version:
|
|
required: false
|
|
default: ''
|
|
description: 'The version, when used with the "Custom" versioning scheme'
|
|
androidVersionCode:
|
|
required: false
|
|
default: ''
|
|
description: 'The android versionCode'
|
|
androidAppBundle:
|
|
required: false
|
|
default: false
|
|
description: 'Whether to build .aab instead of .apk'
|
|
androidKeystoreName:
|
|
required: false
|
|
default: ''
|
|
description: 'The android keystoreName'
|
|
androidKeystoreBase64:
|
|
required: false
|
|
default: ''
|
|
description: 'The base64 contents of the android keystore file'
|
|
androidKeystorePass:
|
|
required: false
|
|
default: ''
|
|
description: 'The android keystorePass'
|
|
androidKeyaliasName:
|
|
required: false
|
|
default: ''
|
|
description: 'The android keyaliasName'
|
|
androidKeyaliasPass:
|
|
required: false
|
|
default: ''
|
|
description: 'The android keyaliasPass'
|
|
customParameters:
|
|
required: false
|
|
default: ''
|
|
description: >
|
|
Custom parameters to configure the build.
|
|
|
|
Parameters must start with a hyphen (-) and may be followed by a value (without hyphen).
|
|
Parameters without a value will be considered booleans (with a value of true).
|
|
allowDirtyBuild:
|
|
required: false
|
|
default: ''
|
|
description: >
|
|
Allows the branch of the build to be dirty, and still generate the build.
|
|
|
|
Note that it is generally bad practice to modify your branch
|
|
in a CI Pipeline. However there are exceptions where this might
|
|
be needed. (use with care).
|
|
outputs:
|
|
volume:
|
|
description: 'The Persistent Volume (PV) where the build artifacts have been stored by Kubernetes'
|
|
branding:
|
|
icon: 'box'
|
|
color: 'gray-dark'
|
|
runs:
|
|
using: 'node12'
|
|
main: 'action/index.js'
|