Commit Graph

352 Commits

Author SHA1 Message Date
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
dependabot[bot]
1ae498bcf1
Bump minimist from 1.2.5 to 1.2.6 (#361)
Bumps [minimist](https://github.com/substack/minimist) from 1.2.5 to 1.2.6.
- [Release notes](https://github.com/substack/minimist/releases)
- [Commits](https://github.com/substack/minimist/compare/1.2.5...1.2.6)

---
updated-dependencies:
- dependency-name: minimist
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-26 01:14:00 +01: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
efa2eddee9
Update cloud-runner-aws-pipeline.yml 2022-03-15 23:09:38 +00:00
Paul Pacheco
9358a3a890
feat: compatibility with self-hosted runners with SELinux (#355)
* feat: compatibility with self-hosted runners with SELinux

When using a self-hosted runner with SELinux (fedora)
volumes need to be mounted with ":z" in order to have write access

these flags are documented [here](https://docs.docker.com/storage/bind-mounts/#configure-the-selinux-label)

* Ensure folders are created

* use if instead of short circuit

* ts convention either inline or use braces

* Fix linting

* fix linting errors

Co-authored-by: Webber Takken <webber.nl@gmail.com>
2022-03-11 18:18:18 +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
Webber Takken
eb42a8c9b8
Update entrypoint.sh (#348)
if there is both a unity package and a test-project in one github repo, then the token generation process is created Library folder and then the build of the test project breaks. Requires a tilde to ignore Library folder in _activate-license.
Or need set the path ACTIVATE_LICENSE_PATH from the global ENV in runtime-action

Co-authored-by: Maxim Vorobyev <dolphinikk@gmail.com>
2022-02-26 19:08:42 +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
dependabot[bot]
9f13e1d9cf
Bump shelljs from 0.8.4 to 0.8.5 (#331)
Bumps [shelljs](https://github.com/shelljs/shelljs) from 0.8.4 to 0.8.5.
- [Release notes](https://github.com/shelljs/shelljs/releases)
- [Changelog](https://github.com/shelljs/shelljs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/shelljs/shelljs/compare/v0.8.4...v0.8.5)

---
updated-dependencies:
- dependency-name: shelljs
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Webber Takken <webber@takken.io>
2022-02-01 09:56:09 +01:00
dependabot[bot]
ec0cdeacc9
Bump tar from 6.1.0 to 6.1.11 (#330)
Bumps [tar](https://github.com/npm/node-tar) from 6.1.0 to 6.1.11.
- [Release notes](https://github.com/npm/node-tar/releases)
- [Changelog](https://github.com/npm/node-tar/blob/main/CHANGELOG.md)
- [Commits](https://github.com/npm/node-tar/compare/v6.1.0...v6.1.11)

---
updated-dependencies:
- dependency-name: tar
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-02-01 09:55:38 +01:00
Frostebite
03ae77dc7c
Cloud Runner v2 (#310) 2022-02-01 02:31:20 +00:00
dependabot[bot]
4e38a84fe7
Bump node-fetch from 2.6.1 to 2.6.7 (#324)
Bumps [node-fetch](https://github.com/node-fetch/node-fetch) from 2.6.1 to 2.6.7.
- [Release notes](https://github.com/node-fetch/node-fetch/releases)
- [Commits](https://github.com/node-fetch/node-fetch/compare/v2.6.1...v2.6.7)

---
updated-dependencies:
- dependency-name: node-fetch
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-01-25 23:54:22 +01: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
ninetyninereds
7871734e90
added projectPath parameter to running of git (#323) 2022-01-24 17:09:26 +01:00
dependabot[bot]
018e347c3d
Bump nanoid from 3.1.30 to 3.1.31 (#322)
Bumps [nanoid](https://github.com/ai/nanoid) from 3.1.30 to 3.1.31.
- [Release notes](https://github.com/ai/nanoid/releases)
- [Changelog](https://github.com/ai/nanoid/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ai/nanoid/compare/3.1.30...3.1.31)

---
updated-dependencies:
- dependency-name: nanoid
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-01-22 01:44:40 +01:00
dependabot[bot]
05e37305c1
Bump shelljs from 0.8.4 to 0.8.5 (#319)
Bumps [shelljs](https://github.com/shelljs/shelljs) from 0.8.4 to 0.8.5.
- [Release notes](https://github.com/shelljs/shelljs/releases)
- [Changelog](https://github.com/shelljs/shelljs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/shelljs/shelljs/compare/v0.8.4...v0.8.5)

---
updated-dependencies:
- dependency-name: shelljs
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-01-22 01:43:37 +01:00
David Finol
15a02a4b1b
Remove deprecated param from versioning (#315) 2022-01-02 19:02:45 -06: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
a3e783f430
Fix docs link (#301) 2021-11-29 00:55:31 +01: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
Michal Miškerník
e97ec82110
Use find instead of glob for changing file permissions (#293) 2021-10-22 01:03:21 +02:00
dependabot[bot]
8a836b81c5
Bump ansi-regex from 5.0.0 to 5.0.1 (#292)
Bumps [ansi-regex](https://github.com/chalk/ansi-regex) from 5.0.0 to 5.0.1.
- [Release notes](https://github.com/chalk/ansi-regex/releases)
- [Commits](https://github.com/chalk/ansi-regex/compare/v5.0.0...v5.0.1)

---
updated-dependencies:
- dependency-name: ansi-regex
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-09-25 22:41:11 +03:00
dependabot[bot]
1fa70bbbdf
Bump tmpl from 1.0.4 to 1.0.5 (#291)
Bumps [tmpl](https://github.com/daaku/nodejs-tmpl) from 1.0.4 to 1.0.5.
- [Release notes](https://github.com/daaku/nodejs-tmpl/releases)
- [Commits](https://github.com/daaku/nodejs-tmpl/commits/v1.0.5)

---
updated-dependencies:
- dependency-name: tmpl
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-09-25 22:38:43 +03: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
3ebdb0e678
Run license activation in an empty directory (#285) 2021-08-31 01:18:34 +02:00
dependabot[bot]
7d9f968d70
Bump path-parse from 1.0.6 to 1.0.7 (#282)
Bumps [path-parse](https://github.com/jbgutierrez/path-parse) from 1.0.6 to 1.0.7.
- [Release notes](https://github.com/jbgutierrez/path-parse/releases)
- [Commits](https://github.com/jbgutierrez/path-parse/commits/v1.0.7)

---
updated-dependencies:
- dependency-name: path-parse
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-08-11 23:50:32 +02:00
Webber Takken
70081d231f
Indicate how to support us (#277) 2021-07-12 19:28:11 +02:00
dependabot[bot]
36364461d5
Bump normalize-url from 4.5.0 to 4.5.1 (#275)
Bumps [normalize-url](https://github.com/sindresorhus/normalize-url) from 4.5.0 to 4.5.1.
- [Release notes](https://github.com/sindresorhus/normalize-url/releases)
- [Commits](https://github.com/sindresorhus/normalize-url/commits)

---
updated-dependencies:
- dependency-name: normalize-url
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-07-01 14:15:01 +02:00
David Finol
b66dffbf92
Projectpath error message (#274)
* Improve error message

* Improve error message
2021-07-01 06:38:44 -05:00
dependabot[bot]
2fc01a1db4
Bump ws from 6.2.1 to 6.2.2 (#269)
Bumps [ws](https://github.com/websockets/ws) from 6.2.1 to 6.2.2.
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/commits)

---
updated-dependencies:
- dependency-name: ws
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Webber Takken <webber@takken.io>
2021-06-06 00:01:42 +02: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
dependabot[bot]
71ca7bdbfc
Bump browserslist from 4.16.4 to 4.16.6 (#266)
Bumps [browserslist](https://github.com/browserslist/browserslist) from 4.16.4 to 4.16.6.
- [Release notes](https://github.com/browserslist/browserslist/releases)
- [Changelog](https://github.com/browserslist/browserslist/blob/main/CHANGELOG.md)
- [Commits](https://github.com/browserslist/browserslist/compare/4.16.4...4.16.6)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-26 12:19:42 +02:00
Frostebite
c96b8cf443
Remote builder refactoring (#264)
Remote builder refactoring
2021-05-23 05:08:40 +01:00
Webber Takken
9fff362775
Remove -nographics flag, ensure single -batchmode flag (#261)
* Remove -nographics flag, ensure -batchmode

* Remove explicit batch mode

* Add libnotify4 and bin for notify-send

* non-interactive frontend

* Move docker changes to base image (docker repo)
2021-05-22 21:07:54 +02:00
Zhou Xinwei
f0e18ea3a5
Fixed addressable build failing on Addressable 1.17.17+ (#262) 2021-05-20 17:51:54 +02:00
Webber Takken
947c8b8e20
Fix typo in issue template (#260) 2021-05-13 14:03:00 +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
e13a9f51e9 hotfix - use input parameter instead of env var 2021-05-01 22:25:10 +01:00