Commit Graph

265 Commits (411152f68f0093479f847568215a7fc4ce4b1706)

Author SHA1 Message Date
Frostebite 017b95a445 All secrets handled as dynamic secrets now 2021-06-06 21:36:31 +01:00
Frostebite 587ccb4493 Kubernetes refactoring 2021-06-06 21:33:09 +01:00
Frostebite 8f79ef98f8 Kubernetes refactoring 2021-06-06 21:32:24 +01:00
Frostebite 045c4217d1 Fix: error handling 2021-06-06 21:19:24 +01:00
Frostebite e7410ab95b Fix: base64 all secrets 2021-06-06 21:18:30 +01:00
Frostebite a2d1e8ac4f Do not continue on error and error handling improvements 2021-06-06 21:15:55 +01:00
Frostebite aa2579095b Log json stringify error 2021-06-06 21:14:12 +01:00
Frostebite e22cd3306e Set logging options 2021-06-06 21:10:01 +01:00
Frostebite b5ea2ae158 Set logging options 2021-06-06 21:03:52 +01:00
Frostebite c4eb9ffa3a Kubernetes dynamic secrets 2021-06-06 20:59:34 +01:00
Frostebite 3c511811db Kubernetes refactor 2021-06-06 20:43:26 +01:00
Frostebite 9309e3aa91 Kubernetes refactor 2021-06-06 20:39:06 +01:00
Frostebite 7206c81db4 Log json stringify error 2021-06-06 20:11:38 +01:00
Frostebite a3745bd8c0 Cleanup 2021-06-06 20:09:56 +01:00
Frostebite 4d622063ea End of log stream message 2021-06-06 19:54:07 +01:00
Frostebite 896e754512 Delete PVC not PV 2021-06-06 05:21:23 +01:00
Frostebite b3dee76d5a Using Log class from k8s client to stream 2021-06-06 04:51:29 +01:00
Frostebite 0d1f360db7 /bin/ash 2021-06-06 04:01:26 +01:00
Frostebite 0717a3b2db /bin/ash 2021-06-06 03:52:57 +01:00
Frostebite 07ea45bd83 Remove bin/sh from command 2021-06-06 03:40:01 +01:00
Frostebite 792dbec1a5 Log stream attempt #3 - get podname 2021-06-06 03:28:42 +01:00
Frostebite 464e5f0caa Log stream attempt #2 2021-06-06 03:01:49 +01:00
Frostebite 926e500b89 Run build with input commands 2021-05-28 23:47:20 +01:00
ivan-hernandez-scopely 497f2f7b5f
Using SSH_AUTH_SOCK (ssh agent forwarding) to pull upm private repos (#256)
* using SSH_AUTH_SOCK (ssh agent forwarding) to pull upm private repos

* sshAgent as input parameter

* yarn run prettier --write "src/**/*.{js,ts}"

* yarn run lint --fix && yarn build

* fixed compilation after rebase

* removed RUN apt-get update && apt-get install -y openssh-client. This change needs to be done upstream. See game-ci/docker#117
2021-05-28 23:51:10 +02:00
Frostebite 34ee8bde5f Run build with input commands 2021-05-28 21:31:43 +01:00
Frostebite fce88635b8 Run build with input commands 2021-05-28 21:20:04 +01:00
Frostebite 821b9eeddf Run build with input commands 2021-05-28 21:03:41 +01:00
Frostebite 148569023b Catch errors and always cleanup 2021-05-28 20:38:12 +01:00
Frostebite bec61120bd Test include: more recent log dates 2021-05-28 20:29:08 +01:00
Frostebite 0ae8dc9a20 cleanup 2021-05-28 20:27:39 +01:00
Frostebite 6dc4d12ac5 Previous pod logs included for fast completion scenarios 2021-05-28 20:10:00 +01:00
Frostebite ec58c24ea7 fix logging 2021-05-28 19:58:43 +01:00
Frostebite caeeeb4573 fix logging 2021-05-28 19:44:47 +01:00
Frostebite e8a987ea7e Higher default CPU, lower default memory 2021-05-28 19:24:36 +01:00
Frostebite ecd865f092 Delete PVC 2021-05-28 18:57:05 +01:00
Frostebite 1051a8c125 error handling 2021-05-28 18:54:54 +01:00
Frostebite 292f787c26 remove logs 2021-05-28 18:51:29 +01:00
Frostebite 7c7f996432 longer poll interval 2021-05-28 18:46:22 +01:00
Frostebite 3d6ce570a0 polling logs from kubernetes api with pollInterval 2021-05-28 18:39:20 +01:00
Frostebite c281250358 polling logs from kubernetes api 2021-05-28 18:37:30 +01:00
Frostebite d8ea2bd701 log stream from k8s http api 2021-05-24 23:10:03 +01:00
Frostebite afb7c16348 log stream from k8s http api 2021-05-24 22:18:46 +01:00
Frostebite cc45b2d8bf log stream from k8s http api 2021-05-24 21:54:41 +01:00
Frostebite 5dab3928b9 log stream from k8s http api 2021-05-24 16:41:44 +01:00
Frostebite 7be71eba31 log stream from k8s http api 2021-05-24 16:13:11 +01:00
Frostebite c96560b9c5 log stream from k8s http api 2021-05-24 15:06:44 +01:00
Frostebite e75427a6be log stream from k8s http api 2021-05-24 15:01:23 +01:00
Frostebite 1d4028c426 logging improvement 2021-05-23 23:19:04 +01:00
Frostebite 7995193cd8 logging improvement 2021-05-23 23:12:39 +01:00
Frostebite 85cfaadc14 stop logging job creation results 2021-05-23 22:58:03 +01:00
Frostebite 46afe94364 read container by name 2021-05-23 22:55:53 +01:00
Frostebite 3289d95fb1 log container state 2021-05-23 22:43:48 +01:00
Frostebite f7fa00bbed log container state 2021-05-23 22:31:59 +01:00
Frostebite c9cb010cfa log container state 2021-05-23 22:26:18 +01:00
Frostebite fe370d44d8 abstract out generateBuildName to RemoteBuilderNamespace 2021-05-23 22:24:26 +01:00
Frostebite 41534d2ec6 follow logs 2021-05-23 22:15:16 +01:00
Frostebite f058aabb4f follow logs 2021-05-23 22:07:48 +01:00
Frostebite 6136d05e28 follow logs 2021-05-23 22:00:50 +01:00
Frostebite 645ce0ff06 follow logs 2021-05-23 21:37:51 +01:00
Frostebite 0bc5cf2adb follow logs 2021-05-23 21:28:28 +01:00
Frostebite fd9e9d058a follow logs 2021-05-23 21:02:39 +01:00
Frostebite 968a9190d6 follow logs 2021-05-23 17:38:44 +01:00
Frostebite 729c7ce14f copy from correct directory 2021-05-23 17:22:58 +01:00
Frostebite 0b5a3d8c6a copy from correct directory 2021-05-23 17:19:18 +01:00
Frostebite 7f78ead03a adding logs 2021-05-23 17:15:21 +01:00
Frostebite 06549368d9 adding logs 2021-05-23 17:07:30 +01:00
Frostebite 013e54aa7c k8s full refactoring to simpler and better api client 2021-05-23 16:08:32 +01:00
Frostebite 5929a988d3 k8s refactoring started, new k8s api client 2021-05-23 15:26:57 +01:00
Frostebite 356f79e94a Get GKE cluster credentials directly 2021-05-23 14:31:02 +01:00
Frostebite ec1e4a4733 Add @kubernetes/client-node 2021-05-23 14:11:06 +01:00
Frostebite a6d9115e7e Use build path for steam deploy input ROOT PATH 2021-05-23 14:07:07 +01:00
Frostebite eb482957db ls contents of compression step 2021-05-23 14:03:29 +01:00
Frostebite c96b8cf443
Remote builder refactoring (#264)
Remote builder refactoring
2021-05-23 05:08:40 +01:00
Webber Takken a5de621fe2
Ensure proper read permissions and cleanup build.sh (#259)
* Add linux read permissions and cleanup build.sh

* More verbose dirty branch

* Simplify added verbosity
2021-05-10 01:08:53 +02:00
Gaeel Bradshaw-Rodriguez e31af20466
Chown files to a custom user after building (fix file ownership) (#250)
* Chown files to a custom user after building

* Better describe `chownFilesTo` input

As suggested by @webbertakken: https://github.com/game-ci/unity-builder/pull/250#discussion_r624575666

Co-authored-by: Webber Takken <webber@takken.io>

* Simplify chown step in `build.sh`

Co-authored-by: Webber Takken <webber@takken.io>

Co-authored-by: Webber Takken <webber@takken.io>
2021-05-02 01:23:15 +02:00
Frostebite e13a9f51e9 hotfix - use input parameter instead of env var 2021-05-01 22:25:10 +01:00
Frostebite 501c67e40c
Implement AWS Fargate support [Large build support] (#246)
* Implement AWS Fargate support

* Update aws-tests workflow to include aws-ts-clean

* support remoteBuildCpu and remoteBuildContainer parameters for aws

* Syntax fix

* remove package-lock add yarn.lock

* yarn lock

* if: github.event.pull_request.draft == false

Co-authored-by: mdugdale <mark.dugdale@bossastudios.com>
2021-04-20 22:46:37 +02:00
Markus 4d0b6e6db1
Pass on USYM_UPLOAD_AUTH_TOKEN if defined (#234)
To automatically upload symbols to unity, we need to define the `USYM_UPLOAD_AUTH_TOKEN` variable. Currently the build container ignores this variable, even if it's defined in the github action.

```
2021-03-26T02:35:35.5938747Z time="2021-03-26T02:35:35Z" level=fatal msg="Please provide an auth token with USYM_UPLOAD_AUTH_TOKEN environment variable"
```
2021-03-28 17:06:22 -05:00
Webber Takken 4fde4e47b6
Refactor action to typescript (#226)
* Refactor to typescript (config part)

* Refactor to typescript (convert extensions, minor fixes)

* Refactor to typescript (move from `action` to `dist`)

* Re-enable integrity-check for dist index.js

* Fix all tests and lints

* fix parsing major versions

* Test patch level to be digits only

* debug

* debug

* uncache

* manual compile

* debug

* debug

* Debug

* Build lib - doh

* remove diff check

* Make kubernetes workflow manual

* Properly generate 3 digit for simple major tags

* Remove ts-ignore

* re-enable cache
2021-03-14 00:44:01 +01:00
David Finol 414307a791
Add newline to isShallow output (#216)
* Add newline to isShallow output
2021-02-13 01:40:19 -06:00
David Finol faefe2f8d7
Only fetch if the repo is shallow (to avoid unnecessary errors) (#215)
* Only fetch if the repo is shallow (to avoid unnecessary errors)

* Update src/model/versioning.test.js
2021-02-12 23:22:23 -06:00
Cris Feo 555660c904
Clf support upm ssh keys (#211)
* make source changes

* compile index.js
2021-02-03 17:39:52 +01:00
David Finol 05b7ccdc04
Remove debug from versioning (#206)
Would like to remove this debug option, as I don't like how it generates many unnecessary warnings, and I don't think it provides any value.
2021-01-26 12:54:07 -06:00
Kai Biermeier 56b9864426
allow versions with -alpha,-rc,-rc.0 .... + don't fail build on version cannot be determined (#196)
Closes #163
2021-01-12 14:50:52 +01:00
David Finol 32acb22fec
Default unityVersion to auto to use ProjectSettings/ProjectVersion.txt (#162) (#188) 2020-12-28 23:36:31 -06:00
David Finol 9707ad7ad5
Convert version major and minor to numbers (#180)
* Convert version major and minor to numbers

* fix linting error

Co-authored-by: Webber Takken <webber@takken.io>
2020-11-18 00:51:10 +01:00
Webber Takken 8eeb848483
add il2cpp support for linux from 2019.3 (#177) 2020-11-14 00:57:44 +01:00
BLaZeKiLL 72ab50499d linux platform added 2020-10-24 13:09:01 +05:30
BLaZeKiLL 9269fba307 image tags updated 2020-10-24 12:13:29 +05:30
BLaZeKiLL dc54ae10a5 Merge branch 'main' of https://github.com/webbertakken/unity-builder into fix/unity-alias 2020-10-22 23:51:43 +05:30
BLaZeKiLL 483b784253 default docker repository updated to new docker repository 2020-10-22 18:24:42 +05:30
Kai Biermeier e6d3daedbe
revert Fix file ownership issues for self-hosted runners. (#141) (#165) 2020-10-22 10:20:12 +02:00
Kai Biermeier 6a53a9e853
Solution proposal to Issue Add `customImage` parameter #150 (#151)
* add customImage attribute

* add one more test for input passing && check for customImage == ''
2020-09-18 18:41:31 +02:00
Forrest Jones 977683cd5f
Add buildVersion as action output (#144) (#145) 2020-08-27 02:24:33 +02:00
xanantis 24e9c186fd
Fix file ownership issues for self-hosted runners. (#141) 2020-08-22 21:28:57 +02:00
xanantis 3ee15170fd
Use RUNNER_TEMP environment variable instead of a hardcoded path (#138) 2020-08-22 17:59:08 +02:00
Benoit Dion 1f8d196ed0
Fix boolean logic (#129) 2020-08-10 16:30:06 +02:00
Frostebite 21634107c1
K8s Feature (#124)
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.
2020-08-09 20:27:47 +01:00
dogboydog ec0cde0c85 avoid double logging of git diff 2020-07-09 13:31:51 +02:00
dogboydog 72ff2983a1 test with short max diff lines 2020-07-09 13:31:51 +02:00
dogboydog fdf71758a9 use System.run for logging Git diff 2020-07-09 13:31:51 +02:00
dogboydog 91ec427695 make logging of git diff unconditional, remove parameter 2020-07-09 13:31:51 +02:00
dogboydog 6fb8550919 increase code coverage with versioning.test.js 2020-07-09 13:31:51 +02:00
dogboydog cb913cd286 Initial implementation of logDiffIfDirty 2020-07-09 13:31:51 +02:00
David Finol 6ece6447b2 Add Android Build Settings 2020-07-06 11:53:40 +02:00
Benoit Dion bdc3a88d22 Add input to set version code
Use action input `androidVersionCode` when provided. Generate the androidVersionCode from the version otherwise.
2020-06-25 00:33:25 +02:00
Benoit Dion 1245bfefc8 Fix fork PR builds
Remove hardcoded reference to the `origin` remote and instead implictly use the current commit or ref
2020-06-20 00:59:05 +02:00
Webber f15f40d265 Use head for tags 2020-05-22 23:01:58 +02:00
Webber 866f364f64 Use ref instead of tag vs branch 2020-05-22 23:01:58 +02:00
Webber a245f08e75 rename to throwContextualError 2020-05-22 23:01:58 +02:00
Webber 3718e05961 Describe errors in System.run 2020-05-22 23:01:58 +02:00
Webber 0159028bb1 Fix missing await 2020-05-22 23:01:58 +02:00
Webber 054c6bfab3 Catch command for in-shell errors 2020-05-22 23:01:58 +02:00
Webber 8c9ff3249e More info if command gives no output, just the exit code. 2020-05-22 23:01:58 +02:00
Webber 7386c669ad Fix no output from errors 2020-05-22 23:01:58 +02:00
Webber ce865270c4 Use commit-ish for git description 2020-05-22 23:01:58 +02:00
Webber 7e17091251 Split responsibilities between Input and BuildParameters models 2020-05-22 00:55:26 +02:00
Webber 02ff5bbef2 Add documentation and tests for allowDirtyBuild 2020-05-22 00:55:26 +02:00
Webber 8c177b1bad Add flag for allowing dirty branch 2020-05-22 00:55:26 +02:00
Webber 699621ed21 Run versioning commands in projectPath instead 2020-05-21 14:26:37 +02:00
Webber 44bde7feb9 Base number of commits off of the branch on origin 2020-05-02 16:37:24 +02:00
Webber 5328bda08e Base number of commits off of the branch 2020-05-02 16:37:24 +02:00
Webber 34e4b86924 Fix case where no tags does not trigger false 2020-05-01 20:32:41 +02:00
Webber 2085eff264 Add missing test for ref getters 2020-05-01 17:55:27 +02:00
Webber 98a1b078fc Update styles to latest unicorn 🦄 and prettier 🦋 2020-05-01 17:55:27 +02:00
Webber a0a5de2a83 Cover all versioning paths 2020-05-01 16:15:56 +02:00
Webber c146049b33 Mock all output methods from core 2020-05-01 16:15:56 +02:00
Webber e46399169f Add tests for System model 2020-05-01 16:15:56 +02:00
Webber b41026b36e Introduce smart fetching, based on type of local repo. 2020-05-01 16:15:56 +02:00
Webber cd1d215dfa Remove unshallow fetch 2020-05-01 16:15:56 +02:00
Webber d01e844eea Fix versioning for push event. 2020-05-01 16:15:56 +02:00
Webber 40564afbaf Fix failed test 2020-04-28 02:02:34 +02:00
Webber b6f8040f4a Add tests for the versioning model 2020-04-28 02:02:34 +02:00
Webber f85e50e499 Fix bug in hasAnyVersionTags 🐜 2020-04-26 21:45:10 +02:00
Webber d75d7890d0 Implement versioning strategies in js 🧉 2020-04-26 21:45:10 +02:00
Webber 2e81e61af3 Add additional tests 🧪 2020-04-26 21:45:10 +02:00
Webber 39a160b789 Allow `versioning` and `version` parameters. 2020-04-26 21:45:10 +02:00
litefeel e1eda1e876 Change UNITY_LICENSE_PATH to UNITY_LICENSE_FILE 2020-03-09 23:23:53 +01:00
litefeel 0088ca3094 Add UNITY_LICENSE_PATH 2020-03-09 23:23:53 +01:00
Webber 1c91a3bf31 Fix custom parameters 2020-02-01 21:02:56 +01:00
Webber f3a984165e Rename builder folder to action folder (unity actions convention) 2020-02-01 20:43:49 +01:00
Webber d8896dc4f5 Update references 2020-01-27 23:15:26 +01:00
Webber 4051832dc0 Add some more basic tests 🤷‍♂️ 2020-01-27 23:15:26 +01:00
Webber fe2311ef4b Hint enabling cache if not already enabled. 2020-01-27 23:15:26 +01:00
Webber 7d51d12262 Allow custom parameters 2020-01-27 20:42:52 +01:00
Webber ca2bcea3ad Minor cleanup 2020-01-26 01:34:34 +01:00
Webber 1d1f81c0bb Refactor models to allow for build parameters...
Build parameters have to be parsed because they can no longer be implicitly passed, as they need to be interpreted for detecting extensions.
2020-01-21 00:28:05 +01:00
Dan Vicarel c3b8284b44 docker.js now sets variables for Pro licenses as well 2020-01-12 17:51:45 +01:00
Webber 298c667fc0 Create unique names for builds 2020-01-11 01:06:22 +01:00
Webber 53bec7beb4 Change exit strategy for activation step 2020-01-11 01:06:22 +01:00