Commit Graph

333 Commits (0da10f487f40b07153a7d009dd0782a6fcd76e2b)

Author SHA1 Message Date
Frostebite 2e2fe56bbe aws/k8s smoke test 2023-02-15 20:53:56 +00:00
Frostebite 3b6b36fd5a aws/k8s smoke test 2023-02-15 20:08:25 +00:00
Frostebite 45c4e7f297 aws/k8s smoke test 2023-02-15 19:57:07 +00:00
Frostebite 6b08a16c8f aws/k8s smoke test 2023-02-15 19:50:51 +00:00
Frostebite 45e3758eaa events log cleanup 2023-02-15 02:30:06 +00:00
Frostebite cef784e8f8 events log cleanup 2023-02-15 01:34:36 +00:00
Frostebite beff5eb6ff events log cleanup 2023-02-15 01:12:47 +00:00
Frostebite 999ca1ba26 locking test improvements 2023-02-14 00:19:46 +00:00
Frostebite d5ec49a174 locking test improvements 2023-02-14 00:11:56 +00:00
Frostebite 33091c84ac locking test improvements 2023-02-13 23:49:54 +00:00
Frostebite 31669663bc locking test improvements 2023-02-13 23:36:59 +00:00
Frostebite 50e76b9b2f locking test improvements 2023-02-13 23:24:22 +00:00
Frostebite 0843e2acb4 locking test improvements 2023-02-13 22:29:05 +00:00
Frostebite 2ace441025 locking test improvements 2023-02-13 21:59:37 +00:00
Frostebite 650ab4e663 locking test improvements 2023-02-13 21:45:01 +00:00
Frostebite 84abe3259d locking test improvements 2023-02-13 21:43:03 +00:00
Frostebite 63547bed70 locking test improvements 2023-02-13 21:28:54 +00:00
Frostebite e66083248e locking test improvements 2023-02-13 21:13:27 +00:00
Frostebite ccf83c2f22 locking test improvements 2023-02-13 21:02:08 +00:00
Frostebite 520bc3d1e7 locking 2nd time 2023-02-13 19:28:30 +00:00
Frostebite de525aef53 locking 2nd time 2023-02-13 19:11:02 +00:00
Frostebite a08030a034 extract lib in caching flow 2023-02-13 18:54:29 +00:00
Frostebite f49ad49fc4 extract lib in caching flow 2023-02-13 18:42:45 +00:00
Frostebite fa274bd3ae extract lib in caching flow 2023-02-13 18:18:03 +00:00
Frostebite 7c0eda570d extract lib in caching flow 2023-02-13 18:10:13 +00:00
Frostebite f29a3cac01 extract lib in caching flow 2023-02-13 17:51:14 +00:00
Frostebite 5c64dd1ea0 extract lib in caching flow 2023-02-13 17:20:54 +00:00
Frostebite 56642dd610 extract lib in caching flow 2023-02-13 17:00:02 +00:00
Frostebite dd3bc16a63 extract lib in caching flow 2023-02-13 16:56:05 +00:00
Frostebite befff4a1e6 extract lib in caching flow 2023-02-13 16:48:50 +00:00
Frostebite 041417e7b3 extract lib in caching flow 2023-02-13 16:39:32 +00:00
Frostebite 5c076ee62c extract lib in caching flow 2023-02-13 16:26:41 +00:00
Frostebite a6dbd44f4f extract lib in caching flow 2023-02-13 16:08:44 +00:00
Frostebite 465973ecbf extract lib in caching flow 2023-02-13 15:56:29 +00:00
Frostebite 57a2529026 extract lib in caching flow 2023-02-13 15:48:54 +00:00
Frostebite 079dd160e2 pipeline improvements 2023-02-12 22:13:49 +00:00
Frostebite d98044523c pipeline improvements 2023-02-12 15:08:35 +00:00
Frostebite a3796de194 pipeline improvements 2023-02-12 14:57:44 +00:00
Frostebite d3aa926ba3 pipeline improvements 2023-02-12 14:50:15 +00:00
Frostebite ffeb59ea3d pipeline improvements 2023-02-12 14:23:16 +00:00
Frostebite 5832341bdc pipeline improvements 2023-02-12 13:15:25 +00:00
Frostebite 592a38b921 pipeline improvements 2023-02-12 13:07:08 +00:00
Frostebite 4f60454368 pipeline improvements 2023-02-12 13:04:59 +00:00
Frostebite 53f3a1d6ae pipeline improvements 2023-02-12 13:00:21 +00:00
Frostebite 67bf2d2afd fix 2023-02-12 05:40:05 +00:00
Frostebite c79baceb45 fix 2023-02-12 05:30:30 +00:00
Frostebite 811e2a6e65 fix 2023-02-12 05:23:36 +00:00
Frostebite 17424228bb fix 2023-02-12 04:30:29 +00:00
Frostebite 7e7bd11c7d fix 2023-02-12 04:26:31 +00:00
Frostebite 6d2fc239d1 fix 2023-02-12 03:49:33 +00:00
Frostebite f8eba6b040 new test 2023-02-12 02:50:07 +00:00
Frostebite 6ba104212a new test 2023-02-12 02:27:09 +00:00
Frostebite 8d74152df5 workspaces should be in one cache key folder 2023-02-10 05:34:37 +00:00
Frostebite 077b49da17 workspaces should be in one cache key folder 2023-02-10 05:29:15 +00:00
Frostebite bb652ab73c workspaces should be in one cache key folder 2023-02-10 04:46:31 +00:00
Frostebite 25ba74d06e improve error handling k8s 2023-02-10 00:30:59 +00:00
Frostebite 3280fcf57f previous false 2023-02-09 23:51:58 +00:00
Frostebite 00e8115d1a K8s task loop, fail early 2023-02-09 21:49:28 +00:00
Frostebite 2c80fce95d K8s task loop, fail early 2023-02-09 20:53:05 +00:00
Frostebite bda5fb6b39 K8s task loop, fail early 2023-02-09 19:39:10 +00:00
Frostebite e3f32d587b K8s task loop, fail early 2023-02-08 18:31:49 +00:00
Frostebite b324d78732 debug skip cache and lfs capability 2023-02-08 18:12:35 +00:00
Frostebite 5a08d19fa4 async copy unity email,pass,serial 2023-02-07 02:41:03 +00:00
Frostebite c58553c9d8 async copy unity email,pass,serial 2023-02-07 02:21:20 +00:00
Frostebite 8dd204e4b6 async copy unity email,pass,serial 2023-02-07 02:08:54 +00:00
Frostebite bd63ef575e async copy unity email,pass,serial 2023-02-05 02:53:35 +00:00
Frostebite e720cc46d7 triggerWorkflowOnComplete param for cloud runner 2023-02-05 00:43:39 +00:00
Frostebite 2a14f08922 triggerWorkflowOnComplete param for cloud runner 2023-02-05 00:38:42 +00:00
Frostebite b4b32e2df2 triggerWorkflowOnComplete param for cloud runner 2023-02-05 00:21:22 +00:00
Frostebite f14933b016 triggerWorkflowOnComplete param for cloud runner 2023-02-05 00:07:27 +00:00
Frostebite 4e173629ae Improve k8s logging accuracy 2023-02-03 03:04:10 +00:00
Frostebite a1e58e3e99 Improve k8s logging accuracy 2023-02-03 02:54:45 +00:00
Frostebite 04b01c4e50 Improve k8s logging accuracy 2023-02-03 01:58:48 +00:00
Frostebite e833b5e231 Improve k8s logging accuracy 2023-02-03 01:44:41 +00:00
Frostebite 6c533e123b Improve k8s logging accuracy 2023-02-03 01:11:32 +00:00
Frostebite aa18edc853 Improve k8s logging accuracy 2023-02-03 00:49:19 +00:00
Frostebite 0412b98708 Improve k8s logging accuracy 2023-02-03 00:19:37 +00:00
Frostebite c1ac6beac9 Improve k8s logging accuracy 2023-02-02 22:32:37 +00:00
Frostebite 7f14855a64 Improve k8s logging accuracy 2023-02-02 22:16:55 +00:00
Frostebite ac9288231e Improve k8s logging accuracy 2023-02-02 21:52:05 +00:00
Frostebite 5bf2cdae38 Improve k8s logging accuracy 2023-02-02 21:41:51 +00:00
Frostebite 186a31b6a2 Improve k8s logging accuracy 2023-02-02 21:29:18 +00:00
Frostebite 4e2f2ef206 Improve k8s logging accuracy 2023-02-02 00:00:04 +00:00
Frostebite 8e0168a0a5 Improve k8s logging accuracy 2023-02-01 23:00:41 +00:00
Frostebite b5def1fe74 Do not checkout with git sha if undefined 2023-01-28 21:49:14 +00:00
Frostebite 71b06a8dfe Do not checkout with git sha if undefined 2023-01-28 20:55:51 +00:00
Frostebite 2243b80312 Do not checkout with git sha if undefined 2023-01-28 20:50:53 +00:00
Frostebite 36ecc47c3c Do not checkout with git sha if undefined 2023-01-28 20:29:33 +00:00
Frostebite 73506a2f0a Include any message with error 2023-01-28 02:49:07 +00:00
Frostebite c042033f6b Include any message with error 2023-01-28 02:36:01 +00:00
Frostebite abeebbd30d Include any message with error 2023-01-28 02:15:54 +00:00
Frostebite 93c6d19d12 Include any message with error 2023-01-28 01:38:34 +00:00
Frostebite 3b14b8fdb5 Include any message with error 2023-01-28 01:27:08 +00:00
Frostebite 7ca4c4ffd0 Include any message with error 2023-01-28 00:44:59 +00:00
Frostebite cdf5fcffbc Include any message with error 2023-01-27 23:13:56 +00:00
Frostebite fa4d0661d0 Include any message with error 2023-01-27 19:39:22 +00:00
Frostebite a348105747 correcting bug with async env 2023-01-22 03:28:56 +00:00
Frostebite 9ba23392bd correcting bug with async env 2023-01-22 03:20:26 +00:00
Frostebite 011c5ca1b3 correcting bug with async env 2023-01-22 03:12:48 +00:00
Frostebite 038f396973 correcting bug with async env 2023-01-22 02:58:05 +00:00
Frostebite 8552ed6b92 correcting bug with async env 2023-01-22 02:37:43 +00:00
Frostebite c54786ae55 correcting bug with async env 2023-01-22 02:24:43 +00:00
Frostebite 994563aa5d correcting bug with async env 2023-01-22 02:03:16 +00:00
Frostebite 1a0fd35c82 correcting bug with async env 2023-01-22 01:45:05 +00:00
Frostebite d70625087c correcting bug with async env 2023-01-22 01:15:30 +00:00
Frostebite 02221c8992 correcting bug with async env 2023-01-22 00:40:46 +00:00
Frostebite 48747e3832 correcting bug with async env 2023-01-22 00:05:27 +00:00
Frostebite e41c29338c correcting bug with async env 2023-01-21 23:46:35 +00:00
Frostebite 744c322797 correcting bug with async env 2023-01-21 22:56:46 +00:00
Frostebite f7ccee2ce2 correcting bug with async env 2023-01-21 22:50:43 +00:00
Frostebite fcb8bb828e correcting bug with async env 2023-01-21 22:40:39 +00:00
Frostebite a590b95e2a correcting bug with async env 2023-01-21 22:09:22 +00:00
Frostebite 044f1a3061 correcting bug with async env 2023-01-21 01:13:37 +00:00
Frostebite 11a35fd3df correcting bug with async env 2023-01-21 01:06:04 +00:00
Frostebite 540d271357 correcting bug with async env 2023-01-21 00:58:14 +00:00
Frostebite 1c592d7be7 correcting bug with async env 2023-01-21 00:13:07 +00:00
Frostebite 97543ba50b correcting bug with async env 2023-01-21 00:07:15 +00:00
Frostebite 237fa754fd correcting bug with async env 2023-01-20 23:41:51 +00:00
Frostebite 94c3601e58 correcting bug with async env 2023-01-20 23:32:50 +00:00
Frostebite 875979c2d7 correcting bug with async env 2023-01-20 23:15:56 +00:00
Frostebite e334dc785a
Cloud runner develop - better parameterization of s3 usage, improved async workflow and GC, github checks early integration (#479)
* custom steps may leave value undefined, will be pulled from env vars

* custom steps may leave value undefined, will be pulled from env vars

* custom steps may leave value undefined, will be pulled from env vars

* add 3 new premade steps, steam-deploy-client, steam-deploy-project, aws-s3-pull-build

* fix

* fix

* fix

* continue building async-workflow support

* test checks

* test checks

* test checks

* move github checks within build workflow

* async workflow test

* async workflow test

* async workflow test

* async workflow test

* async workflow test

* async workflow test

* async workflow test

* async workflow test for aws only

* async workflow test for aws only

* async workflow test for aws only

* async workflow test for aws only

* cleanup logging

* disable lz4 compression by default

* disable lz4 compression by default

* AWS BASE STACK for tests

* AWS BASE STACK for tests

* AWS BASE STACK for tests

* AWS BASE STACK for tests

* AWS BASE STACK for tests

* AWS BASE STACK for tests

* disable lz4 compression by default

* disable lz4 compression by default

* Update github check with aws log

* Update github check with aws log

* Update github check with aws log

* Update github check with aws log

* Update github check with aws log

* Update github check with aws log

* Update github check with aws log

* Update github check with aws log

* Update github check with aws log

* Update github check with aws log

* Update github check with aws log

* Update github check with aws log

* Update github check with aws log

* Update github check with aws log

* kinesis and subscription filter for logs creation skipped when watchToEnd false

* kinesis and subscription filter for logs creation skipped when watchToEnd false

* kinesis and subscription filter for logs creation skipped when watchToEnd false

* kinesis and subscription filter for logs creation skipped when watchToEnd false

* kinesis and subscription filter for logs creation skipped when watchToEnd false

* kinesis and subscription filter for logs creation skipped when watchToEnd false

* kinesis and subscription filter for logs creation skipped when watchToEnd false

* kinesis and subscription filter for logs creation skipped when watchToEnd false

* kinesis and subscription filter for logs creation skipped when watchToEnd false

* kinesis and subscription filter for logs creation skipped when watchToEnd false

* cleanup local pipeline, log aws formation

* cleanup local pipeline, log aws formation

* cleanup local pipeline, log aws formation

* cleanup local pipeline, log aws formation

* cleanup local pipeline, log aws formation

* cleanup local pipeline, log aws formation

* cleanup local pipeline, log aws formation

* cleanup local pipeline, log aws formation

* cleanup local pipeline, log aws formation

* cleanup local pipeline, log aws formation

* cleanup local pipeline, log aws formation

* cleanup local pipeline, log aws formation

* cleanup local pipeline, log aws formation

* cleanup local pipeline, log aws formation

* cleanup local pipeline, log aws formation

* cleanup local pipeline, log aws formation

* cleanup local pipeline, log aws formation

* cleanup local pipeline, log aws formation

* cleanup local pipeline, log aws formation

* cleanup local pipeline, log aws formation

* cleanup local pipeline, log aws formation

* async pipeline

* async pipeline

* async pipeline

* async pipeline

* async pipeline

* async pipeline

* async pipeline

* async pipeline

* async pipeline

* async pipeline

* async pipeline

* async pipeline

* async pipeline

* async pipeline

* async pipeline

* async pipeline

* async pipeline

* async pipeline

* async pipeline

* async pipeline

* async pipeline

* async pipeline

* async pipeline

* async pipeline

* async pipeline

* async pipeline

* async pipeline

* workflow

* workflow

* workflow

* workflow

* workflow

* workflow

* workflow

* workflow

* parameterize s3

* parameterize s3

* parameterize s3

* parameterize s3

* parameterize s3

* parameterize s3

* parameterize s3

* parameterize s3

* parameterize s3

* parameterize s3

* parameterize s3

* parameterize s3

* parameterize s3

* parameterize s3

* parameterize s3

* parameterize s3

* parameterize s3

* parameterize s3

* parameterize s3

* parameterize s3

* parameterize s3

* parameterize s3

* parameterize s3

* parameterize s3

* parameterize s3

* parameterize s3

* parameterize s3

* parameterize s3

* parameterize s3

* parameterize s3

* parameterize s3

* parameterize s3

* parameterize s3

* parameterize s3

* parameterize s3

* parameterize s3

* parameterize s3

* parameterize s3

* parameterize s3

* parameterize s3

* parameterize s3

* parameterize s3

* parameterize s3

* parameterize s3

* parameterize s3

* parameterize s3

* parameterize s3

* parameterize s3

* parameterize s3
2023-01-20 17:40:57 +00:00
AndrewKahr 9329b7369c
Install mac modules based on target platform for greater flexibility (#481) 2022-12-14 10:27:36 +01:00
AndrewKahr 5bd589e19f
feat: Android updates for Windows and androidVersionCode output (#478)
* Create android keystore on windows, output android version code

* Add androidVersionCode output test

* Move android keystore decode logic to TS
2022-11-23 10:06:58 +01:00
AndrewKahr f03bee03f6
Remove GITHUB_WORKSPACE from image-environment-factory.ts and fix windows workdir path in docker run command (#477) 2022-11-22 13:54:54 +01:00
Frostebite 2a32a9d870
Fix: retained workspaces must fetch before resetting to needed commit (#476) 2022-11-18 20:43:52 +00:00
Frostebite d6ac850da1
Fix "large package handling" to redirect to shared folder (#473) 2022-11-17 18:59:33 +00:00
Frostebite f300dd27bb
Add Cloud Runner Pipeline to Main (#472)
* fix: k8s error handling

(cherry picked from commit f633a3efb42432a6d2492712aead865a950c8dca)

* include main in main cloud-runner pipeline

(cherry picked from commit a40fbe941bba1ba4593c83c754b37363a969bfe5)
2022-11-08 09:37:16 +00:00
Frostebite 4cca069ebb
Cloud Runner Develop - 1.0 R.C 1 (#437)
Release Candidate changeset 1 - For 1.0 Cloud Runner
2022-11-07 20:41:00 +00:00
simensan 4cb3e593f5
Feature/support for unity licensing server linux (#468)
* Initial support for adding a UNITY_LICENSING_SERVER parameter to build parameters

* Test to figure out what the working directory is of current bash script

* Outputting current directory and using $ACTION_FOLDER

* Add resources folder to mounted docker volumes. Used by activation script to copy over template file for unity licensing server

* use awk instead of sed due to http characters breaking syntax

* mkdir for unity config

* Add -p flag to mkdir so parents are also created if missing

* Initial work on returning floating license when using licensing server

* Checking licensing server first for now, since serial is always set

* Parse and save acquired floating license for use for returning after build

* Clean up duplicate commands in activate.sh

* Fixed running string as command, use it as input instead

* Fixed cloud runner tests failing when using a ssh remote.

* Clean up of test files and unnecessary logging

* Moved process of generating services-config.json file from platform specific activate scripts to typescript

* Fixed path
2022-10-22 18:55:58 +02:00
Paul Pacheco 0756841374
update actions core to 1.10.0 (#466)
* update actions core to 1.10.0

The current version of actions/core produces a lot of warning about deprecated set-output command,  like this:

```
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
```

the new version of actions/core uses the environment files instead, so this version bump should fix the warning

* reran yarn
2022-10-13 23:18:30 +02: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 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 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