* Supports github_home in windows-latest
* Attempt at copying from specific volume
* Adding some more logging
* Fix and compiles index.js
* Debugging and some other approach
* Another attempt at debugging
* Testing two more approaches
* Try only copying the file
* Cleanup
* Updates index.js, index.js.map and licenses.txt
After `yarn` + `npm run build`
* Update index.js.map
* Added install_llvmpipe script
* Replace ternary with a regular condition
* Revert files I haven't changed
* Pin llvmpipe version, expand test matrix with a single enableGPU target
* Fixed parameter name
* EnableGPU false by default
* Fixed nitpick
* Fixed scripts
* Pass enableGpu into tests properly
* Fixed script
* Append With GPU to build name
* Fix expression
* feat: add `buildProfile` parameter
add new `buildProfile` action param, which will be passed into
Unity as the `-activeBuildProfile ...` CLI param.
closes https://github.com/game-ci/unity-builder/issues/674
* ci: add tests for Unity 6 and build profiles
* Bump versions of @actions/cache, @actions/core to support actions/upload-artifact: v4 dependency. Bump version actions/upload-artifact in repo actions.
* Add UNITY_LICENSE secret to CI workflows.
* Fix getVersionDescription() to prioritize version tags over non-version tags
This fix modifies the getVersionDescription() method to ensure it only considers valid version tags when describing the current version. It retrieves all tags merged into the current branch, filters them based on a version-compatible regex, and uses the most recent valid version tag for description. If no valid tags are found, it falls back to the default description behavior. This resolves the issue of incorrect tags being used when multiple tags are present.
* Update versioning.ts
Rewrote getting the description for the last valid tag using `rev-list` and `rev-parse`
* Fix formatting
* Revert "dist"
This reverts commit bd58cbedf7.
* Revert "dist"
This reverts commit bd58cbedf7.
* Only build mono for windows/mac on linux test builds. Add dedicated server build tests
* Fix typo
* Fix build matrix and upload name
* Remove unsupported unity version
* Add skipActivation functionality
* Update packages and fix lint/test issues
* Use nullish coalescing operator
* Ensure there is enough space for Android test builds
* fixes
* fixes
* fixes
* fixes
* fixes
* check for startup message in workflows
* check for startup message in workflows
* check for startup message in workflows
* check for startup message in workflows
* check for startup message in workflows
* check for startup message in workflows
* Update cloud-runner-ci-pipeline.yml
* Update cloud-runner-ci-pipeline.yml
* no storage class specified
* log file path
* log file path
* log file path
* log file path
* log file path
* log file path
* log file path
* log file path
* updates
* log file path
* latest develop
* log file path
* log file path
* Update package.json
* log file path
* log file path
* log file path
* log file path
* log file path
* log file path
* log file path
* log file path
* log file path
* log file path
* log file path
* log file path
* log file path
* log file path
* stream logs through standard input and new remote client cli command
* stream logs through standard input and new remote client cli command
* stream logs through standard input and new remote client cli command
* stream logs through standard input and new remote client cli command
* stream logs through standard input and new remote client cli command
* stream logs through standard input and new remote client cli command
* stream logs through standard input and new remote client cli command
* stream logs through standard input and new remote client cli command
* stream logs through standard input and new remote client cli command
* stream logs through standard input and new remote client cli command
* stream logs through standard input and new remote client cli command
* stream logs through standard input and new remote client cli command
* stream logs through standard input and new remote client cli command
* stream logs through standard input and new remote client cli command
* stream logs through standard input and new remote client cli command
* update pipeline to use k3s
* version: 'latest'
* fixes
* disable aws pipe for now
* disable aws pipe for now
* disable aws pipe for now
* disable aws pipe for now
* disable aws pipe for now
* disable aws pipe for now
* disable aws pipe for now
* disable aws pipe for now
* disable aws pipe for now
* disable aws pipe for now
* push k8s logs to LOG SERVICE IP
* push k8s logs to LOG SERVICE IP
* push k8s logs to LOG SERVICE IP
* push k8s logs to LOG SERVICE IP
* push k8s logs to LOG SERVICE IP
* push k8s logs to LOG SERVICE IP
* push k8s logs to LOG SERVICE IP
* push k8s logs to LOG SERVICE IP
* tests
* tests
* tests
* tests
* tests
* tests
* tests
* tests
* tests
* tests
* tests
* tests
* tests
* tests
* tests
* tests
* tests
* podname logs for log service
* podname logs for log service
* podname logs for log service
* podname logs for log service
* podname logs for log service
* podname logs for log service
* podname logs for log service
* podname logs for log service
* podname logs for log service
* hashed logs
* hashed logs
* hashed logs
* hashed logs
* hashed logs
* hashed logs
* no wait, just repeat logs
* no wait, just repeat logs
* remove typo - double await
* test fix - kubernetes - name typo in github yaml
* test fix - kubernetes - name typo in github yaml
* check missing log file
* check missing log file
* Push to steam test
* Push to steam test
* Fix path
* k8s reliable log hashing
* k8s reliable log hashing
* k8s reliable log hashing
* hashed logging k8s
* hashed logging k8s
* hashed logging k8s
* hashed logging k8s
* hashed logging k8s
* hashed logging k8s
* Include log chunk when task runner sees log update, clarify if we can pull logs from same line or next line
* Include log chunk when task runner sees log update, clarify if we can pull logs from same line or next line
* Include log chunk when task runner sees log update, clarify if we can pull logs from same line or next line
* Include log chunk when task runner sees log update, clarify if we can pull logs from same line or next line
* Include log chunk when task runner sees log update, clarify if we can pull logs from same line or next line
* Fix exit flow for k8s job
* hash comparison logging for log complete in k8s flow
* Interrupt k8s logs when logs found
* cleanup async parameter
* cleanup async parameter
* cleanup async parameter
* fixes
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* Fix missed directory change that isn't used anymore
* Fixes, improvements, and cleanup while reconciling test runner scripts
* Additional cleanup
* Fix possible hang
* Don't mislead with activation server on windows
* Update node version
- Added `runAsHostUser` to allow running the container as the same user as the host system. This fixes most permissions issues on self-hosted runners.
- Perform android sdk setup during entrypoint.sh to ensure it has root permissions if the user switches to a non-root user
- Automatically detect android sdk target version if parameters are not already provided to configure the sdk
- Generate a new uuid for machineID to ensure separate containers are unique to reduce license activation errors
- Add exponential retry strategy for Ubuntu license activations
- Windows now exits with the proper exit codes. This mirrors Ubuntu behavior properly now and means we do not need the error parsing logic to handle error conditions which means we should be back to v2 behavior.
- Allow customizing image registry/image version
- Only create the licensing directory on Mac if it doesn't already exist. Don't delete the folder on build complete. This means builds nominally shouldn't need sudo permissions, very useful for self-hosted runners.
- Pick correct architecture when installing macos editor to support both x86 and arm-based systems (Credit @dcvz)
* Ensure serial is prioritized
* Add compile listener to create github annotations
* Update node modules
* Don't build ubuntu on PR as secrets are now needed. Update PR template to request an example successful run. Remove 32bit windows build. Build on push to any branch
* Update activation to use blank project
* Ensure exceptions get annotated as well
* More robust console printing
* Update test project
* Build iOS test on macos to verify burst functionality. Add annotation for license activation error. Fix unity version test. Remove minification from android
* Improve license checks
* Mask partially redacted serial in addition to full serial
* Add retry logic to ubuntu builds
* Allow dirty build on retry
* Bump unity version
- Allow updating container memory and cpu limits for Windows. Previously, they defaulted to 1cpu and 1gb ram which was far too low and it seems docker wouldn't allocate all available resources. Now it will use all available cores and 80% of system memory.
- Allow setting docker isolation mode for windows. Defaults to default to ensure behavior doesn't change from prior versions but now you can do stuff like force process mode on non-server versions which grants a performance uplift during runs
- Added logic to allow building Android on Windows. Android doesn't support burst when built on Linux, only on Windows and macOS. Thus we need to allow building Android on WIndows due to the major performance benefits of Burst.
- Support Windows 2022 and VS2022 by mounting the x64 Visual Studio path in addition to the x86 path to maintain compatibility with VS2019 and older
- Attempted fixes for windows builds hanging by killing the regsvr32 process after registering VS dll and using a different method to launch Unity. Unsure if this is a definite fix so I am leaving in several debug calls to print out running processes so we have more data to work with on chasing down this bug. I suspect there's a process that's hanging around that isn't cleaning itself up or is getting into some kind of deadlock situation and needs to be killed. But the changes I've made have seen no hangs on building during docker test workflows when previously there would be at least 3-5 hanging builds.
* add sshPublicKeysDirectoryPath and GIT_CONFIG_EXTENSIONS parameters that adds git configs and mounts .ssh/config and public keys to the container, in order to allow multiple sh deploy key trick by webplatform@ssh-agent
* remove sshPublicKeysDirectoryPath and GIT_CONFIG_EXTENSIONS from windows runner for now
* fix: resolution errors and vulnerability
* feat: bump (major) docker image rolling tag
* chore: bump major version
* fix: up workflow node to lts
* fix: conventions
* Subtarget support for Unity 2021.2+
Allows passing the -standaloneBuildSubtarget parameter via customParameters in order to facilitate dedicated server builds. Since Unity introduced the subtarget option in 2021.2, this parameter only takes effect in supported Unity versions.
* Fix build subtarget compatibility
Certain versions of Unity do not have a value for `NoSubtarget`. Using `default` will be more robust against churn in this area of Unity's API.
- Add missing unityLicenseServer input (Fix#480)
- Use HEAD when calculating semantic version number. This is a riskier change as this has always used `github.sha` on the runner. However, when pulling in other repos and running the action, it may not be referencing the correct commit on the repo. After testing, though, nothing appears to be broken so this in theory should work fine. (Fix#417)
- Setup private token rewrites on Windows images (Fix#428)
- Allow setting a custom workspace path within docker container with `dockerWorkspacePath`. (Fix#433)
- [Breaking Change] Remove `androidAppBundle` parameter in favor of `androidExportType`.
* Enable noImplicitAny
Add types to all implicit any variables
Bump target to ES2020 for recent language features (optional chaining)
Code cleanup
Add debug configuration for vscode
Remove autorun flag from jest to remove warning
Bump packages to fix dependency version mismatch warning
Changed @arkweid/lefthook to @evilmartians/lefthook as @arkweid/lefthook has been deprecated in favor of @evilmartians/lefthook
Added concurrency groups to integrity check and build workflows. New commits to branches will cancel superseded runs on the same branch/pr
Update imports to not use require syntax
Use node packages (ie node:fs rather than fs)
AndroidVersionCode is now a string rather than a number as it gets converted to a string when passed out of the system
Reduce timeout for windows builds
Remove 2020.1.17f1 from windows builds due to repeated license activation errors
Update naming scheme of workflows for consistency
Update build names so target platform and unity version aren't cut off by github actions UI
* Add exclude to test matrix for 2022.2 on android until Unity bug is fixed
---------
Co-authored-by: AndrewKahr <AndrewKahr@users.noreply.github.com>