- Docker
- docker-compose
- nvidia-docker runtime
- Pro Unity license
To run builds locally you run them via docker-compose.
First export necessary environment variables:
export UNITY_USERNAME=...
export UNITY_PASSWORD=...
export UNITY_SERIAL=...
export DOCKER_IMAGE_NAME=hdrp/simulator
export PYTHONUNBUFFERED=1
export UID
docker-compose run --rm build-webui
This will create WebUI/dist/*
files.
Use build-webui-p
to build production files.
docker-compose run --rm buid-simulator check
Output will be in lgsvlsimulator-check.html
file.
docker-compose run --rm buid-simulator test
Output will be in lgsvlsimulator-test.xml
file in NUnit v3 format
docker-compose run --rm buid-simulator windows
Output will be lgsvlsimulator-windows.zip
file.
Replace windows
with linux
or macos
to build for other OS'es.
docker-compose run --rm buid-bundles
Output will be in AssetBundles folder.
To setup Pipeline CI job on jenkins following global environment variables are required:
UNITY_USERNAME
- Unity username for licenseUNITY_PASSWORD
- Unity username for passwordUNITY_SERIAL
- Unity username for serialGITLAB_HOST
- hostname of GitLab instance, ex:gitlab.example.com
DOCKER_IMAGE_NAME
- name of Docker image, ex:gitlab.example.com:4567/hdrp/simulator
SIMULATOR_ENVIRONMENTS
- comma separated list of environment bundles to build, ex:CubeTown,SanFrancisco
SIMULATOR_VEHICLES
- comma separated list of vehicle bundles to build, ex:Car1,Car2
AWS_ACCESS_KEY_ID
- AWS access keyAWS_SECRET_ACCESS_KEY
- AWS secret keyS3_BUCKET_NAME
- AWS S3 bucket name to where upload bundlesSIMULATOR_STAGING_CLOUD_URL
- staging URL to use for cloud access, used only for non-release jobSIMULATOR_RELEASE_EMAILS
- comma separated e-mails where to send start/finish e-mails abour release job
Following credentials must be set up in Jenkins:
auto-gitlab
- ssh key for cloning git repositories, this key must have access to HDRP repositoriesJenkins-Gitlab
- username/password combo for Docker registry on GitLab where to push Simulator docker image
Pipeline requires following parameters available:
BUILD_WINDOWS
- boolean param, with value "true" if Windows binary needs to be builtBUILD_LINUX
- boolean param, with value "true" if Linux binary needs to be builtBUILD_MACOS
- boolean param, with value "true" if macOS binary needs to be builtCLOUD_URL
- string param, if non-empty then the value will be used for cloud accessLGSVL_CODE_SIGNING_FILE
- secret file containing code signing key/certificate for AuthenticodeLGSVL_CODE_SIGNING_PASSWORD
- if nonempty then value of this variable will be used as password to code signing key fromLGSVL_CODE_SIGNING_FILE
secret file credential
It will automatically upload asset bundles to AWS S3 bucket when master
branch is built.
Job will produce following artifacts:
lgsvlsimulator-check-BRANCH-NUM.html
lgsvlsimulator-OS-BRANCH-NUM.zip
- for each OS selected for building