Commit Graph

401 Commits (879b54e39efb5243b228668fb8ec0eea15059a2f)

Author SHA1 Message Date
Frostebite d6c305b2b7 Introduce retain workspace test and replace useIl2cpp env var with input 2022-10-02 15:48:52 +01:00
Frostebite 03aae52afe Only use locking in build workflow if retained workspaces is enabled 2022-10-01 00:40:44 +01:00
Frostebite 2bfe623bb7 Better locking 2022-09-30 01:31:01 +01:00
Frostebite 728801a531 Better locking 2022-09-29 23:34:31 +01:00
Frostebite 6ab62f966c Better locking 2022-09-29 22:25:43 +01:00
Frostebite d4c5218b39 Better locking 2022-09-29 22:03:16 +01:00
Frostebite 1beee459f2 Better locking 2022-09-29 21:38:19 +01:00
Frostebite 3a5400080b Better locking 2022-09-29 21:30:34 +01:00
Frostebite 026f8f20a4 K8s log and stringify error for k8s cleanup 2022-09-29 19:57:34 +01:00
Frostebite f68dc13959 K8s log and stringify error for k8s cleanup 2022-09-29 17:59:45 +01:00
Frostebite 2342501554 K8s log and stringify error for k8s cleanup 2022-09-29 17:35:45 +01:00
Frostebite 0f02fbfd32 K8s log and stringify error for k8s cleanup 2022-09-29 16:53:46 +01:00
Frostebite b6773b9614 remove logs 2022-09-28 10:01:54 +01:00
Frostebite 9999dcf4be Merge branch 'main' into cloud-runner-develop
# Conflicts:
#	dist/default-build-script/Assets/Editor/UnityBuilderAction/Input/AndroidSettings.cs
#	dist/index.js.map
#	lefthook.yml
2022-09-28 03:32:32 +01:00
Frostebite 1b09122e35 remove logs 2022-09-28 03:17:20 +01:00
Frostebite 8a6bf7d142 Copy cloud runner cache into github workspace directory 2022-09-28 02:11:13 +01:00
Frostebite 45d4191982 Copy cloud runner cache into github workspace directory 2022-09-28 02:07:31 +01:00
Frostebite f5e6ab28c1 Copy cloud runner cache into github workspace directory 2022-09-28 01:59:42 +01:00
Frostebite 9921b65ebc Copy cloud runner cache into github workspace directory 2022-09-28 01:48:09 +01:00
Frostebite a265b507a6 Copy cloud runner cache into github workspace directory 2022-09-28 01:10:53 +01:00
Frostebite d950f8b6ef Copy cloud runner cache into github workspace directory 2022-09-28 01:09:18 +01:00
Frostebite 48149e70a9 Copy cloud runner cache into github workspace directory 2022-09-28 01:03:15 +01:00
Frostebite 747f85d217 Do not serialize custom job parameter 2022-09-28 00:51:10 +01:00
Frostebite a297d26ece Do not serialize custom job parameter 2022-09-28 00:47:07 +01:00
Frostebite e06e4fba54 Do not serialize custom job parameter 2022-09-28 00:38:25 +01:00
Frostebite daa844d053 Do not serialize custom job parameter 2022-09-28 00:23:16 +01:00
Frostebite b1c3214d79 Do not serialize custom job parameter 2022-09-28 00:13:17 +01:00
Frostebite c7d3c2ad28 Do not serialize custom job parameter 2022-09-28 00:09:06 +01:00
Frostebite 5445231c42 Do not serialize custom job parameter 2022-09-28 00:01:09 +01:00
Frostebite 6170f2320a Do not serialize custom job parameter 2022-09-27 23:59:01 +01:00
Frostebite d4d10abfa4 Do not serialize custom job parameter 2022-09-27 23:45:15 +01:00
Frostebite 53ebd09102 Do not serialize custom job parameter 2022-09-27 23:36:40 +01:00
Frostebite d5c685358b Do not serialize custom job parameter 2022-09-27 23:34:40 +01:00
Frostebite 05ffd77d7b Do not serialize custom job parameter 2022-09-27 23:27:20 +01:00
Frostebite 8a0b5e903b Do not serialize custom job parameter 2022-09-27 23:17:06 +01:00
Frostebite 98536a48a0 Do not serialize custom job parameter 2022-09-27 23:12:42 +01:00
Frostebite cf95b5e11d Do not serialize custom job parameter 2022-09-27 23:05:40 +01:00
Frostebite 818ce19fd8 Do not serialize custom job parameter 2022-09-27 22:47:49 +01:00
Frostebite e09b47570f Do not serialize custom job parameter 2022-09-27 22:41:25 +01:00
Frostebite 528c433031 Do not serialize custom job parameter 2022-09-27 22:00:55 +01:00
Frostebite ce3be8fea0 Do not serialize custom job parameter 2022-09-26 17:29:41 +01:00
Frostebite 9f6a951adb log env var serialization 2022-09-26 17:01:07 +01:00
Frostebite 4e2b47d4cd cache test should explicitly check cache key from build 1 is included in results log 2022-09-25 03:17:11 +01:00
Frostebite 0f29765707 cache test should explicitly check cache key from build 1 is included in results log 2022-09-23 22:20:48 +01:00
Frostebite faec99b3d7 cache test should explicitly check cache key from build 1 is included in results log 2022-09-23 03:15:54 +01:00
Frostebite 0500161bb5 cache test should explicitly check cache key from build 1 is included in results log 2022-09-22 23:48:07 +01:00
Frostebite 095539b0e2 cache test should explicitly check cache key from build 1 is included in results log 2022-09-22 23:38:25 +01:00
Frostebite 870b6eabf8 cache test should explicitly check cache key from build 1 is included in results log 2022-09-22 22:48:23 +01:00
Frostebite 5353abd16e better named tests and log local-docker params 2022-09-22 22:42:17 +01:00
Frostebite ffc984be4b better named tests and log local-docker params 2022-09-22 22:36:33 +01:00
Frostebite a03e4c21d4 better named tests and log local-docker params 2022-09-22 22:05:05 +01:00
Frostebite 94851b231b better named tests and log local-docker params 2022-09-22 22:00:57 +01:00
Frostebite 89993f452b better named tests and log local-docker params 2022-09-21 22:00:42 +01:00
Frostebite c35fe5e6a6 better named tests and log local-docker params 2022-09-21 21:38:14 +01:00
Frostebite 481a514e8f better named tests and log local-docker params 2022-09-21 20:05:28 +01:00
Frostebite 2e118bc9bf better named tests and log local-docker params 2022-09-21 18:05:32 +01:00
Frostebite 975b1b0130 better named tests and log local-docker params 2022-09-21 17:47:57 +01:00
Frostebite 1fa24ce8e6 better named tests and log local-docker params 2022-09-21 17:37:19 +01:00
Frostebite 6de6e1e1a2 better named tests and log local-docker params 2022-09-21 16:40:22 +01:00
Frostebite 62949bc520 better named tests and log local-docker params 2022-09-21 16:33:12 +01:00
Frostebite 04c03528ea better named tests and log local-docker params 2022-09-21 16:24:09 +01:00
Frostebite a7e59b33eb better named tests and log local-docker params 2022-09-21 16:11:46 +01:00
Frostebite 2990920e2d better named tests and log local-docker params 2022-09-21 15:30:23 +01:00
Frostebite 1682037844 better named tests and log local-docker params 2022-09-21 15:23:34 +01:00
Frostebite ce06645084 better named tests and log local-docker params 2022-09-21 15:17:40 +01:00
Frostebite f53f39bf3f better named tests and log local-docker params 2022-09-21 14:09:39 +01:00
Frostebite c3e5478a18 better named tests and log local-docker params 2022-09-21 13:54:17 +01:00
Frostebite f029159324 better named tests and log local-docker params 2022-09-21 13:39:00 +01:00
Frostebite 3377ebfda5 better named tests and log local-docker params 2022-09-21 13:21:13 +01:00
Frostebite 0636a44d61 better named tests and log local-docker params 2022-09-21 12:54:00 +01:00
Frostebite 4b394c53f1 better named tests and log local-docker params 2022-09-21 12:45:57 +01:00
Frostebite 5bd2e40780 better named tests and log local-docker params 2022-09-21 12:37:04 +01:00
Frostebite 5e8527da84 better named tests and log local-docker params 2022-09-21 04:41:32 +01:00
Frostebite 250d9de02f better named tests and log local-docker params 2022-09-21 04:27:19 +01:00
Frostebite 9234f81cfd better named tests and log local-docker params 2022-09-21 04:06:12 +01:00
Frostebite a16c0c7a48 better named tests and log local-docker params 2022-09-21 04:01:22 +01:00
Frostebite 4f2e9040ed better named tests and log local-docker params 2022-09-21 03:58:20 +01:00
Frostebite 678b6a9e7a better named tests and log local-docker params 2022-09-21 03:53:29 +01:00
Frostebite f47566e286 better named tests and log local-docker params 2022-09-21 03:47:35 +01:00
Frostebite 7c332a36fb better named tests and log local-docker params 2022-09-21 03:22:26 +01:00
Frostebite 424ca3031e better named tests and log local-docker params 2022-09-21 03:20:43 +01:00
Frostebite c78d403723 better named tests and log local-docker params 2022-09-21 03:18:42 +01:00
Frostebite 22d6a89d26 better named tests and log local-docker params 2022-09-21 02:56:48 +01:00
Frostebite 2721aba2b5 better named tests and log local-docker params 2022-09-21 02:15:07 +01:00
Frostebite 825cb11a3c better named tests and log local-docker params 2022-09-21 01:41:09 +01:00
Frostebite 591337c0f4 better named tests and log local-docker params 2022-09-21 01:29:10 +01:00
Frostebite c9678c29b6 better named tests and log local-docker params 2022-09-21 01:11:03 +01:00
Frostebite 16c6f661ee better named tests and log local-docker params 2022-09-20 23:14:08 +01:00
Frostebite 3861aac122 better named tests and log local-docker params 2022-09-20 23:07:37 +01:00
Frostebite ce6a47b3b6 better named tests and log local-docker params 2022-09-20 23:03:04 +01:00
Frostebite 9680daecd9 better named tests and log local-docker params 2022-09-20 22:53:00 +01:00
Frostebite 0cc6270b68 better named tests and log local-docker params 2022-09-20 22:23:42 +01:00
Frostebite fe9da282a7 better named tests and log local-docker params 2022-09-20 22:17:26 +01:00
Frostebite 66ca790ba6 better named tests and log local-docker params 2022-09-20 22:06:03 +01:00
Frostebite d3b848e220 get output from local-docker 2022-09-20 21:57:59 +01:00
Frostebite 0cd3c3c25d get output from local-docker 2022-09-19 04:45:26 +01:00
Frostebite 676999508a get output from local-docker 2022-09-19 03:52:02 +01:00
Frostebite 15aa500b65 get output from local-docker 2022-09-19 03:16:10 +01:00
Frostebite 2eb1a6c960 get output from local-docker 2022-09-19 02:50:07 +01:00
Frostebite 1771726c36 get output from local-docker 2022-09-19 02:12:28 +01:00
Frostebite aa1f3ccc51 get output from local-docker 2022-09-19 01:26:33 +01:00
Frostebite 5a46718255 get output from local-docker 2022-09-19 01:21:56 +01:00
Frostebite 14a832395b get output from local-docker 2022-09-19 01:13:27 +01:00
Frostebite e5b58d1898 serialize build params via prefixed env var 2022-09-19 00:55:29 +01:00
Frostebite fd513da260 serialize build params via prefixed env var 2022-09-19 00:48:05 +01:00
Frostebite 54560476ae tree cache push directory 2022-09-19 00:02:41 +01:00
Frostebite 92a3302787 tree cache push directory 2022-09-18 23:47:51 +01:00
Frostebite 73bad04ed6 tree cache push directory 2022-09-18 23:08:27 +01:00
Frostebite c875c0c3e8 tree cache push directory 2022-09-18 22:18:59 +01:00
Frostebite cf733fd1b7 tree cache push directory 2022-09-18 17:43:24 +01:00
Frostebite 9fb18c8d6a skip included contents 2022-09-18 07:36:28 +01:00
Frostebite ee68632225 rename 2022-09-18 07:25:55 +01:00
Frostebite a745b6d025 Task Parameter Serializer will include build params and secrets for local-docker provider 2022-09-18 07:21:20 +01:00
Frostebite 85a35b3ab7 Task Parameter Serializer will include build params and secrets for local-docker provider 2022-09-18 07:15:46 +01:00
Frostebite 76667f4eb5 skip cache push where contents is 0 2022-09-18 06:54:56 +01:00
Frostebite 40078f987c skip cache push where contents is 0 2022-09-18 06:52:53 +01:00
Frostebite 6577aeb5c1 local-docker provider use docker with commands 2022-09-17 09:22:15 +01:00
Frostebite 20476c3ccc local-docker provider use docker with commands 2022-09-17 09:14:43 +01:00
Frostebite 8031bac31f local-docker provider use docker with commands 2022-09-17 09:05:43 +01:00
Frostebite 307bea209b local-docker provider use docker with commands 2022-09-17 08:43:09 +01:00
Frostebite 92bcdf5e96 local-docker provider use docker with commands 2022-09-17 08:37:57 +01:00
Frostebite d017aa0d55 Do not include all env vars as secrets! 2022-09-17 06:54:34 +01:00
Frostebite 67696d6253 Do not include all env vars as secrets! 2022-09-17 06:46:59 +01:00
Frostebite 6daf32f531 Do not include all env vars as secrets! 2022-09-17 06:30:51 +01:00
Frostebite a330d4e9a3 better startup and teardown for tests 2022-09-17 05:44:07 +01:00
Frostebite 5bf0ad0367 better startup and teardown for tests 2022-09-17 05:09:36 +01:00
Frostebite 51d46c2cc0 lock put timestamp first 2022-09-17 04:49:44 +01:00
Frostebite cefd469364 lock test 2022-09-17 04:41:41 +01:00
Frostebite 9ed3251455 lock test 2022-09-17 04:38:00 +01:00
Frostebite 54eab9797b Fix s3 command for workspace locking 2022-09-17 04:25:29 +01:00
Frostebite f72739254b Fix s3 command for workspace locking 2022-09-17 04:20:09 +01:00
Frostebite 33eb514ce6 Fix cloud runner test - format secret names for validation 2022-09-17 03:52:50 +01:00
Frostebite 7aa9d1ab16 Fix: use project path not repo path to find Packages/manifest.json 2022-09-17 01:50:19 +01:00
Frostebite b964d3100a Stub custom hook+step file parameter and CLI command to run 2022-09-17 01:27:38 +01:00
Frostebite b9608f9169 fix push to cache 2022-09-17 01:09:28 +01:00
Frostebite d69f044655 fix push to cache 2022-09-17 01:06:38 +01:00
Frostebite df240154da Test secrets are serialized correctly 2022-09-16 23:51:19 +01:00
Frostebite 01ccc8ee10 fix push to cache 2022-09-16 22:24:23 +01:00
Frostebite f226bef5af
Cloud runner preview (#419) 2022-09-16 19:48:40 +01:00
Webber Takken db2d8b6dbd
fix: make v character in version tags optional (#423)
* fix: make v character in version tags optional

* fix: cross platform regex

* fix: test regex within grep.

* fix: add semantic tags prepended with v
2022-08-04 02:09:32 +02:00
David Finol 47b25cf3b1
Fixes #409 (#412) 2022-06-01 12:11:32 +02:00
Frostebite 8bd51be73f improve cleanup to not delete in use task clusters 2022-05-14 17:29:09 +01:00
Frostebite f77696efae
Cloud runner develop v0.1 (#395)
* Correct aws logs link

* Correct aws logs link

* better aws cli commands and better cleanup for aws

* better aws cli commands and better cleanup for aws

* improved garbage collection cli options

* Only allow ephemeral runners when using cloud runner integration tests flag to avoid unexpected hangup

* Only allow ephemeral runners when using cloud runner integration tests flag to avoid unexpected hangup

* fix issue #393

* Extract follow log stream service

* consolidate into one pipeline file

* consolidate into one pipeline file
2022-05-05 00:25:17 +01:00
Frostebite 16b81cc6c8 Extract follow log stream service 2022-05-02 09:11:29 +01:00
Frostebite 795ae32499 fix issue #393 2022-05-01 20:56:08 +01:00
Frostebite 6668e1133e Only allow ephemeral runners when using cloud runner integration tests flag to avoid unexpected hangup 2022-05-01 19:34:48 +01:00
Frostebite a47d096f5c improved garbage collection cli options 2022-05-01 19:32:59 +01:00
Frostebite fc3724600e better aws cli commands and better cleanup for aws 2022-05-01 08:29:04 +01:00
Frostebite 3bd297d1c8 better aws cli commands and better cleanup for aws 2022-05-01 08:24:55 +01:00
Frostebite a184b7abae Correct aws logs link 2022-05-01 05:43:17 +01:00
Frostebite 483bcf9dd4 Correct aws logs link 2022-05-01 05:40:56 +01:00
Frostebite 8abce48a48
Cloud runner v0.2 - continued quality of life improvements (#387)
* Update cloud-runner-aws-pipeline.yml

* Update cloud-runner-k8s-pipeline.yml

* yarn build

* yarn build

* correct branch ref

* correct branch ref passed to target repo

* Create k8s-tests.yml

* Delete k8s-tests.yml

* correct branch ref passed to target repo

* correct branch ref passed to target repo

* Always describe AWS tasks for now, because unstable error handling

* Remove unused tree commands

* Use lfs guid sum

* Simple override cache push

* Simple override cache push and pull override to allow pure cloud storage driven caching

* Removal of early branch (breaks lfs caching)

* Remove unused tree commands

* Update action.yml

* Update action.yml

* Support cache and input override commands as input + full support custom hooks

* Increase k8s timeout

* replace filename being appended for unknclear reason

* cache key should not contain whitespaces

* Always try and deploy rook for k8s

* Apply k8s files for rook

* Update action.yml

* Apply k8s files for rook

* Apply k8s files for rook

* cache test and action description for kuber storage class

* Correct test and implement dependency health check and start

* GCP-secret run, cache key

* lfs smudge set explicit and undo explicit

* Run using external secret provider to speed up input

* Update cloud-runner-aws-pipeline.yml

* Add nodejs as build step dependency

* Add nodejs as build step dependency

* Cloud Runner Tests must be specified to capture logs from cloud runner for tests

* Cloud Runner Tests must be specified to capture logs from cloud runner for tests

* Refactor and cleanup - no async input, combined setup/build, removed github logs for cli runs

* Refactor and cleanup - no async input, combined setup/build, removed github logs for cli runs

* Refactor and cleanup - no async input, combined setup/build, removed github logs for cli runs

* Refactor and cleanup - no async input, combined setup/build, removed github logs for cli runs

* Refactor and cleanup - no async input, combined setup/build, removed github logs for cli runs

* better defaults for new inputs

* better defaults

* merge latest

* force build update

* use npm n to update node in unity builder

* use npm n to update node in unity builder

* use npm n to update node in unity builder

* correct new line

* quiet zipping

* quiet zipping

* default secrets for unity username and password

* default secrets for unity username and password

* ls active directory before lfs install

* Get cloud runner secrets from

* Get cloud runner secrets from

* Cleanup setup of default secrets

* Various fixes

* Cleanup setup of default secrets

* Various fixes

* Various fixes

* Various fixes

* Various fixes

* Various fixes

* Various fixes

* Various fixes

* Various fixes

* Various fixes

* Various fixes

* Various fixes

* Various fixes

* Various fixes

* Various fixes

* AWS secrets manager support

* less caching logs

* default k8s storage class to pd-standard

* more readable build commands

* Capture aws exit code 1 reliably

* Always replace /head from branch

* k8s default storage class to standard-rwo

* cleanup

* further cleanup input

* further cleanup input

* further cleanup input

* further cleanup input

* further cleanup input

* folder sizes to inspect caching

* dir command for local cloud runner test

* k8s wait for pending because pvc will not create earlier

* prefer k8s standard storage

* handle empty string as cloud runner cluster input

* local-system is now used for cloud runner test implementation AND correctly unset test CLI input

* local-system is now used for cloud runner test implementation AND correctly unset test CLI input

* fix unterminated quote

* fix unterminated quote

* do not share build parameters in tests - in cloud runner this will cause conflicts with resouces of the same name

* remove head and heads from branch prefix

* fix reversed caching direction of cache-push

* fixes

* fixes

* fixes

* cachePull cli

* fixes

* fixes

* fixes

* fixes

* fixes

* order cache test to be first

* order cache test to be first

* fixes

* populate cache key instead of using branch

* cleanup cli

* garbage-collect-aws cli can iterate over aws resources and cli scans all ts files

* import cli methods

* import cli files explicitly

* import cli files explicitly

* import cli files explicitly

* import cli methods

* import cli methods

* import cli methods

* import cli methods

* import cli methods

* import cli methods

* import cli methods

* import cli methods

* import cli methods

* import cli methods

* import cli methods

* import cli methods

* import cli methods

* import cli methods

* import cli methods

* import cli methods

* import cli methods

* import cli methods

* import cli methods

* import cli methods

* import cli methods

* import cli methods

* import cli methods

* import cli methods

* import cli methods

* import cli methods

* import cli methods

* import cli methods

* import cli methods

* import cli methods

* import cli methods

* import cli methods

* import cli methods

* import cli methods

* import cli methods

* import cli methods

* import cli methods

* log parameters in cloud runner parameter test

* log parameters in cloud runner parameter test

* log parameters in cloud runner parameter test

* Cloud runner param test before caching because we have a fast local cache test now

* Using custom build path relative to repo root rather than project root

* aws-garbage-collect at end of pipeline

* aws-garbage-collect do not actually delete anything for now - just list

* remove some legacy du commands

* Update cloud-runner-aws-pipeline.yml

* log contents after cache pull and fix some scenarios with duplicate secrets

* log contents after cache pull and fix some scenarios with duplicate secrets

* log contents after cache pull and fix some scenarios with duplicate secrets

* PR comments

* Replace guid with uuid package

* use fileExists lambda instead of stat to check file exists in caching

* build failed results in core error message

* Delete sample.txt

* cloud-runner-system prefix changed to cloud-runner

* Update cloud-runner-aws-pipeline.yml

* remove du from caching, should run manually if interested in size, adds too much runtime to job to include by default

* github ephemeral pipeline support

* github ephemeral pipeline support

* Merge remote-tracking branch 'origin/main' into cloud-runner-develop

# Conflicts:
#	dist/index.js.map
#	src/model/cloud-runner/providers/aws/aws-task-runner.ts
#	src/model/cloud-runner/providers/aws/index.ts

* garbage collection

* garbage collection

* self hosted runner pipeline

* self hosted runner pipeline

* self hosted runner pipeline

* self hosted runner pipeline

* self hosted runner pipeline

* self hosted runner pipeline

* self hosted runner pipeline

* self hosted runner pipeline

* self hosted runner pipeline

* self hosted runner pipeline

* ephemeral runner pipeline

* ephemeral runner pipeline

* ephemeral runner pipeline

* download runner each time

* download runner each time

* download runner each time

* garbage collect all older than 1d as part of cleanup

* download runner each time

* number container cpu and memory for aws

* per provider container defaults

* per provider container defaults

* per provider container defaults

* per provider container defaults

* Skip printing size unless cloudRunnerIntegrationTests is true

* transition zip usage in cache to uncompressed tar for speed

* transition zip usage in cache to uncompressed tar for speed

* transition zip usage in cache to uncompressed tar for speed

* transition zip usage in cache to uncompressed tar for speed

* per provider container defaults

* per provider container defaults

* per provider container defaults

* per provider container defaults

* per provider container defaults

* per provider container defaults

* per provider container defaults

* per provider container defaults

* baked in cloud formation template

* baked in cloud formation template

* baked in cloud formation template

* baked in cloud formation template

* baked in cloud formation template

* baked in cloud formation template

* baked in cloud formation template

* baked in cloud formation template

* better aws commands

* better aws commands

* parse number for cloud formation template

* remove container resource defaults from actions yaml

* remove container resource defaults from actions yaml

* skip all input readers when cloud runner is local

* prefer fs/promises

* actually set aws cloud runner step as failure if unity build fails

* default to 3gb of ram - webgl fails on 2
2022-04-22 00:47:45 +01:00
Webber Takken 5ae03dfef6
Streamline code styles (#384)
* feat: streamline code styles

* feat: spacing for comments and return statements

* chore: enforce camelcase

* fix: remove npm lock file

* fix: add integrity test

* fix: remove logfile

* chore: update node in test workflow
2022-04-12 00:43:41 +02:00
Frostebite a61c02481f
Cloud Runner v0 - Reliable and trimmed down cloud runner (#353)
* Update cloud-runner-aws-pipeline.yml

* Update cloud-runner-k8s-pipeline.yml

* yarn build

* yarn build

* correct branch ref

* correct branch ref passed to target repo

* Create k8s-tests.yml

* Delete k8s-tests.yml

* correct branch ref passed to target repo

* correct branch ref passed to target repo

* Always describe AWS tasks for now, because unstable error handling

* Remove unused tree commands

* Use lfs guid sum

* Simple override cache push

* Simple override cache push and pull override to allow pure cloud storage driven caching

* Removal of early branch (breaks lfs caching)

* Remove unused tree commands

* Update action.yml

* Update action.yml

* Support cache and input override commands as input + full support custom hooks

* Increase k8s timeout

* replace filename being appended for unknclear reason

* cache key should not contain whitespaces

* Always try and deploy rook for k8s

* Apply k8s files for rook

* Update action.yml

* Apply k8s files for rook

* Apply k8s files for rook

* cache test and action description for kuber storage class

* Correct test and implement dependency health check and start

* GCP-secret run, cache key

* lfs smudge set explicit and undo explicit

* Run using external secret provider to speed up input

* Update cloud-runner-aws-pipeline.yml

* Add nodejs as build step dependency

* Add nodejs as build step dependency

* Cloud Runner Tests must be specified to capture logs from cloud runner for tests

* Cloud Runner Tests must be specified to capture logs from cloud runner for tests

* Refactor and cleanup - no async input, combined setup/build, removed github logs for cli runs

* Refactor and cleanup - no async input, combined setup/build, removed github logs for cli runs

* Refactor and cleanup - no async input, combined setup/build, removed github logs for cli runs

* Refactor and cleanup - no async input, combined setup/build, removed github logs for cli runs

* Refactor and cleanup - no async input, combined setup/build, removed github logs for cli runs

* better defaults for new inputs

* better defaults

* merge latest

* force build update

* use npm n to update node in unity builder

* use npm n to update node in unity builder

* use npm n to update node in unity builder

* correct new line

* quiet zipping

* quiet zipping

* default secrets for unity username and password

* default secrets for unity username and password

* ls active directory before lfs install

* Get cloud runner secrets from

* Get cloud runner secrets from

* Cleanup setup of default secrets

* Various fixes

* Cleanup setup of default secrets

* Various fixes

* Various fixes

* Various fixes

* Various fixes

* Various fixes

* Various fixes

* Various fixes

* Various fixes

* Various fixes

* Various fixes

* Various fixes

* Various fixes

* Various fixes

* Various fixes

* AWS secrets manager support

* less caching logs

* default k8s storage class to pd-standard

* more readable build commands

* Capture aws exit code 1 reliably

* Always replace /head from branch

* k8s default storage class to standard-rwo

* cleanup

* further cleanup input

* further cleanup input

* further cleanup input

* further cleanup input

* further cleanup input

* folder sizes to inspect caching

* dir command for local cloud runner test

* k8s wait for pending because pvc will not create earlier

* prefer k8s standard storage

* handle empty string as cloud runner cluster input

* local-system is now used for cloud runner test implementation AND correctly unset test CLI input

* local-system is now used for cloud runner test implementation AND correctly unset test CLI input

* fix unterminated quote

* fix unterminated quote

* do not share build parameters in tests - in cloud runner this will cause conflicts with resouces of the same name

* remove head and heads from branch prefix

* fix reversed caching direction of cache-push

* fixes

* fixes

* fixes

* cachePull cli

* fixes

* fixes

* fixes

* fixes

* fixes

* order cache test to be first

* order cache test to be first

* fixes

* populate cache key instead of using branch

* cleanup cli

* garbage-collect-aws cli can iterate over aws resources and cli scans all ts files

* import cli methods

* import cli files explicitly

* import cli files explicitly

* import cli files explicitly

* import cli methods

* import cli methods

* import cli methods

* import cli methods

* import cli methods

* import cli methods

* import cli methods

* import cli methods

* import cli methods

* import cli methods

* import cli methods

* import cli methods

* import cli methods

* import cli methods

* import cli methods

* import cli methods

* import cli methods

* import cli methods

* import cli methods

* import cli methods

* import cli methods

* import cli methods

* import cli methods

* import cli methods

* import cli methods

* import cli methods

* import cli methods

* import cli methods

* import cli methods

* import cli methods

* import cli methods

* import cli methods

* import cli methods

* import cli methods

* import cli methods

* import cli methods

* import cli methods

* log parameters in cloud runner parameter test

* log parameters in cloud runner parameter test

* log parameters in cloud runner parameter test

* Cloud runner param test before caching because we have a fast local cache test now

* Using custom build path relative to repo root rather than project root

* aws-garbage-collect at end of pipeline

* aws-garbage-collect do not actually delete anything for now - just list

* remove some legacy du commands

* Update cloud-runner-aws-pipeline.yml

* log contents after cache pull and fix some scenarios with duplicate secrets

* log contents after cache pull and fix some scenarios with duplicate secrets

* log contents after cache pull and fix some scenarios with duplicate secrets

* PR comments

* Replace guid with uuid package

* use fileExists lambda instead of stat to check file exists in caching

* build failed results in core error message

* Delete sample.txt
2022-04-11 00:00:37 +01:00
Philipp Mildenberger 2b399b2641
Add gitPrivateToken support again (#377) 2022-04-05 17:46:52 +02:00
David Finol 40891d6b43
Fix mac builds (#376) 2022-04-04 10:19:40 +02:00
Webber Takken 441be81543
Switch to version 1 images (#374)
* feat: upgrade to images of version 1 (rolling tag)

* chore: indicate what needs to move out of the input class
2022-04-03 17:59:14 +02:00
Paul Pacheco d98a0ed32d
fix: windows build (#368) 2022-03-31 21:28:40 +02:00
Paul Pacheco b72639aac0
perf: avoid building docker image (#365)
* avoid building a custom image

* fix: remove unnecessary double-dash

* Rebuild with -- fix

* linting

* Remove unused variable

* support windows as well

* Fix -- command not found

* Fix unused import, remove docker build test

* no dockerfile anymore

Co-authored-by: Webber Takken <webber.nl@gmail.com>
2022-03-31 01:16:30 +02:00
Webber Takken 9a40b8903e
fix: ensure line endings (#366)
* fix: ensure line endings

* fix: only affect specific files

* chore: rearrange attributes order
2022-03-30 23:27:10 +02:00
Webber Takken f1c154a23c
Attempt to streamline dev lifecycle (git hooks) (#357)
* fix: misalignments in dev lifecycle

* fix: dist no longer added to staged

* fix: misalignments in dev lifecycle

* chore: multi-platform hooks and tests

* chore: multi-platform hooks and tests

* chore: add intention for colors

* chore: update lint-staged to fix color

* chore: update dist files

* feat: move to lefthook (remove husky and lint-staged)

* feat: move to lefthook (remove husky and lint-staged)

* fix: test aftereach

* fix: test aftereach

* fix: early restore call

* feat: jest fails if something gets logged to console

* chore: add todos of misplaced code

* chore: update dist files

* chore: move jest file
2022-03-28 01:23:32 +02:00
Paul Pacheco 9440c54d51
feat: work with rootless docker (#362)
Running docker currently mounts the docker.sock file into the container.
This was introduced in 2ab738c083 but
there is no explanation provided.

The docker.sock file is only needed if we want to run docker inside the container
to create other images or start other containers.
I searched through the code and I did not find any such use.

In particular, on fedora this gives permission denied because docker.sock
is owned by root and the container runs under an unprivileged user.
One has to change the permissions of docker.sock
(which is actually a link to /run/podman/podman.sock) to be writeable by the user.

If we don't need to use docker inside the containers,  then we can remove this file,
thus we can run this GitHub action as an unprivileged user out of the box.
2022-03-27 03:05:15 +02:00
Paul Pacheco 8ed8ccb20c
fix: op not permitted in self-hosted runner (#359)
In self hosted runners in fedora with SELinux enabled,
it sometimes gives a random error
```
Error: lsetxattr /var/run/docker.sock: operation not permitted

Error: The process '/usr/bin/docker' failed with exit code 126
```

This seems to happen with docker.sock which is a link to
/run/podman/podman.sock
looks like lsetxattr is broken for links.
2022-03-23 19:41:57 +01:00
Frostebite d975f3b80f
Minor tweaks and corrections for cloud runner pipeline and branch parameter (#351)
* Update cloud-runner-aws-pipeline.yml

* Update cloud-runner-k8s-pipeline.yml

* yarn build

* yarn build

* correct branch ref

* correct branch ref passed to target repo

* Create k8s-tests.yml

* Delete k8s-tests.yml

* correct branch ref passed to target repo

* correct branch ref passed to target repo
2022-03-04 19:42:24 +00:00
David Finol 693ff829de
Yarn dependencies upgrade & yarn lint update (#347)
* Run yarn upgrade in order to resolve security vulnerability

* Remove unneeded git add from pre-commit hook

* Update packages

* Update non-eslint packages
2022-02-28 05:30:59 -06:00
David Finol ff46e7645f
Restore androidSdkManagerParameters (#349) 2022-02-27 14:31:47 +01:00
David Finol 1abb902750
Fix license issue (#346) 2022-02-24 16:21:06 -06:00
David Finol 8e0583a14b
Fix Android build parameters error (#335)
Tests failing due to issue with `gh`. Test confirmed here: https://github.com/finol-digital/Card-Game-Simulator/actions/runs/1879452353
2022-02-21 23:31:08 -06:00
David Finol b94200d3d4
Sync docs2 (#341)
* Run build

* Sync docs
2022-02-21 13:19:28 -06:00
AndrewKahr a6ebcb5b75
Fix minor typo in mac build test workflow (#333) 2022-02-02 12:38:35 +01:00
AndrewKahr c7907c7e78
Initial Support for MacOS IL2CPP Builds (#326)
* Add intial framework for macos builds. Test install editor

* Fix unity hub path space

* Single quote space in path

* Escape space character

* More backslashes

* Move to bash scripts for setup

* Add path to command args

* Different command to run shell script

* Use full path to scripts

* Unpack changeset value and fix missing escape characters

* Print changeset

* More debug

* Remove debug

* Fix script paths

* Printenv debug

* Write environment variables to file to read in bash script

* Debug file write

* More debug

* Fix missing await

* Move back to process.env

* Fix path typo

* Add missing flags

* Make directory for license activation

* Add missing sudo

* Give permissions to license folder

* Fix path issues

* Add build tests

* Try ts setup again

* Try quoting path

* Further migrate mac scripts to align with linux scripts

* print pwd

* Fix changeset and remove unneeded env vars

* Ignore return code

* fix missing current directory

* Fix project path

* pwd

* Remove project path

* Revert to cwd being the workspace folder and pass action folder as an env variable.

* Add blank project to use for activation

* Add blank project path

* Fix build tests

* Don't rebuild library on windows

* Fix project path windows

* Fix platform specific workspace env variable

* Fix incorrect variable name

* Update .github/workflows/mac-build-tests.yml

Co-authored-by: Webber Takken <webber.nl@gmail.com>

* Update .github/workflows/mac-build-tests.yml

Co-authored-by: Webber Takken <webber.nl@gmail.com>

* Update dist/BlankProject/Packages/packages-lock.json

Co-authored-by: Webber Takken <webber.nl@gmail.com>

* Update src/model/platform-setup/setup-mac.ts

Co-authored-by: Webber Takken <webber.nl@gmail.com>

* Update src/model/platform-setup/setup-mac.ts

Co-authored-by: Webber Takken <webber.nl@gmail.com>

* Fix formatting

Co-authored-by: Webber Takken <webber.nl@gmail.com>
2022-02-02 10:15:37 +01:00
Frostebite 03ae77dc7c
Cloud Runner v2 (#310) 2022-02-01 02:31:20 +00:00
AndrewKahr 3d0eb0805b
Initial Support for Windows Based Builds (#305)
* Implemented logic for windows based docker builds. Moved dockerfiles and scripts to platform specific folders.

* Add missing newline character

* Add build-tests for windows and a unity project configured to output il2cpp

* Add additional build targets (uwp and tvOS)
Adjustments to build scripts to not require win10 sdk when not needed (tvOS)
Platform-based prereq setup
Setup image tags for the new platforms with errors if building on the wrong base os
Rename test-project-il2cpp to test-project-windows to be used for all windows based project building (IL2CPP backend selected instead of mono)
Fix tests to be platform based

* Update dist/platforms/windows/steps/return_license.ps1

Co-authored-by: Webber Takken <webber.nl@gmail.com>

* Update src/model/docker.ts

Co-authored-by: Webber Takken <webber.nl@gmail.com>

* Update src/model/docker.ts

Co-authored-by: Webber Takken <webber.nl@gmail.com>

* Update src/model/docker.ts

Co-authored-by: Webber Takken <webber.nl@gmail.com>

* Fix outdated repository and homepage links in dockerfiles

* Fix comment style and rename validateWindowsPrereqs to validateWindowsPlatformRequirements

* Remove redundant comment

* Remove windows unity test project, add ProjectSettings for the il2cpp backend, and add logic to replace the projectsettings file with the il2cpp one on windows test builds.

* Fix action.test.ts to accept windows as a base platform

* Fix camelcase for wsaPlayer

* Switch from add to copy in windows dockerfile

* Change slash direction

* Switch ADD to COPY to conform with best practices, change ls to dir on windows dockerfile

* Improve error message for unset UNITY_EMAIL and UNITY_PASSWORD

* Further improve missing email and password error. Remove temppaths being mounted to docker image

* Add debug statement. TODO: Remove these

* Add more debug

* Explicitly pass in unity email to docker run

* Remove debug and fix environment variables for activation/deactivation scripts

* Prevent Unity serial from leaking to console

* Debug folder listings

* More debug print dirs

* fix debug print path

* fix reg export command

* Remove debug directory listings and try setSecret to mask serial

* Update src/model/action.ts

Co-authored-by: Webber Takken <webber.nl@gmail.com>

* Update src/model/docker.ts

Co-authored-by: Webber Takken <webber.nl@gmail.com>

* Update src/model/image-tag.ts

Co-authored-by: David Finol <davidmfinol@gmail.com>

* Update .github/workflows/build-tests.yml

Co-authored-by: David Finol <davidmfinol@gmail.com>

* Move platform validation and setup out of docker and into its own layer, remove branching on docker run command

* Fix test failure due to missing license

* Fix camelCase and duplicate variables

* Fix lint issues and make paths more understandable

* Fix typo in build-tests.yml

* Fix move command in build-tests.yml

* Different method to force move file

* Fix missing quote and backslash

* Pass unity email and password to builder action for windows build tests

* Push serial to windows test builds

* Make windows build tests only run on push to main

Co-authored-by: Webber Takken <webber.nl@gmail.com>
Co-authored-by: David Finol <davidmfinol@gmail.com>
2022-01-25 22:18:15 +01:00
David Finol c45cd78d0d
Support version tags that don't start with v for semantic versioning (#303)
* Fixes #242

* Update semver version

* Update husky

* Update husky pre-commit hook

* Update dependencies

* Update dependencies

* Remove git add since changes will be automatically added

* Restore git add

* Update dependencies

* Update test
2022-01-02 15:31:48 -06:00
David Finol 239273ca72
Add androidTargetSdkVersion as an option to update the Android SDK (#298)
* Add androidTargetSdkVersion as an option to update the Android SDK API level

* Fix build script

* Update default value

* Add JAVA_HOME

* Use Unity_path

* Update src/model/android-versioning.test.ts

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

* Correct JAVA_HOME

* Use unity_path

* Update JAVA_HOME to use path found from 2020.3

* Dynamically determine JAVA_HOME

* Update path determination

Co-authored-by: Webber Takken <webber@takken.io>
2021-11-24 06:51:52 -06:00
David Finol 11a0d0947e
Improve androidVersionCode parsing and application (#297) 2021-11-15 11:12:37 -06:00
David Finol 13fdcad790
Add gitPrivateToken (#296)
* adding option to pass git credential

* trigger change

* trigger change

* build dist/index

* prettier

* adding set git credentials with more config

* correct docker.ts input

* change default of git credential

* try using git command line to set token

* remove git config cat

* adding api: to git config

* change to token

* change input name to reflect the type github private token

Co-authored-by: Alexander Brandstedt <alexander@infralium.com>
Co-authored-by: Alexander Brandstedt <mad01@users.noreply.github.com>
2021-11-14 16:52:35 -06:00
Estellise Yukihime c317d144c3
fix strategy 'Tag' versioning (#287)
* fix - remove \n in getTag method

* build ts

* recommit
2021-09-06 18:31:24 +02:00
Webber Takken 70081d231f
Indicate how to support us (#277) 2021-07-12 19:28:11 +02:00
David Finol b66dffbf92
Projectpath error message (#274)
* Improve error message

* Improve error message
2021-07-01 06:38:44 -05:00
Webber Takken 8c1a159dd0
add default tag for feature request (#272) 2021-06-05 23:59:56 +02: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 c96b8cf443
Remote builder refactoring (#264)
Remote builder refactoring
2021-05-23 05:08:40 +01:00
Zhou Xinwei f0e18ea3a5
Fixed addressable build failing on Addressable 1.17.17+ (#262) 2021-05-20 17:51:54 +02: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 a1f68ab26c hotfix - use input parameter instead of env var 2021-05-01 22:26:06 +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
Webber Takken 398eda622f
Add Discord link in issues (#239) 2021-04-03 12:30:00 +02: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
Webber 2166833f11 Create builder folder for docker + bootstrap combo 2020-01-11 01:06:22 +01:00
Webber c55fc4eecd Properly check whether code is executed from source 2020-01-07 00:21:27 +01:00
Webber 4e59bb0d2a Always use relative path to action runner workspace 2020-01-07 00:21:27 +01:00
Webber 5952e3d2f6 Fix build path 2020-01-06 23:32:50 +01:00
Webber 948a53575b Remove console statements 2019-12-22 22:43:47 +01:00
Webber 250a665fce Make version pattern slightly less strict 2019-12-22 22:43:47 +01:00
Webber bafc8e806b Allow builds for all targets 2019-12-22 22:43:47 +01:00
Webber 2ab738c083 Run docker from javascript 2019-12-22 22:43:47 +01:00
Webber 454ff6054c Set build args for container 2019-12-22 22:43:47 +01:00
Webber dccdec9d3b Bootstrap docker from js 2019-12-22 22:43:47 +01:00
Webber 0bb0dbd7be Package to dist folder using @zeit/ncc 2019-12-22 22:43:47 +01:00