Git Product home page Git Product logo

unity-builder's Introduction

Unity - Builder

(Not affiliated with Unity Technologies)

GitHub Action to build Unity projects for different platforms.

Part of the GameCI open source project.

Builds - Ubuntu Builds - Windows Builds - MacOS codecov - test coverage

How to use

Find the docs on the GameCI documentation website.

Related actions

Visit the GameCI Unity Actions status repository for related Actions.

Community

Feel free to join us on Discord and engage with the community.

Contributing

To help improve the documentation, please find the docs repository.

To contribute to Unity Builder, kindly read the contribution guide.

Support us

GameCI is free for everyone forever.

You can support us at OpenCollective.

Licence

This repository is MIT licensed.

This includes all contributions from the community.

unity-builder's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

unity-builder's Issues

Wrong commit SHA on pull request

It seems that github.sha is not the commit actually triggering the workflow on a pull request, as described here

What that means is that the semantic versionning is then wrong : the number of commits and the commit SHA are both wrong.

This is not a major issue but it's kind of surprising if you use a "manual" local semantic versioning system, like we do. My editor tools tell me something and the builder something else.

https://github.com/webbertakken/unity-builder/blob/977683cd5ff023c7a8df7f4ad47623cdd5ed2158/src/model/versioning.js#L45

Android build error

Hi, I encountered this error when trying to build my project to android.
After import all assets build crash with error which I attached below
Is that a my mistake, or may be someone have any ideas or workarounds?

Scripts have compiler errors. 
19793
(Filename: ./Runtime/Utilities/Argv.cpp Line: 376)
19794

19795

19796
Aborting batchmode due to failure:
19797
Scripts have compiler errors.
19798

19799
[Performance] Application.InitializeProject                                 :        1 samples, Peak.  1.36 ks (1.0x), Avg.  1.36 ks, Total. 1.360 ks (99.9%)
19800
[Performance] Application.PackageManager.StartServer                        :        1 samples, Peak.  3.89 ms (1.0x), Avg.  3.89 ms, Total. 3.895 ms (0.0%)
19801
[Performance] Application.IsBrowserCacheEmpty                               :        1 samples, Peak.   710 us (1.0x), Avg.   710 us, Total. 709.6 us (0.0%)
19802
[Performance] Application.AcquireProjectLock                                :        1 samples, Peak.  2.37 ms (1.0x), Avg.  2.37 ms, Total. 2.371 ms (0.0%)
19803
[Performance] Application.InitializeEngineNoGraphics                        :        1 samples, Peak.   394 ms (1.0x), Avg.   394 ms, Total. 393.5 ms (0.0%)
19804
[Performance] Application.PackageManager.Initialize                         :        1 samples, Peak.   884 ms (1.0x), Avg.   884 ms, Total. 883.8 ms (0.1%)
19805
[Performance] CurlRequestCheck                                              :       18 samples, Peak.   213 us (5.4x), Avg.  39.7 us, Total. 713.8 us (0.0%)
19806
[Performance] PackageManager::RunRequestSynchronously                       :      621 samples, Peak.   565 us (27.8x), Avg.  20.3 us, Total. 12.61 ms (0.0%)
19807
[Performance] Application.EngineGraphics.Initialize                         :        1 samples, Peak.  2.33 s (1.0x), Avg.  2.33 s, Total. 2.332 s (0.2%)
19808
[Performance] Application.GI.Initialize                                     :        1 samples, Peak.   860 ms (1.0x), Avg.   860 ms, Total. 859.7 ms (0.1%)
19809
[Performance] Application.LoadAllDefaultResourcesFromEditor                 :        1 samples, Peak.  5.20 ms (1.0x), Avg.  5.20 ms, Total. 5.201 ms (0.0%)
19810
[Performance] Application.LoadMonoAssemblies                                :        1 samples, Peak.  3.67 s (1.0x), Avg.  3.67 s, Total. 3.674 s (0.3%)
19811
[Performance] ProcessService.EditorAfterLoadAllAssemblies                   :        3 samples, Peak.  57.9 ms (1.4x), Avg.  41.9 ms, Total. 125.8 ms (0.0%)
19812
[Performance] Application.ReadLicenseInfo                                   :        1 samples, Peak.  10.1 ms (1.0x), Avg.  10.1 ms, Total. 10.06 ms (0.0%)
19813
[Performance] Application.InitialScriptRefresh                              :        1 samples, Peak.   318 s (1.0x), Avg.   318 s, Total. 318.4 s (23.4%)
19814
[Performance] BuildCatalog                                                  :        2 samples, Peak.   324 ms (1.2x), Avg.   272 ms, Total. 544.5 ms (0.0%)
19815
[Performance] Application.AssetDatabase.Refresh                             :        1 samples, Peak.   997 s (1.0x), Avg.   997 s, Total. 996.6 s (73.2%)
19816
[Performance] SceneDataContainer.TransformHierarchyChangedSetParentCallback :    34131 samples, Peak.  89.3 us (101.8x), Avg.   877 ns, Total. 29.95 ms (0.0%)
19817
[Performance] SceneVisibilityState.IsFlagSetInParents                       :   106275 samples, Peak.  88.5 us (178.3x), Avg.   496 ns, Total. 52.76 ms (0.0%)
19818
[Performance] Application.ImportAssetsWithMismatchingAssetImporterVersion   :        1 samples, Peak.   552 ms (1.0x), Avg.   552 ms, Total. 552.1 ms (0.0%)
19819
[Performance] Application.SyncCurrentColorSpace                             :        1 samples, Peak.   179 ms (1.0x), Avg.   179 ms, Total. 178.9 ms (0.0%)
19820
[Performance] Application.OnUsbDevicesChanged                               :        1 samples, Peak.  10.2 us (1.0x), Avg.  10.2 us, Total. 10.20 us (0.0%)
19821
[Performance] Application.AssetDatabase.SaveAssets                          :        1 samples, Peak.   498 ms (1.0x), Avg.   498 ms, Total. 498.0 ms (0.0%)
19822
[Performance] Application.AssetInstanceCacheUpdate                          :        1 samples, Peak.   300 ns (1.0x), Avg.   300 ns, Total. 300.0 ns (0.0%)
19823
[Performance] Application.UnityExtensions.Initialize                        :        1 samples, Peak.  2.90 ms (1.0x), Avg.  2.90 ms, Total. 2.903 ms (0.0%)
19824
[Performance] Application.InitializeManagedCompilationPipeline              :        1 samples, Peak.   195 ms (1.0x), Avg.   195 ms, Total. 195.0 ms (0.0%)
19825
[Performance] Application.ExecuteStartups                                   :        1 samples, Peak.   236 ms (1.0x), Avg.   236 ms, Total. 235.7 ms (0.0%)
19826
[Performance] Application.RebuildOSMenu                                     :        1 samples, Peak.  74.4 ms (1.0x), Avg.  74.4 ms, Total. 74.40 ms (0.0%)
19827
[Performance] UpdateAllMenus                                                :        1 samples, Peak.  74.4 ms (1.0x), Avg.  74.4 ms, Total. 74.39 ms (0.0%)
19828
[Performance] Application.editorInitializingProject                         :        1 samples, Peak.  29.3 us (1.0x), Avg.  29.3 us, Total. 29.30 us (0.0%)
19829
[Performance] GUIView.RepaintAll.PlayerLoopController                       :        1 samples, Peak.   900 ns (1.0x), Avg.   900 ns, Total. 900.0 ns (0.0%)
19830
[Performance] Application.InvokeFinishedLoadingProject                      :        1 samples, Peak.  70.5 ms (1.0x), Avg.  70.5 ms, Total. 70.49 ms (0.0%)
19831
[Performance] ProcessService.OnProjectLoaded                                :        1 samples, Peak.  56.9 ms (1.0x), Avg.  56.9 ms, Total. 56.93 ms (0.0%)
19832
Cleanup mono
19833
debugger-agent: Unable to listen on 38
19834
geForIconForExtension
19835
./Editor/Platform/Linux/TempStubs.cpp:PlatformImageForIconForExtension
19836
./Editor/Platform/Linux/TempStubs.cpp:PlatformImageForIconForExtension
19837
./Editor/Platform/Linux/TempStubs.cpp:PlatformImageForIconForExtension
19838
./Editor/Platform/Linux/TempStubs.cpp:PlatformImageForIconForExtension
19839
./Editor/Platform/Linux/TempStubs.cpp:PlatformImageForIconForExtension
19840
./Editor/Platform/Linux/TempStubs.cpp:PlatformImageForIconForExtension
19841
./Editor/Platform/Linux/TempStubs.cpp:PlatformImageForIconForExtension
19842
./Editor/Platform/Linux/TempStubs.cpp:PlatformImageForIconForExtension
19843
./Editor/Platform/Linux/TempStubs.cpp:PlatformImageForIconForExtension
19844
./Editor/Platform/Linux/TempStubs.cpp:PlatformImageForIconForExtension
19845
./Editor/Platform/Linux/TempStubs.cpp:PlatformImageForIconForExtension
19846
./Editor/Platform/Linux/TempStubs.cpp:PlatformImageForIconForExtension
19847
./Editor/Platform/Linux/TempStubs.cpp:PlatformImageForIconForExtension
19848
./Editor/Platform/Linux/TempStubs.cpp:PlatformImageForIconForExtension
19849
./Editor/Platform/Linux/TempStubs.cpp:PlatformImageForIconForExtension
19850
./Editor/Platform/Linux/TempStubs.cpp:PlatformImageForIconForExtension
19851
./Editor/Platform/Linux/TempStubs.cpp:PlatformImageForIconForExtension
19852
./Editor/Platform/Linux/TempStubs.cpp:PlatformImageForIconForExtension
19853
./Editor/Platform/Linux/TempStubs.cpp:PlatformImageForIconForExtension
19854
./Editor/Platform/Linux/TempStubs.cpp:PlatformImageForIconForExtension
19855
./Editor/Platform/Linux/TempStubs.cpp:PlatformImageForIconForExtension
19856
./Editor/Platform/Linux/TempStubs.cpp:PlatformImageForIconForExtension
19857
./Editor/Platform/Linux/TempStubs.cpp:PlatformImageForIconForExtension
19858
./Editor/Platform/Linux/TempStubs.cpp:PlatformImageForIconForExtension
19859
./Editor/Platform/Linux/TempStubs.cpp:PlatformImageForIconForExtension
19860
./Editor/Platform/Linux/TempStubs.cpp:PlatformImageForIconForExtension
19861
./Editor/Platform/Linux/TempStubs.cpp:PlatformImageForIconForExtension
19862
./Editor/Platform/Linux/TempStubs.cpp:PlatformImageForIconForExtension
19863
./Editor/Platform/Linux/TempStubs.cpp:PlatformImageForIconForExtension
19864
./Editor/Platform/Linux/TempStubs.cpp:PlatformImageForIconForExtension
19865
./Editor/Platform/Linux/TempStubs.cpp:PlatformImageForIconForExtension
19866
./Editor/Platform/Linux/TempStubs.cpp:PlatformImageForIconForExtension
19867
./Editor/Platform/Linux/TempStubs.cpp:PlatformImageForIconForExtension
19868
./Editor/Platform/Linux/TempStubs.cpp:PlatformImageForIconForExtension
19869
./Editor/Platform/Linux/TempStubs.cpp:PlatformImageForIconForExtension
19870
./Editor/Platform/Linux/TempStubs.cpp:PlatformImageForIconForExtension
19871
./Editor/Platform/Linux/TempStubs.cpp:PlatformImageForIconForExtension
19872
./Editor/Platform/Linux/TempStubs.cpp:PlatformImageForIconForExtension
19873
Compressing using quality level 127
19874
./Editor/Platform/Linux/UsbDevices.cpp:UsbDevicesQuery
19875
Build failed, with exit code 1
19876

2019.4.8f1 builds are empty, but reported as success

After upgrading my Unity version (with no other changes to my use of unity-actions), now build output looks like this:

###########################
#    Building platform    #
###########################

2019.4.8f1 (60781d942082)
Build succeeded

###########################
#     Build directory     #
###########################

total 8.0K
drwxr-xr-x 2 root root 4.0K Aug 15 13:25 .
drwxr-xr-x 3 root root 4.0K Aug 15 13:25 ..

I encountered this by using unityVersion: 2019.4.8f1, but you can reproduce the underlying issue more directly by trying the -version flag at the command line:

$ docker pull gableroux/unity3d:2019.4.8f1-linux-il2cpp
$ docker run -it --rm gableroux/unity3d:2019.4.8f1-linux-il2cpp
# /opt/Unity/Editor/Unity -batchmode -version "v1.0" -logfile /dev/stdout
2019.4.8f1 (60781d942082)

It appears that -version is interpreted by the Unity CLI to print its own version, rather than provide a version for the build.

When it's not provided, Unity continues to start up as normal:

# /opt/Unity/Editor/Unity -batchmode -logfile /dev/stdout
[LicensingClient] ERROR Failed to connect to local IPC
[Licensing::Module] Failed to connect to channel: LicenseClient-root
[Licensing::Module] Successfully launched the LicensingClient
[SignatureVerifier] Application signature verification not supported on this platform.
[Licensing::Module] Successfully connected to LicensingClient on channel: LicenseClient-root
[Licensing::Module] Successfully launched and connected to LicensingClient
Entitlement-based licensing initiated
[LicensingClient] Licenses Updated successfully in LicensingClient
Error opening default X display
(Filename: ./Editor/Platform/Linux/X11Quarantine.cpp Line: 33)

(This failure is expected, as I didn't set up an X server for this test.)

I couldn't find any mention of a -version flag even in the 2019.3 docs, so I'm not sure what the best solution is here.

Many thanks for this project! It's been exceptionally handy for a game side project. ๐Ÿ˜„

Is committing the Library folder required for this action to work?

Hi friends, sorry for the potentially naive question.

I think I was able to glean this from what your docs suggest, but I wanted to confirm, this action is not able to build without me first committing my projectRoot/Library folder correct?

The reason I ask is that my team had been using the .gitignore file found here: https://github.com/github/gitignore/blob/master/Unity.gitignore which explicitly ignores the Library folder.

We're new to unity so there perhaps there is a best practice we're missing, but it seems like we would have to choose between committing the heavy Library folder so we can have a build pipeline, or keeping the repo light and building ourselves.

Thanks in advance!

Passing along a configuration that worked.

Greetings,
After changing to the newest [email protected] I was able to download the right Unity version (2019.2.14f1) for my project. The build itself still did not work, however, so I figured out how the underlying Docker images worked, and ran it locally on my Mac. I had a similar problem that was due to LFS not working, which made me wonder if LFS was being used on the checkouts. It turns out that's a newer feature of the checkout action, so I turned on LFS for my builds, and it worked.

This is my working build file (after removing the manual-activation step, as it's not necessary after I've set the UNITY_LICENSE secret).

name: Unity - Builder

on:
  pull_request: {}
  push: { branches: [master] }

env:
  UNITY_LICENSE: ${{ secrets.UNITY_LICENSE }}

jobs:
  buildForSomePlatforms:
    name: Build for ${{ matrix.targetPlatform }} on version ${{ matrix.unityVersion }}
    runs-on: ubuntu-latest
    strategy:
      fail-fast: false
      matrix:
        projectPath:
          - .
        unityVersion:
          - 2019.2.14f1
        targetPlatform:
          - StandaloneOSX # Build a macOS standalone (Intel 64-bit).
          - StandaloneWindows64 # Build a Windows 64-bit standalone.
    steps:
      - uses: actions/checkout@v2
        with:
          lfs: true
      - uses: webbertakken/unity-builder@master
        with:
          projectPath: ${{ matrix.projectPath }}
          unityVersion: ${{ matrix.unityVersion }}
          targetPlatform: ${{ matrix.targetPlatform }}
          buildName: PowerOffense-${{ matrix.targetPlatform }}
      - uses: actions/upload-artifact@v1
        with:
          name: Build
          path: build

I hope it helps as an example of what can work.

A few details; it uses buildName to put the apps name in the resultant build's executable. It uses LFS, which...SO FAR appears to be 'free' when running on GitHub's own servers. It does NOT cache the Library yet; I'll try that in a day or so. It uses checkout@v2. It uses . as the project path, since the repo has the project in the root directory.

Anyway, thanks VERY MUCH for these tools, and your help getting it working!

Use ProjectSettings/ProjectVersion.txt

Context

When using Unity Hub it manages the Unity version in ProjectSettings/ProjectVersion.txt and automatically updates it when you change the version in Unity Hub.

I think it would be good to support this as an alternative to explicitly declaring the version in with.unityVersion on the builder action.

Suggested solution

This should probably be opt-in. unityVersion could accept a special value indicating to read {projectPath }/ProjectSettings/ProjectVersion.txt for the Unity version in m_EditorVersion.

Explain recommended action when branch is dirty

The message from builder when the branch is dirty currently outputs this

##[error]Branch is dirty. Refusing to base semantic version on uncommitted changes

It would be better if it also includes an explanation of why a branch should usually not be dirty, and offer the possibility of the allowDirtyBuild flag, referring to the readme.

Dirty

Dirty means that you have made changes after you have ran the checkout job.
If you don't mean to change files, it's better to check what is going on first, and fix that instead of using the allowDirtyBuild flag.

Unity test runner

In version [email protected] the artifacts folder is not yet deleted. For making it delete the artifacts folder there is game-ci/unity-test-runner#58 in test-runner

Custom versioning strategy - is it supposed to set app bundle?

Hey! I'm using this action and it's awesome.

I'm trying an action for handling versions and changelogs, so I want to use custom versioning strategy in the Unity Builder.

Here's part of my setup:

        # Generate changelog with conventional commits
        - name: Conventional Changelog Action
          id: changelog
          uses: TriPSs/conventional-changelog-action@v3
          with:
            github-token: ${{ secrets.github_token }}
            skip-commit: "true"
            output-file: "false"

        # Build APK
        - name: Build APK with Unity
          uses: webbertakken/[email protected]
          with:
            versioning: Custom
            version: ${{ steps.changelog.outputs.tag }}
            projectPath: ${{ matrix.projectPath }}
            unityVersion: ${{ matrix.unityVersion }}
            targetPlatform: ${{ matrix.targetPlatform }}
            buildsPath: build
            buildName: androidbuild

My questions are:

  • Am I using the correct inputs? Docs mention the version field but there's no example.
  • What is that value used for? I created APKs and the app bundle is still 0.1, which is the default value in the Unity project settings. Should this value be overriden by Unity Builder versioning? I don't understand what this is used for. I'm uploading the builds to AppCenter and later will go to the stores and I'd like them to get the version number from Unity Builder.

UNITY_LICENSE secret cannot activate across forks

I am creating a new issue to discuss the problem of Unity license activation not working across forked repositories. As @webbertakken has mentioned, this may be due to nuanced interaction of secrets and protected branches, and it may be worth documenting that this is a known issue and to find any workarounds.

Segmentation fault (core dumped)

License OK.
Unity 2020.1.0b12 beta

Probably because too recent unity version ? Tried to retrograde to LTS 2019 but it break my scenes (unable to load scenes ...).
Any idea to get more details or a solution ?

###########################

Building platform

###########################

[Licensing::Module] Channel doesn't exist: "LicenseClient-root"
[Licensing::Module] Successfully launched the LicensingClient (PId: 74)
[Licensing::Module] Successfully connected to LicensingClient on channel: "LicenseClient-root"
[SignatureVerifier] Application signature verification not supported on this platform.
Entitlement-based licensing initiated
[LicensingClient] Licenses updated successfully
Segmentation fault (core dumped)
Build failed, with exit code 139

Add `customImage` parameter

Context

At the time of writing, some images from upstream are not working.

Suggested solution

Add a parameter to Unity Builder called customImage that accepts any docker image (and thus overrides unityVersion behaviour), so that custom hashes can be used.

This would solve the faulty android images problem short term, and add a valuable feature for the long term as well.

Considered alternatives

We've been trying to get these android images going again by republishing the correct NDK, SDK etc. Follow main thread and separate PoC to help in our current attempts.

Error code 139

Hello. Every time my workflow tries running unity builder, docker keeps failing on exit code 139. According to google, docker throwing 139 is a segmentation fault.

For me, the issue is reproducible simply by running the action, so I am also linking my project repo and providing the workflow I was using.

DeepinScreenshot_select-area_20200920154714

name: Unity3D
on:
  push:
    branches:
      - alpha
      - beta
      - master
  workflow_dispatch:
    branches:
      - alpha
env:
  PROJECT_PATH: ./MarloRunner
  BUILD_NAME: MarloRunner
  RELEASE_NAME: Marlo Runner
jobs:
build:
    name: Build - ${{ matrix.targetPlatform }} - Unity ver. ${{ matrix.unityVersion }}
    needs: initialize
    runs-on: ubuntu-latest
    strategy:
      fail-fast: false
      matrix:
        unityVersion:
          - 2020.1.0f1
        targetPlatform:
          - StandaloneLinux64
          #- StandaloneWindows64
          #- StandaloneWindows
          #- StandaloneOSX
    steps:
      - name: Checkout
        uses: actions/checkout@v2
        with:
          lfs: true
      - name: Download Config
        uses: actions/download-artifact@v2
        with:
          name: unity3d.config
      - name: Get Version
        id: version
        uses: ashley-taylor/[email protected]
        with:
          path: unity3d.config
          property: version
      - name: Cache
        uses: actions/cache@v2
        with:
          path: ${{ env.PROJECT_PATH }}/Library
          key: Library-${{ env.PROJECT_PATH }}-${{ matrix.targetPlatform }}
          restore-keys: |
            Library-${{ env.PROJECT_PATH }}-
            Library-
      - name: Build
        uses: webbertakken/[email protected]
        env:
          UNITY_LICENSE: ${{ secrets.UNITY_LICENSE }}
        with:
          buildsPath: bin
          projectPath: ${{ env.PROJECT_PATH }}
          buildName: ${{ env.BUILD_NAME }}
          version: ${{ steps.version.outputs.value }}
          versioning: Custom
          unityVersion: ${{ matrix.unityVersion }}
          targetPlatform: ${{ matrix.targetPlatform }}
      - name: Archive
        uses: actions/upload-artifact@v2
        with:
          name: ${{ env.BUILD_NAME }}-${{ matrix.targetPlatform }}-${{ matrix.unityVersion }}
          path: bin/${{ env.BUILD_NAME }}

https://github.com/juliansangillo/marlo-runner

Thanks!

The build doesn't build the scene

It builds ok in windows manually, but when i try to build with this action:

image

How can i know what's happening?

I think its not building the scenes, because the build its 20mb and the one that i build in windows its > 60mb

image

/github/workspace/./ogirdor/game
-buildTarget
StandaloneWindows64
-customBuildTarget
StandaloneWindows64
-customBuildPath
/github/workspace/build/StandaloneWindows64/StandaloneWindows64.exe
-executeMethod
UnityBuilderAction.Builder.BuildProject
-versioning

##[error]The process '/usr/bin/docker' failed with exit code 1

Hello, big beginner here.
I try the following things and got this error:
##[error]The process '/usr/bin/docker' failed with exit code 1

I'm not sure why or how to fix it.

name: Actions ๐Ÿ˜Ž

on:
  pull_request: {}
  push: { branches: [master] }

env:
  UNITY_LICENSE: "<?xml version=\"1.0\" encoding=\"UTF-8\"?><root>\n    <License id=\"Terms\">\n        <MachineBindings>\n            <Binding Key=\"1\" Value=\"d39b8e2f4d364b2e98b06afa0c6e08c5\"/>\n            <Binding Key=\"2\" Value=\"d39b8e2f4d364b2e98b06afa0c6e08c5\"/>\n        </MachineBindings>\n        <MachineID Value=\"Xxo1ZKbdPu/IATrc0mPBYANJFF0=\"/>\n        <SerialHash Value=\"1efd68fa935192b6090ac03c77d289a9f588c55a\"/>\n        <Features>\n            <Feature Value=\"33\"/>\n            <Feature Value=\"1\"/>\n            <Feature Value=\"12\"/>\n            <Feature Value=\"2\"/>\n            <Feature Value=\"24\"/>\n            <Feature Value=\"3\"/>\n            <Feature Value=\"36\"/>\n            <Feature Value=\"17\"/>\n            <Feature Value=\"19\"/>\n            <Feature Value=\"62\"/>\n        </Features>\n        <DeveloperData Value=\"AQAAAEY0LUg2WFMtUE00NS1SM0M4LUUyWlotWkdWOA==\"/>\n        <SerialMasked Value=\"F4-H6XS-PM45-R3C8-E2ZZ-XXXX\"/>\n        <StartDate Value=\"2018-05-02T00:00:00\"/>\n        <UpdateDate Value=\"2019-11-25T18:23:38\"/>\n        <InitialActivationDate Value=\"2018-05-02T14:21:28\"/>\n        <LicenseVersion Value=\"6.x\"/>\n        <ClientProvidedVersion Value=\"2019.2.11f1\"/>\n        <AlwaysOnline Value=\"false\"/>\n        <Entitlements>\n            <Entitlement Ns=\"unity_editor\" Tag=\"UnityPersonal\" Type=\"EDITOR\" ValidTo=\"9999-12-31T00:00:00\"/>\n        </Entitlements>\n    </License>\n<Signature xmlns=\"http://www.w3.org/2000/09/xmldsig#\"><SignedInfo><CanonicalizationMethod Algorithm=\"http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments\"/><SignatureMethod Algorithm=\"http://www.w3.org/2000/09/xmldsig#rsa-sha1\"/><Reference URI=\"#Terms\"><Transforms><Transform Algorithm=\"http://www.w3.org/2000/09/xmldsig#enveloped-signature\"/></Transforms><DigestMethod Algorithm=\"http://www.w3.org/2000/09/xmldsig#sha1\"/><DigestValue>JHdOBFmBNq2H8BrGFzir/StLoYo=</DigestValue></Reference></SignedInfo><SignatureValue>aENLHd37a51RtP2/g7YU0Pexf5mx0/ENXYGtrPzqwZ8NQt2AsSdxGnl0CUB45/GuNXfJVDt2HWot\ncNYZB2OylVBn1WHQbKZlPmm8gEAMz0MYbr4Isb5i5buryBrZlmbEOjnRI+pEg1CBwlgMo6xdtjjE\n/d7cC293QIUO91kdzRXftYou1dNaUyuPL9ZH65vdB2pDXGRNxgUVD+GnnqZA7b5L2HXqNQclcWAK\n5Yd1BeF3VzR1iLw9G/SmH5oOhnpXSmqbL4qk7LVP2/mgXpFk5kP4X8VC3z47obNhBIGq40dwWyEe\nUYk5/nRAOkZawDT+tcu96e06gPC9Cxk5PdbRbA==</SignatureValue></Signature></root>"

jobs:
  readmeWorkflow:
    name: Readme Workflow โœจ
    runs-on: ubuntu-latest
    steps:
      # Checkout
      - name: Checkout repository
        uses: actions/checkout@v2
        with:
          lfs: true

      # Cache
      - uses: actions/[email protected]
        with:
          path: ./Library
          key: Library-test-project-StandaloneWindows

      # Test
      #- name: Run tests
       # uses: webbertakken/[email protected]
        #with:
          #unityVersion: 2019.2.11f1

      # Build
      - name: Build project
        uses: webbertakken/[email protected]
        with:
          unityVersion: 2019.2.11f1
          targetPlatform: StandaloneWindows

      # Output
      - uses: actions/upload-artifact@v1
        with:
          name: Build
          path: build

Android build fails with access denied error running Android SDK

Bug description

When building with this action for Android, the build fails due to being unable to execute the Android SDK

Win32Exception: ApplicationName='/opt/Unity/Editor/Data/PlaybackEngines/AndroidPlayer/SDK/tools/bin/sdkmanager', CommandLine='--list', CurrentDirectory='/github/workspace/cafe-map/client/unity', Native error= Access denied

How to reproduce

GitHub Action Run: https://github.com/curioswitch/curiostack/runs/1304213993?check_suite_focus=true
Workflow: https://github.com/curioswitch/curiostack/blob/master/.github/workflows/unity-build-cafemap.yml
Code: https://github.com/curioswitch/curiostack/tree/master/cafe-map/client/unity

Expected behavior

The build succeeds and an APK is created

Additional details

I tried running the command in docker locally

docker run -it --rm gableroux/unity3d:2019.4.12f1-android
/opt/Unity/Editor/Data/PlaybackEngines/AndroidPlayer/SDK/tools/bin/sdkmanager --list

and it works fine so surprised to see an access denied on the CI.

Unable to run unity-builder from an organization

Problem Description:
When running unity builder from a PR in an organization repository, unity-builder action cannot find the origin remote.

Error Message:

##[warning]fatal: ambiguous argument 'origin/continuous-integration': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'

##[error]Failed to run "git rev-list --count origin/continuous-integration".
 In-command error caught: Error: The process '/usr/bin/git' failed with exit code 128

Entire job log:

 ##[warning]
      Library folder does not exist.
      Consider setting up caching to speed up your workflow,
      if this is not your first build.
    
##[warning]From https://github.com/rubin-studios/card-game
 * [new branch]      develop    -> origin/develop
 * [new branch]      master     -> origin/master

/bin/sh
0
0

##[warning]fatal: ambiguous argument 'origin/continuous-integration': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'

##[error]Failed to run "git rev-list --count origin/continuous-integration".
 In-command error caught: Error: The process '/usr/bin/git' failed with exit code 128

Desired Behaviour:
The unity-builder action should be able to run from an organization repository, within a pull request from a fork.

[failed with exit code 134] Not able to build project

Hello guys,
I decided to give CI a go for the first time, and I've stumbled upon an issue that's stopping me from building.

Aborting batchmode due to failure:
Scripts have compiler errors.

/home/builduser/buildslave/unity/build/PlatformDependent/Linux/External/baselib/builds/Include/C/Baselib_ThreadLocalStorage.inl.h(12): Assertion failed (rc == 0)
Caught fatal signal - signo:5 code:128 errno:0 addr:(nil)
/home/builduser/buildslave/unity/build/PlatformDependent/Linux/External/baselib/builds/Include/C/Baselib_ThreadLocalStorage.inl.h(12): Assertion failed (rc == 0)
Caught fatal signal - signo:5 code:128 errno:0 addr:(nil)
Obtained 5 stack frames.
#0  0x00562bb4b30c46 in AudioManager::EngineThreadStarted(char const*)
#1  0x00562bb4b309a5 in AudioManager::systemCallback(FMOD_SYSTEM*, FMOD_SYSTEM_CALLBACKTYPE, void*, void*)
#2  0x00562bb89224b4 in FMOD::Thread::callback(void*)
#3  0x007f625f5bc6db in start_thread
#4  0x007f625f2e588f in clone
Aborted (core dumped)
Build failed, with exit code 134

I've quite a big project, and I've seen this issue posted on here before but, that would require me having to start my project again (which would be a real pain).

Unity builds do not render certain assets

Hello,

So for some reason when my team runs the builds that come from the Github action, we find that some of our 3D models do not render but they create shadows, are able to be collided into and there are no errors thrown. This issue does not happen when we do a local build.

Any suggestions for how to fix this would be appreciated and happy to provide more details for further clarification. Here is a reference image for the issue I described above. Thanks :D

image

Default unityVersion to the branch's m_EditorVersion in ProjectVersion.txt

I have working code (pretty simple) to read m_EditorVersion from ProjectSettings\ProjectVersion.txt. I'm using this as the input to with: unityVersion. Something like this could be the default if unityVersion is not specified. Any thoughts on that? Seems to be in keeping with the goal of having things work out of the box, but maybe you want to avoid parsing this file? Maybe in production people want to use a constant version to build binaries, but you'd think they'd be developing with that version too, right? It looks like the ProjectVersion.txt file has been around for a while (at least 2015), and is automatically updated by Unity when you upgrade. What do you think?

Cannot find Android SDK Tools on ubuntu-18.04 version 20200717.1

It was working on

Virtual Environment
  Environment: ubuntu-18.04
  Version: 20200625.0

But now, it doesn't work on

Virtual Environment
  Environment: ubuntu-18.04
  Version: 20200717.1

Note, that I haven't changed anything in my ci.yml. I just rerun the previously successful job. The exception I'm getting on the step:

Run webbertakken/[email protected]
  with:
    unityVersion: 2019.3.2f1
    targetPlatform: Android
Detected outdated SDK Tools version 0.0 when the min version is 26.1.1
 File /root/.android/repositories.cfg could not be loaded.
UnityEngine.DebugLogHandler:Internal_Log(LogType, LogOption, String, Object)
UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[])
UnityEngine.Logger:Log(LogType, Object)
UnityEngine.Debug:LogWarning(Object)
UnityEditor.Android.AndroidSDKTools:DetectErrorsAndWarnings(String, String)
UnityEditor.Android.AndroidSDKTools:RunAndroidSdkTool(String, String, Boolean, String, String)
UnityEditor.Android.AndroidSDKTools:RunAndroidSdkTool(String, String, Boolean, String)
UnityEditor.Android.AndroidSDKTools:UpdateSDK()
UnityEditor.Android.PostProcessor.Tasks.SDKComponentDetector:Update(AndroidSDKTools, Version, ProgressHandler)
UnityEditor.Android.PostProcessor.Tasks.CheckAndroidSDK:EnsureSDKComponentVersion(Version, SDKComponentDetector)
UnityEditor.Android.PostProcessor.Tasks.CheckAndroidSDK:Execute(PostProcessorContext)
UnityEditor.Android.PostProcessor.PostProcessRunner:RunAllTasks(PostProcessorContext)
UnityEditor.Android.PostProcessAndroidPlayer:PrepareForBuild(BuildOptions, BuildTarget)
UnityEditor.Android.AndroidBuildPostprocessor:PrepareForBuild(BuildOptions, BuildTarget)
UnityEditor.PostprocessBuildPlayer:PrepareForBuild(BuildOptions, BuildTargetGroup, BuildTarget) (at /home/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline/PostprocessBuildPlayer.cs:149)
UnityEditor.BuildPipeline:BuildPlayerInternalNoCheck(String[], String, String, BuildTargetGroup, BuildTarget, BuildOptions, Boolean)
UnityEditor.BuildPipeline:BuildPlayerInternal(String[], String, String, BuildTargetGroup, BuildTarget, BuildOptions) (at /home/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline.bindings.cs:376)
UnityEditor.BuildPipeline:BuildPlayer(String[], String, String, BuildTargetGroup, BuildTarget, BuildOptions) (at /home/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline.bindings.cs:275)
UnityEditor.BuildPipeline:BuildPlayer(BuildPlayerOptions) (at /home/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline.bindings.cs:258)
UnityEditor.BuildPipeline:BuildPlayer(EditorBuildSettingsScene[], String, BuildTarget, BuildOptions) (at /home/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline.bindings.cs:241)
BuildScript:BuildPlayer(BuildOptions, String) (at Assets/Editor/BuildScript.cs:35)
BuildScript:ExportGradleProd() (at Assets/Editor/BuildScript.cs:29)

Build crash Linux/UsbDevices.cpp:UsbDevicesQuery

Hi, I encountered this error when trying to build my project to android.
After import all assets build crash with error which I attached below
Is that a my mistake, or may be someone have any ideas or workarounds?

Scripts have compiler errors. 
19793
(Filename: ./Runtime/Utilities/Argv.cpp Line: 376)
19794

19795

19796
Aborting batchmode due to failure:
19797
Scripts have compiler errors.
19798

19799
[Performance] Application.InitializeProject                                 :        1 samples, Peak.  1.36 ks (1.0x), Avg.  1.36 ks, Total. 1.360 ks (99.9%)
19800
[Performance] Application.PackageManager.StartServer                        :        1 samples, Peak.  3.89 ms (1.0x), Avg.  3.89 ms, Total. 3.895 ms (0.0%)
19801
[Performance] Application.IsBrowserCacheEmpty                               :        1 samples, Peak.   710 us (1.0x), Avg.   710 us, Total. 709.6 us (0.0%)
19802
[Performance] Application.AcquireProjectLock                                :        1 samples, Peak.  2.37 ms (1.0x), Avg.  2.37 ms, Total. 2.371 ms (0.0%)
19803
[Performance] Application.InitializeEngineNoGraphics                        :        1 samples, Peak.   394 ms (1.0x), Avg.   394 ms, Total. 393.5 ms (0.0%)
19804
[Performance] Application.PackageManager.Initialize                         :        1 samples, Peak.   884 ms (1.0x), Avg.   884 ms, Total. 883.8 ms (0.1%)
19805
[Performance] CurlRequestCheck                                              :       18 samples, Peak.   213 us (5.4x), Avg.  39.7 us, Total. 713.8 us (0.0%)
19806
[Performance] PackageManager::RunRequestSynchronously                       :      621 samples, Peak.   565 us (27.8x), Avg.  20.3 us, Total. 12.61 ms (0.0%)
19807
[Performance] Application.EngineGraphics.Initialize                         :        1 samples, Peak.  2.33 s (1.0x), Avg.  2.33 s, Total. 2.332 s (0.2%)
19808
[Performance] Application.GI.Initialize                                     :        1 samples, Peak.   860 ms (1.0x), Avg.   860 ms, Total. 859.7 ms (0.1%)
19809
[Performance] Application.LoadAllDefaultResourcesFromEditor                 :        1 samples, Peak.  5.20 ms (1.0x), Avg.  5.20 ms, Total. 5.201 ms (0.0%)
19810
[Performance] Application.LoadMonoAssemblies                                :        1 samples, Peak.  3.67 s (1.0x), Avg.  3.67 s, Total. 3.674 s (0.3%)
19811
[Performance] ProcessService.EditorAfterLoadAllAssemblies                   :        3 samples, Peak.  57.9 ms (1.4x), Avg.  41.9 ms, Total. 125.8 ms (0.0%)
19812
[Performance] Application.ReadLicenseInfo                                   :        1 samples, Peak.  10.1 ms (1.0x), Avg.  10.1 ms, Total. 10.06 ms (0.0%)
19813
[Performance] Application.InitialScriptRefresh                              :        1 samples, Peak.   318 s (1.0x), Avg.   318 s, Total. 318.4 s (23.4%)
19814
[Performance] BuildCatalog                                                  :        2 samples, Peak.   324 ms (1.2x), Avg.   272 ms, Total. 544.5 ms (0.0%)
19815
[Performance] Application.AssetDatabase.Refresh                             :        1 samples, Peak.   997 s (1.0x), Avg.   997 s, Total. 996.6 s (73.2%)
19816
[Performance] SceneDataContainer.TransformHierarchyChangedSetParentCallback :    34131 samples, Peak.  89.3 us (101.8x), Avg.   877 ns, Total. 29.95 ms (0.0%)
19817
[Performance] SceneVisibilityState.IsFlagSetInParents                       :   106275 samples, Peak.  88.5 us (178.3x), Avg.   496 ns, Total. 52.76 ms (0.0%)
19818
[Performance] Application.ImportAssetsWithMismatchingAssetImporterVersion   :        1 samples, Peak.   552 ms (1.0x), Avg.   552 ms, Total. 552.1 ms (0.0%)
19819
[Performance] Application.SyncCurrentColorSpace                             :        1 samples, Peak.   179 ms (1.0x), Avg.   179 ms, Total. 178.9 ms (0.0%)
19820
[Performance] Application.OnUsbDevicesChanged                               :        1 samples, Peak.  10.2 us (1.0x), Avg.  10.2 us, Total. 10.20 us (0.0%)
19821
[Performance] Application.AssetDatabase.SaveAssets                          :        1 samples, Peak.   498 ms (1.0x), Avg.   498 ms, Total. 498.0 ms (0.0%)
19822
[Performance] Application.AssetInstanceCacheUpdate                          :        1 samples, Peak.   300 ns (1.0x), Avg.   300 ns, Total. 300.0 ns (0.0%)
19823
[Performance] Application.UnityExtensions.Initialize                        :        1 samples, Peak.  2.90 ms (1.0x), Avg.  2.90 ms, Total. 2.903 ms (0.0%)
19824
[Performance] Application.InitializeManagedCompilationPipeline              :        1 samples, Peak.   195 ms (1.0x), Avg.   195 ms, Total. 195.0 ms (0.0%)
19825
[Performance] Application.ExecuteStartups                                   :        1 samples, Peak.   236 ms (1.0x), Avg.   236 ms, Total. 235.7 ms (0.0%)
19826
[Performance] Application.RebuildOSMenu                                     :        1 samples, Peak.  74.4 ms (1.0x), Avg.  74.4 ms, Total. 74.40 ms (0.0%)
19827
[Performance] UpdateAllMenus                                                :        1 samples, Peak.  74.4 ms (1.0x), Avg.  74.4 ms, Total. 74.39 ms (0.0%)
19828
[Performance] Application.editorInitializingProject                         :        1 samples, Peak.  29.3 us (1.0x), Avg.  29.3 us, Total. 29.30 us (0.0%)
19829
[Performance] GUIView.RepaintAll.PlayerLoopController                       :        1 samples, Peak.   900 ns (1.0x), Avg.   900 ns, Total. 900.0 ns (0.0%)
19830
[Performance] Application.InvokeFinishedLoadingProject                      :        1 samples, Peak.  70.5 ms (1.0x), Avg.  70.5 ms, Total. 70.49 ms (0.0%)
19831
[Performance] ProcessService.OnProjectLoaded                                :        1 samples, Peak.  56.9 ms (1.0x), Avg.  56.9 ms, Total. 56.93 ms (0.0%)
19832
Cleanup mono
19833
debugger-agent: Unable to listen on 38
19834
geForIconForExtension
19835
./Editor/Platform/Linux/TempStubs.cpp:PlatformImageForIconForExtension
19836
./Editor/Platform/Linux/TempStubs.cpp:PlatformImageForIconForExtension
19837
./Editor/Platform/Linux/TempStubs.cpp:PlatformImageForIconForExtension
19838
./Editor/Platform/Linux/TempStubs.cpp:PlatformImageForIconForExtension
19839
./Editor/Platform/Linux/TempStubs.cpp:PlatformImageForIconForExtension
19840
./Editor/Platform/Linux/TempStubs.cpp:PlatformImageForIconForExtension
19841
./Editor/Platform/Linux/TempStubs.cpp:PlatformImageForIconForExtension
19842
./Editor/Platform/Linux/TempStubs.cpp:PlatformImageForIconForExtension
19843
./Editor/Platform/Linux/TempStubs.cpp:PlatformImageForIconForExtension
19844
./Editor/Platform/Linux/TempStubs.cpp:PlatformImageForIconForExtension
19845
./Editor/Platform/Linux/TempStubs.cpp:PlatformImageForIconForExtension
19846
./Editor/Platform/Linux/TempStubs.cpp:PlatformImageForIconForExtension
19847
./Editor/Platform/Linux/TempStubs.cpp:PlatformImageForIconForExtension
19848
./Editor/Platform/Linux/TempStubs.cpp:PlatformImageForIconForExtension
19849
./Editor/Platform/Linux/TempStubs.cpp:PlatformImageForIconForExtension
19850
./Editor/Platform/Linux/TempStubs.cpp:PlatformImageForIconForExtension
19851
./Editor/Platform/Linux/TempStubs.cpp:PlatformImageForIconForExtension
19852
./Editor/Platform/Linux/TempStubs.cpp:PlatformImageForIconForExtension
19853
./Editor/Platform/Linux/TempStubs.cpp:PlatformImageForIconForExtension
19854
./Editor/Platform/Linux/TempStubs.cpp:PlatformImageForIconForExtension
19855
./Editor/Platform/Linux/TempStubs.cpp:PlatformImageForIconForExtension
19856
./Editor/Platform/Linux/TempStubs.cpp:PlatformImageForIconForExtension
19857
./Editor/Platform/Linux/TempStubs.cpp:PlatformImageForIconForExtension
19858
./Editor/Platform/Linux/TempStubs.cpp:PlatformImageForIconForExtension
19859
./Editor/Platform/Linux/TempStubs.cpp:PlatformImageForIconForExtension
19860
./Editor/Platform/Linux/TempStubs.cpp:PlatformImageForIconForExtension
19861
./Editor/Platform/Linux/TempStubs.cpp:PlatformImageForIconForExtension
19862
./Editor/Platform/Linux/TempStubs.cpp:PlatformImageForIconForExtension
19863
./Editor/Platform/Linux/TempStubs.cpp:PlatformImageForIconForExtension
19864
./Editor/Platform/Linux/TempStubs.cpp:PlatformImageForIconForExtension
19865
./Editor/Platform/Linux/TempStubs.cpp:PlatformImageForIconForExtension
19866
./Editor/Platform/Linux/TempStubs.cpp:PlatformImageForIconForExtension
19867
./Editor/Platform/Linux/TempStubs.cpp:PlatformImageForIconForExtension
19868
./Editor/Platform/Linux/TempStubs.cpp:PlatformImageForIconForExtension
19869
./Editor/Platform/Linux/TempStubs.cpp:PlatformImageForIconForExtension
19870
./Editor/Platform/Linux/TempStubs.cpp:PlatformImageForIconForExtension
19871
./Editor/Platform/Linux/TempStubs.cpp:PlatformImageForIconForExtension
19872
./Editor/Platform/Linux/TempStubs.cpp:PlatformImageForIconForExtension
19873
Compressing using quality level 127
19874
./Editor/Platform/Linux/UsbDevices.cpp:UsbDevicesQuery
19875
Build failed, with exit code 1
19876

Updating from v1.2 to v1.3 or v1.4 causes an error in building the WebGL version

Updating from v1.2 to v1.3 or v1.4 causes this error in WebGL builds.
The version of Unity I'm using for the build is 2020.1.5f1.

Error scanning for extension ivy.xml files: System.UnauthorizedAccessException: Access to the path '/opt/Unity/Editor/Data/PlaybackEngines/WebGLSupport/BuildTools/Emscripten_Linux/node' is denied.
  at System.IO.__Error.WinIOError (System.Int32 errorCode, System.String maybeFullPath) [0x00129] in <fb001e01371b4adca20013e0ac763896>:0 
  at System.IO.FileSystemEnumerableIterator`1[TSource].HandleError (System.Int32 hr, System.String path) [0x00006] in <fb001e01371b4adca20013e0ac763896>:0 
  at System.IO.FileSystemEnumerableIterator`1[TSource].AddSearchableDirsToStack (System.IO.Directory+SearchData localSearchData) [0x00053] in <fb001e01371b4adca20013e0ac763896>:0 
  at System.IO.FileSystemEnumerableIterator`1[TSource].MoveNext () [0x0008e] in <fb001e01371b4adca20013e0ac763896>:0 
  at System.Collections.Generic.List`1[T]..ctor (System.Collections.Generic.IEnumerable`1[T] collection) [0x00077] in <fb001e01371b4adca20013e0ac763896>:0 
  at System.IO.Directory.InternalGetFileDirectoryNames (System.String path, System.String userPathOriginal, System.String searchPattern, System.Boolean includeFiles, System.Boolean includeDirs, System.IO.SearchOption searchOption, System.Boolean checkHost) [0x0000f] in <fb001e01371b4adca20013e0ac763896>:0 
  at System.IO.Directory.InternalGetFiles (System.String path, System.String searchPattern, System.IO.SearchOption searchOption) [0x00000] in <fb001e01371b4adca20013e0ac763896>:0 
  at System.IO.Directory.GetFiles (System.String path, System.String searchPattern, System.IO.SearchOption searchOption) [0x00038] in <fb001e01371b4adca20013e0ac763896>:0 
  at UnityEditor.Modules.ModuleManager.LoadLegacyExtensionsFromIvyFiles () [0x000a5] in /home/bokken/buildslave/unity/build/Editor/Mono/Modules/ModuleManager.cs:253 
Win32Exception: ApplicationName='/opt/Unity/Editor/Data/il2cpp/build/deploy/netcoreapp3.0/il2cpp', CommandLine='--convert-to-cpp --dotnetprofile="unityaot" --compile-cpp --libil2cpp-static --platform="WebGL" --architecture="EmscriptenJavaScript" --configuration="Release" --outputpath="/github/workspace/Assets /../Temp/StagingArea/Data/Native/build.bc" --cachedirectory="/github/workspace/Assets/../Library/il2cpp_cache" --compiler-flags="-Oz -DIL2CPP_EXCEPTION_DISABLED=1 " --baselib-directory="/opt/Unity/Editor/Data/PlaybackEngines/WebGLSupport/Variations/nondevelopment" --avoid-dynamic-library-copy --emit-method-map --additional-libraries="/opt/Unity/Editor/Data/PlaybackEngines/WebGLSupport/BuildTools/lib/modules/WebGLSupport_AIModule_Dynamic.bc" --additional-libraries="/opt/Unity/Editor/Data/PlaybackEngines/WebGLSupport/BuildTools/lib/modules/WebGLSupport_AccessibilityModule_Dynamic.bc" --additional-libraries="/opt/Unity/Editor/Data/PlaybackEngines/WebGLSupport/BuildTools/lib/modules/WebGLSupport_AndroidJNIModule_Dynamic.bc" --additional-libraries="/opt/Unity/Editor/Data/PlaybackEngines/WebGLSupport/BuildTools/lib/modules/WebGLSupport_AnimationModule_Dynamic.bc" --additional-libraries="/opt/Unity/Editor/Data/PlaybackEngines/WebGLSupport/BuildTools/lib/modules/WebGLSupport_AssetBundleModule_Dynamic.bc" --additional-libraries="/opt/Unity/Editor/Data/PlaybackEngines/WebGLSupport/BuildTools/lib/modules/WebGLSupport_AudioModule_Dynamic.bc" --additional-libraries="/opt/Unity/Editor/Data/PlaybackEngines/WebGLSupport/BuildTools/lib/modules/WebGLSupport_ClothModule_Dynamic.bc" --additional-libraries="/opt/Unity/Editor/Data/PlaybackEngines/WebGLSupport/BuildTools/lib/modules/WebGLSupport_CoreModule_Dynamic.bc" --additional-libraries="/opt/Unity/Editor/Data/PlaybackEngines/WebGLSupport/BuildTools/lib/modules/WebGLSupport_CrashReportingModule_Dynamic.bc" --additional-libraries="/opt/Unity/Editor/Data/PlaybackEngines/WebGLSupport/BuildTools/lib/modules/WebGLSupport_DSPGraphModule_Dynamic.bc" --additional-libraries="/opt/Unity/Editor/Data/PlaybackEngines/WebGLSupport/BuildTools/lib/modules/WebGLSupport_DirectorModule_Dynamic.bc" --additional-libraries="/opt/Unity/Editor/Data/PlaybackEngines/WebGLSupport/BuildTools/lib/modules/WebGLSupport_GameCenterModule_Dynamic.bc" --additional-libraries="/opt/Unity/Editor/Data/PlaybackEngines/WebGLSupport/BuildTools/lib/modules/WebGLSupport_GridModule_Dynamic.bc" --additional-libraries="/opt/Unity/Editor/Data/PlaybackEngines/WebGLSupport/BuildTools/lib/modules/WebGLSupport_HotReloadModule_Dynamic.bc" --additional-libraries="/opt/Unity/Editor/Data/PlaybackEngines/WebGLSupport/BuildTools/lib/modules/WebGLSupport_IMGUIModule_Dynamic.bc" --additional-libraries="/opt/Unity/Editor/Data/PlaybackEngines/WebGLSupport/BuildTools/lib/modules/WebGLSupport_ImageConversionModule_Dynamic.bc" --additional-libraries="/opt/Unity/Editor/Data/PlaybackEngines/WebGLSupport/BuildTools/lib/modules/WebGLSupport_InputLegacyModule_Dynamic.bc" --additional-libraries="/opt/Unity/Editor/Data/PlaybackEngines/WebGLSupport/BuildTools/lib/modules/WebGLSupport_InputModule_Dynamic.bc" --additional-libraries="/opt/Unity/Editor/Data/PlaybackEngines/WebGLSupport/BuildTools/lib/modules/WebGLSupport_JSONSerializeModule_Dynamic.bc" --additional-libraries="/opt/Unity/Editor/Data/PlaybackEngines/WebGLSupport/BuildTools/lib/modules/WebGLSupport_LocalizationModule_Dynamic.bc" --additional-libraries="/opt/Unity/Editor/Data/PlaybackEngines/WebGLSupport/BuildTools/lib/modules/WebGLSupport_ParticleSystemModule_Dynamic.bc" --additional-libraries="/opt/Unity/Editor/Data/PlaybackEngines/WebGLSupport/BuildTools/lib/modules/WebGLSupport_PerformanceReportingModule_Dynamic.bc" --additional-libraries="/opt/Unity/Editor/Data/PlaybackEngines/WebGLSupport/BuildTools/lib/modules/WebGLSupport_Physics2DModule_Dynamic.bc" --additional-libraries="/opt/Unity/Editor/Data/PlaybackEngines/WebGLSupport/BuildTools/lib/modules/WebGLSupport_PhysicsModule_Dynamic.bc" --additional-libraries="/opt/Unity/Editor/Data/PlaybackEngines/WebGLSupport/BuildTools/lib/modules/WebGLSupport_ProfilerModule_Dynamic.bc" --additional-libraries="/opt/Unity/Editor/Data/PlaybackEngines/WebGLSupport/BuildTools/lib/modules/WebGLSupport_ScreenCaptureModule_Dynamic.bc" --additional-libraries="/opt/Unity/Editor/Data/PlaybackEngines/WebGLSupport/BuildTools/lib/modules/WebGLSupport_SharedInternalsModule_Dynamic.bc" --additional-libraries="/opt/Unity/Editor/Data/PlaybackEngines/WebGLSupport/BuildTools/lib/modules/WebGLSupport_SpriteMaskModule_Dynamic.bc" --additional-libraries="/opt/Unity/Editor/Data/PlaybackEngines/WebGLSupport/BuildTools/lib/modules/WebGLSupport_SpriteShapeModule_Dynamic.bc" --additional-libraries="/opt/Unity/Editor/Data/PlaybackEngines/WebGLSupport/BuildTools/lib/modules/WebGLSupport_StreamingModule_Dynamic.bc" --additional-libraries="/opt/Unity/Editor/Data/PlaybackEngines/WebGLSupport/BuildTools/lib/modules/WebGLSupport_SubstanceModule_Dynamic.bc" --additional-libraries="/opt/Unity/Editor/Data/PlaybackEngines/WebGLSupport/BuildTools/lib/modules/WebGLSupport_SubsystemsModule_Dynamic.bc" --additional-libraries="/opt/Unity/Editor/Data/PlaybackEngines/WebGLSupport/BuildTools/lib/modules/WebGLSupport_TLSModule_Dynamic.bc" --additional-libraries="/opt/Unity/Editor/Data/PlaybackEngines/WebGLSupport/BuildTools/lib/modules/WebGLSupport_TerrainModule_Dynamic.bc" --additional-libraries="/opt/Unity/Editor/Data/PlaybackEngines/WebGLSupport/BuildTools/lib/modules/WebGLSupport_TerrainPhysicsModule_Dynamic.bc" --additional-libraries="/opt/Unity/Editor/Data/PlaybackEngines/WebGLSupport/BuildTools/lib/modules/WebGLSupport_TextCoreModule_Dynamic.bc" --additional-libraries="/opt/Unity/Editor/Data/PlaybackEngines/WebGLSupport/BuildTools/lib/modules/WebGLSupport_TextRenderingModule_Dynamic.bc" --additional-libraries="/opt/Unity/Editor/Data/PlaybackEngines/WebGLSupport/BuildTools/lib/modules/WebGLSupport_TilemapModule_Dynamic.bc" --additional-libraries="/opt/Unity/Editor/Data/PlaybackEngines/WebGLSupport/BuildTools/lib/modules/WebGLSupport_UIElementsModule_Dynamic.bc" --additional-libraries="/opt/Unity/Editor/Data/PlaybackEngines/WebGLSupport/BuildTools/lib/modules/WebGLSupport_UIElementsNativeModule_Dynamic.bc" --additional-libraries="/opt/Unity/Editor/Data/PlaybackEngines/WebGLSupport/BuildTools/lib/modules/WebGLSupport_UIModule_Dynamic.bc" --additional-libraries="/opt/Unity/Editor/Data/PlaybackEngines/WebGLSupport/BuildTools/lib/modules/WebGLSupport_UNETModule_Dynamic.bc" --additional-libraries="/opt/Unity/Editor/Data/PlaybackEngines/WebGLSupport/BuildTools/lib/modules/WebGLSupport_UmbraModule_Dynamic.bc" --additional-libraries="/opt/Unity/Editor/Data/PlaybackEngines/WebGLSupport/BuildTools/lib/modules/WebGLSupport_UnityAnalyticsModule_Dynamic.bc" --additional-libraries="/opt/Unity/Editor/Data/PlaybackEngines/WebGLSupport/BuildTools/lib/modules/WebGLSupport_UnityConnectModule_Dynamic.bc" --additional-libraries="/opt/Unity/Editor/Data/PlaybackEngines/WebGLSupport/BuildTools/lib/modules/WebGLSupport_UnityTestProtocolModule_Dynamic.bc" --additional-libraries="/opt/Unity/Editor/Data/PlaybackEngines/WebGLSupport/BuildTools/lib/modules/WebGLSupport_UnityWebRequestAssetBundleModule_Dynamic.bc" --additional-libraries="/opt/Unity/Editor/Data/PlaybackEngines/WebGLSupport/BuildTools/lib/modules/WebGLSupport_UnityWebRequestAudioModule_Dynamic.bc" --additional-libraries="/opt/Unity/Editor/Data/PlaybackEngines/WebGLSupport/BuildTools/lib/modules/WebGLSupport_UnityWebRequestModule_Dynamic.bc" --additional-libraries="/opt/Unity/Editor/Data/PlaybackEngines/WebGLSupport/BuildTools/lib/modules/WebGLSupport_UnityWebRequestTextureModule_Dynamic.bc" --additional-libraries="/opt/Unity/Editor/Data/PlaybackEngines/WebGLSupport/BuildTools/lib/modules/WebGLSupport_UnityWebRequestWWWModule_Dynamic.bc" --additional-libraries="/opt/Unity/Editor/Data/PlaybackEngines/WebGLSupport/BuildTools/lib/modules/WebGLSupport_VFXModule_Dynamic.bc" --additional-libraries="/opt/Unity/Editor/Data/PlaybackEngines/WebGLSupport/BuildTools/lib/modules/WebGLSupport_VRModule_Dynamic.bc" --additional-libraries="/opt/Unity/Editor/Data/PlaybackEngines/WebGLSupport/BuildTools/lib/modules/WebGLSupport_VehiclesModule_Dynamic.bc" --additional-libraries="/opt/Unity/Editor/Data/PlaybackEngines/WebGLSupport/BuildTools/lib/modules/WebGLSupport_VideoModule_Dynamic.bc" --additional-libraries="/opt/Unity/Editor/Data/PlaybackEngines/WebGLSupport/BuildTools/lib/modules/WebGLSupport_WebGLModule_Dynamic.bc" --additional-libraries="/opt/Unity/Editor/Data/PlaybackEngines/WebGLSupport/BuildTools/lib/modules/WebGLSupport_WindModule_Dynamic.bc" --additional-libraries="/opt/Unity/Editor/Data/PlaybackEngines/WebGLSupport/BuildTools/lib/modules/WebGLSupport_XRModule_Dynamic.bc" --profiler-report --map-file-parser="/opt/Unity/Editor/Data/Tools/MapFileParser/MapFileParser" --directory="/github/workspace/Temp/StagingArea/Data/Managed" --generatedcppdir="/github/workspace/Temp/StagingArea/Data/il2cppOutput" ', CurrentDirectory='/github/workspace/Temp/StagingArea/Data/Managed', Native error= mono-io-layer-error (5)
  at System.Diagnostics.Process.StartWithCreateProcess (System.Diagnostics.ProcessStartInfo startInfo) [0x002dc] in <c8c8707b2adc41b09ae682df75fe1fd0>:0 
  at System.Diagnostics.Process.Start () [0x0003a] in <c8c8707b2adc41b09ae682df75fe1fd0>:0 
  at (wrapper remoting-invoke-with-check) System.Diagnostics.Process.Start()
  at UnityEditor.Utils.Program.Start (System.EventHandler exitCallback) [0x0006d] in /home/bokken/buildslave/unity/build/Editor/Mono/Utils/Program.cs:46 
  at UnityEditor.Utils.Program.Start () [0x00001] in /home/bokken/buildslave/unity/build/Editor/Mono/Utils/Program.cs:30 
  at UnityEditorInternal.Runner.RunProgram (UnityEditor.Utils.Program p, System.String exe, System.String args, System.String workingDirectory, UnityEditor.Scripting.Compilers.CompilerOutputParserBase parser) [0x0001e] in /home/bokken/buildslave/unity/build/Editor/Mono/BuildPipeline/BuildUtils.cs:124 
  at UnityEditorInternal.Runner.RunNetCoreProgram (System.String exe, System.String args, System.String workingDirectory, UnityEditor.Scripting.Compilers.CompilerOutputParserBase parser, System.Action`1[T] setupStartInfo) [0x0005d] in /home/bokken/buildslave/unity/build/Editor/Mono/BuildPipeline/BuildUtils.cs:97 
  at UnityEditorInternal.IL2CPPBuilder.RunIl2CppWithArguments (System.Collections.Generic.List`1[T] arguments, System.Action`1[T] setupStartInfo, System.String workingDirectory) [0x0007a] in /home/bokken/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:690 
  at UnityEditorInternal.IL2CPPBuilder.ConvertPlayerDlltoCpp (UnityEditor.Il2Cpp.Il2CppBuildPipelineData data, System.String outputDirectory, System.String workingDirectory, System.Boolean platformSupportsManagedDebugging) [0x0031a] in /home/bokken/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:672 
  at UnityEditorInternal.IL2CPPBuilder.Run () [0x000ce] in /home/bokken/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:505 
  at UnityEditorInternal.IL2CPPUtils.RunIl2Cpp (System.String stagingAreaData, UnityEditorInternal.IIl2CppPlatformProvider platformProvider, System.Action`1[T] modifyOutputBeforeCompile, UnityEditor.RuntimeClassRegistry runtimeClassRegistry) [0x0001c] in /home/bokken/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:235 
  at UnityEditor.WebGL.WebGlBuildPostprocessor.CompileBuild (UnityEditor.Modules.BuildPostProcessArgs args) [0x00108] in /Users/bokken/buildslave/unity/build/PlatformDependent/WebGL/Extensions/Unity.WebGL.extensions/BuildPostprocessor.cs:373 
  at UnityEditor.WebGL.WebGlBuildPostprocessor.PostProcess (UnityEditor.Modules.BuildPostProcessArgs args) [0x0029c] in /Users/bokken/buildslave/unity/build/PlatformDependent/WebGL/Extensions/Unity.WebGL.extensions/BuildPostprocessor.cs:911 
  at UnityEditor.Modules.DefaultBuildPostprocessor.PostProcess (UnityEditor.Modules.BuildPostProcessArgs args, UnityEditor.BuildProperties& outProperties) [0x00001] in /home/bokken/buildslave/unity/build/Editor/Mono/Modules/DefaultBuildPostprocessor.cs:27 
  at UnityEditor.PostprocessBuildPlayer.Postprocess (UnityEditor.BuildTargetGroup targetGroup, UnityEditor.BuildTarget target, System.String installPath, System.String companyName, System.String productName, System.Int32 width, System.Int32 height, UnityEditor.BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry, UnityEditor.Build.Reporting.BuildReport report) [0x000dc] in /home/bokken/buildslave/unity/build/Editor/Mono/BuildPipeline/PostprocessBuildPlayer.cs:324 

Builds for other platforms are building fine.
It was building fine before the update.
Is there any solution to this problem?

Native extension for Android target not found

I tried several different versions of unity, but I am getting the same error in each versions.

Here is the complete log

name: Build and Release CGS
on:
  push:
    branches:
      - master
      - dev/*
jobs:
  buildForAllPlatforms:
    name: Build for ${{ matrix.targetPlatform }} on version ${{ matrix.unityVersion }}
    runs-on: ubuntu-latest
    env:
      UNITY_LICENSE: ${{ secrets.UNITY_LICENSE }}
    strategy:
      fail-fast: false
      matrix:
        unityVersion:
          - 2019.3.7f1
        targetPlatform:
          - Android # Build an Android .apk standalone app.
          - iOS # Build an iOS player.
      #    - StandaloneOSX # Build a macOS standalone (Intel 64-bit).
       #   - StandaloneWindows # Build a Windows standalone.
       #   - StandaloneWindows64 # Build a Windows 64-bit standalone.
        #  - StandaloneLinux64 # Build a Linux 64-bit standalone.
#          - WebGL # WebGL.
    steps:
      - uses: actions/checkout@v2
        with:
          lfs: true
      - uses: actions/[email protected]
        with:
          path: Library
          key: Library-${{ matrix.targetPlatform }}
      - uses: webbertakken/unity-builder@196fe8fc5b9d335768f6c0c051f285d0080c267e
        with:
          unityVersion: ${{ matrix.unityVersion }}
          targetPlatform: ${{ matrix.targetPlatform }}
          buildsPath: builds
          androidAppBundle: true
          androidKeystoreName: user.keystore
          androidKeystorePass: ${{ secrets.ANDROID_KEYSTORE_PASS }}
          androidKeyaliasName: ${{ secrets.ANDROID_KEYALIAS_NAME }}
          androidKeyaliasPass: ${{ secrets.ANDROID_KEYALIAS_PASS }}
      - uses: actions/upload-artifact@v1
        with:
          name: cgs-builds
          path: builds

2020-07-27T23:54:49.2953145Z Targeting platform: Android
2020-07-27T23:54:49.2971043Z Refreshing native plugins compatible for Editor in 0.01 ms, found 0 plugins.
2020-07-27T23:54:49.2976002Z Preloading 0 native plugins for Editor in 0.00 ms.
Register platform support module: /opt/Unity/Editor/Data/PlaybackEngines/LinuxStandaloneSupport/UnityEditor.LinuxStandalone.Extensions.dll
Register platform support module: /opt/Unity/Editor/Data/PlaybackEngines/AndroidPlayer/UnityEditor.Android.Extensions.dll
Registered in 0.004537 seconds.
Native extension for Android target not found
Native extension for LinuxStandalone target not found

Show diff for dirty repository?

Hi, I have been trying out the actions and got a workflow functional with allowDirtyBuild: true. Really cool stuff, thank you for making these actions. I had to add /[Aa]rtifacts/ to .gitignore and fix an issue that was my fault based on inconsistent filename case to reduce the amount of dirty changes in the repo. But it's still showing ProjectSettings/ProjectSettings.asset as changed.

 M ProjectSettings/ProjectSettings.asset

##[error]Branch is dirty. Refusing to base semantic version on uncommitted changes

I'm happy to get any help for determining why ProjectSettings is changing, but maybe in general it would be nice to have an option like showDiffOnDirty: true to show what changes have happened since checkout.

I know there could potentially be many files changed in a dirty repository scenario, but just knowing the filenames isn't quite enough information for me to diagnose the issue.

Related: #95

Edit: This can be achieved with nice output by issuing git status --verbose --verbose or git --no-pager diff (conditionally if this option is enabled)

Android versionCode

The current versioning strategies successfully set the android versionName but do not seem to impact the android versionCode which is the more important number when publishing apks.

I've looked through https://docs.unity3d.com/Manual/CommandLineArguments.html but did not see any way to specify it. Although the -version argument also isn't documented so maybe there's a way. Do you know how to specify the android versionCode from the cli?

Unexpected input(s) 'androidAppBundle', 'androidKeystorePass', 'androidKeyaliasName', 'androidKeyaliasPass'

Hey thank you for the action!

I run into an issue when building for android :

##[warning]Unexpected input(s) 'androidAppBundle', 'androidKeystorePass', 'androidKeyaliasName', 'androidKeyaliasPass', valid inputs are ['unityVersion', 'targetPlatform', 'projectPath', 'buildName', 'buildsPath', 'buildMethod', 'versioning', 'version', 'androidVersionCode', 'customParameters']

And of course I get the following errors later :

UnityException: Can not sign the application
Unable to sign the application; please provide passwords!

###########################
#      Build results      #
###########################

Duration: 00:00:01.9352420
Warnings: 0
Errors: 2
Size: 0 bytes

Build failed!

Here's my workflow command:

  - uses: webbertakken/[email protected]
      with:
          unityVersion: ${{ matrix.unityVersion }}
          targetPlatform: ${{ matrix.targetPlatform }}
          androidAppBundle: true  
          androidKeystorePass: ${{ secrets.ANDROID_KEYSTORE_PASS }}
          androidKeyaliasName: ${{ secrets.ANDROID_KEYALIAS_NAME }}
          androidKeyaliasPass: ${{ secrets.ANDROID_KEYALIAS_PASS }}

To me it seems like i'm using the wrong version, but it's using the 1.1 so it should be good...

To note, it works perfectly for an iOs build.

Any ideas?

Providing an incorrect path should fail the build instead of create a build based on an empty project

After building my game using this Action, I can't play it when downloading the artifact. I can build it locally (and it works) but when downloading the generated artifact, it's unplayable: it just shows a black screen after the "Made with Unity" splashscreen.
Also, and maybe related, if I add an icon through Unity player settings, it doesn't work show in the downloaded artifact.
My config file is:

name: Actions

on:
  pull_request: {}
  push: { branches: [master] }

env:
  UNITY_LICENSE: ${{ secrets.UNITY_LICENSE }}

jobs:
  buildAndTestForSomePlatforms:
    name: Build for ${{ matrix.targetPlatform }} on version ${{ matrix.unityVersion }}
    runs-on: ubuntu-latest
    strategy:
      fail-fast: false
      matrix:
        projectPath:
          -name-of-my-game
        unityVersion:
          - 2019.3.3f1 # same as my local Unity version
        targetPlatform:
          - StandaloneOSX # Build a macOS standalone (Intel 64-bit).
          - StandaloneWindows # Build a Windows standalone.
          - StandaloneWindows64 # Build a Windows 64-bit standalone.
    steps:
      - name: Checkout
        uses: actions/checkout@v2
        with:
          lfs: true
      - name: Getting cache
        uses: actions/[email protected]
        with:
          path: ${{ matrix.projectPath }}/Library
          key: Library-${{ matrix.projectPath }}-${{ matrix.targetPlatform }}
          restore-keys: |
            Library-${{ matrix.projectPath }}-
            Library-   
      - name: Build project
        uses: webbertakken/[email protected]
        with:
          projectPath: ${{ matrix.projectPath }}
          unityVersion: ${{ matrix.unityVersion }}
          targetPlatform: ${{ matrix.targetPlatform }}
      - name: Uploading artifacts
        uses: actions/upload-artifact@v1
        with:
          name: Build
          path: build

I've tried using the [email protected] and [email protected] and still nothing. Is it something I'm doing wrong?

Help. "Requesting activation (personal license). Unclassified error occured while trying to activate license."

Hello Webbertakken!

I love you are building Unity CI plugins. I am working on trying to get my build process to work on my game but I've come across this problem. I hope this is the right place to ask for help. There is nothing in the game repo yet btw...

On the build log I'm getting this. Which seems like it can not activate the license properly.

Successfully tagged unity-builder:2020.1.3f1-mac
/usr/bin/docker run --workdir /github/workspace --rm --env UNITY_LICENSE --env UNITY_LICENSE_FILE --env UNITY_EMAIL --env UNITY_PASSWORD --env UNITY_SERIAL --env UNITY_VERSION=2020.1.3f1 --env PROJECT_PATH=. --env BUILD_TARGET=StandaloneOSX --env BUILD_NAME=StandaloneOSX --env BUILD_PATH=build/StandaloneOSX --env BUILD_FILE=StandaloneOSX --env BUILD_METHOD= --env VERSION=0.0.16 --env ANDROID_VERSION_CODE=16 --env ANDROID_KEYSTORE_NAME= --env ANDROID_KEYSTORE_BASE64= --env ANDROID_KEYSTORE_PASS= --env ANDROID_KEYALIAS_NAME= --env ANDROID_KEYALIAS_PASS= --env CUSTOM_PARAMETERS= --env HOME=/github/home --env GITHUB_REF --env GITHUB_SHA --env GITHUB_REPOSITORY --env GITHUB_ACTOR --env GITHUB_WORKFLOW --env GITHUB_HEAD_REF --env GITHUB_BASE_REF --env GITHUB_EVENT_NAME --env GITHUB_WORKSPACE=/github/workspace --env GITHUB_ACTION --env GITHUB_EVENT_PATH --env RUNNER_OS --env RUNNER_TOOL_CACHE --env RUNNER_TEMP --env RUNNER_WORKSPACE --volume /var/run/docker.sock:/var/run/docker.sock --volume /home/runner/work/_temp/_github_home:/github/home --volume /home/runner/work/_temp/_github_workflow:/github/workflow --volume /home/runner/work/Outlight/Outlight:/github/workspace unity-builder:2020.1.3f1-mac
Requesting activation (personal license)
Unclassified error occured while trying to activate license.
Exit code was: 1
Error: The process '/usr/bin/docker' failed with exit code 1

My Github Action script is here: https://github.com/bautrey37/Outlight/blob/main/.github/workflows/main.yml

For the UNITY_LICENSE, I am using my serial key on my organization in Unity. I have a Unity Pro license from being a student. I hope that this CI workflow is applicable to this license type. I'm not completely sure if this is the right license to use for the secret.

Unity builds for StandaloneOSX are not runnable.

When building for StandaloneOSX, the resultant file uploaded to artifacts isn't runnable.

If you add executable permissions to the artifact the project can then be run.

chmod +x [PATH-TO-ARTIFACT]/StandaloneOSX/StandaloneOSX.app/Contents/MacOS/*

I'm not entirely sure where this would be added in the build pipeline, but I imagine these permissions should be added prior to artifact upload.

'' is an incorrect path for a scene file. BuildPlayer expects paths relative to the project folder.

I'm getting a problem related to the project. maybe you may have an idea why.

4_Unity.-.Builder.txt

the only thing i can rescue inside the logs:
'' is an incorrect path for a scene file. BuildPlayer expects paths relative to the project folder.

I found this thread google/play-instant-unity-plugin#26 but i dont know if its related.
With an empty new project works, i didnt try to do it in a subfolder like im doing(ill try today at night )

Use version number in artifact file name

I wondered if it could be useful to have the version number returned from the build action, perhaps to append to the name of the artifact file?

# Build
      - name: Build project
        uses: webbertakken/[email protected]
        id: buildRunner
        with:
          unityVersion: ${{ matrix.unityVersion }}
          targetPlatform: ${{ matrix.targetPlatform }}

      # Output 
      - uses: actions/upload-artifact@v1
        with:
          name: Build-${{ steps.buildRunner.outputs.version}}
          path: build

Keystore & password

Is there a way to pass the keystore file in the parameters ? And also the password ? (using github secrets)

Should it be in the customParameters ?

Problem with opening certain HDRP shader source files

So this is really probably not related to Unity Builder, but since this doesn't happen on my nor teammates' computers, I figured I'd anyway open an issue here in case it was related to Unity Builder or if in future someone else has the same problem, then they can maybe find a solution here.

When building, I get a bunch of compiler errors like so:
Shader error in 'RaytracingShadow.compute': failed to open source file: 'Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/HDRayTracingManager.cs.hlsl' at kernel OutputShadowTexture at Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/ShaderVariablesRaytracing.hlsl(1) (on d3d11)

Not really sure what causes that, since I can build fine on my own computer. Maybe outdated packages? Some package not being installed in a similar way on the Ubuntu image as on Windows?

Doc error: buildMethod

Hello,

I believe the doc has an error for buildMethod, the doc examples says as follow : buildMethod: EditorNamespace.BuilderClassName.StaticBulidMethod , but you should write buildMethod: BuilderClassName.StaticBulidMethod without the EditorNameSpace.

It wasn't working with it or with UnityEditor, but having the class inside Assets/Editor/ folder and calling just the class and static method is enough.

Cheers

Output generated build version

Context

In my CI setup I am building my project using unity-builder, then pushing a release to itch.io using butler. It is possible to tell itch.io the version of the game you are uploading, and it would be nice to use the same version that unity-builder generates for consistency.

Suggested solution

The simplest solution would be to expose the generated version as an action output.

Considered alternatives

The version could technically be parsed from the build log using grep, but that would be slow and would be easy to break.

Additional details

Currently working on a PR ๐Ÿ˜„

Feature request: Support for custom command-line args

I build my project with Trimmer. Doing so on the command line is a little different; you don't need to specify the platform explicitly (because your Trimmer profile lists it in the file), but you do need to add a -profileName argument in order to select a build profile. If the build profile supports multiple platforms but you only want to build for one of them, you need to say so with another argument as well.

Can't fetch private UPM Packages from github because can't add my github credentials to Unity

Bug description
We're using private packages from github in the Unity Package Manager. Building does not work with this because Unity asks for my github credentials. On my local Windows machine, Github Crendetial Manager pops up and I can insert them. What do I have to do in an github action to add them?

- stderr: fatal: could not read Username for 'https://github.com': terminal prompts disabled
Project has invalid dependencies:
de.lefx.stepmanager: Error when executing git command. fatal: could not read Username for 'https://github.com': terminal prompts disabled

I've tried to add my github credentials with fusion-engineering/[email protected] but does not work either.

How to reproduce

Try building a project with UPM dependency from a private github URL.

Expected behavior

Project builds :)

Additional details

I've added my script and the logfiles

build.zip
logs_51.zip

License system hash mismatch

I'm trying to follow the guide here for running the build but I'm encountering this problem

LICENSE SYSTEM [2020613 19:26:52] <hash> != <hash>

I have tried multiple versions of unity and this is my yaml

name: Build
on: 
  pull_request: {}
  push: { branches: [master] }
env:
  UNITY_LICENSE: ${{ secrets.UNITY_LICENSE }}
jobs:
  buildForSomePlatforms:
    name: Build for ${{ matrix.targetPlatform }} on version ${{ matrix.unityVersion }}
    runs-on: ubuntu-latest
    strategy:
      fail-fast: false
      matrix:
        # projectPath:
          # - .
        unityVersion:
          - 2019.4.0f1
        targetPlatform:
          - StandaloneOSX # Build a macOS standalone (Intel 64-bit).
          - StandaloneWindows # Build a Windows standalone.
          - StandaloneWindows64 # Build a Windows 64-bit standalone.
          - StandaloneLinux64 # Build a Linux 64-bit standalone.
          #- iOS # Build an iOS player.               
          #- Android # Build an Android .apk standalone app.
          - WebGL # WebGL.
          #- WSAPlayer # Build an Windows Store Apps player.
          #- PS4 # Build a PS4 Standalone.
          #- XboxOne # Build a Xbox One Standalone.
          #- tvOS # Build to Apple's tvOS platform.
          #- Switch # Build a Nintendo Switch player.
    steps:
      - uses: actions/checkout@v2
        with:
          lfs: true
      # - uses: actions/[email protected]
      #   with:
      #     path: ${{ matrix.projectPath }}/Library
      #     key: Library-${{ matrix.projectPath }}-${{ matrix.targetPlatform }}
      #     restore-keys: |
      #       Library-${{ matrix.projectPath }}-
      #       Library-
      - uses: webbertakken/[email protected]
        with:
          # projectPath: ${{ matrix.projectPath }}
          unityVersion: ${{ matrix.unityVersion }}
          targetPlatform: ${{ matrix.targetPlatform }}
      - uses: actions/upload-artifact@v1
        with:
          name: Build
          path: build

Current LTS and the previous 3 versions all have this error. Am I doing anything wrong?

Build failure for v1.2, v1.1 and v1.0

Bug description
version 1.2, 1.1 and 1.0 is failing with this errors:

Run webbertakken/[email protected]
  with:
    projectPath: Dual
    unityVersion: 2019.4.8f1
    targetPlatform: StandaloneOSX
    kubeContainerMemory: 800M
    kubeContainerCPU: 0.25
    kubeVolumeSize: 5Gi
    versioning: Semantic
    androidAppBundle: false
  env:
    UNITY_LICENSE: ***
##[warning]
      Library folder does not exist.
      Consider setting up caching to speed up your workflow,
      if this is not your first build.
    
##[warning]Fetch --unshallow caught: Error: Failed to run "git fetch --unshallow".
 In-command error caught: Error: There was an error when attempting to execute the process '/usr/bin/git'. This may indicate the process failed to start. Error: spawn /usr/bin/git ENOENT
##[error]Failed to run "git fetch".
 In-command error caught: Error: There was an error when attempting to execute the process '/usr/bin/git'. This may indicate the process failed to start. Error: spawn /usr/bin/git ENOENT

This doesn't happen if I use v0.15 (it build successfully) but this one generates an empty build (as reported on this issue). I've tried searching for this issue but I haven't found anything

Also to mention, this error happens for all my targetPlatforms

How to reproduce

This is my config file:

name: Actions

on:
  pull_request: {}
  push: { branches: [master] }

env:
  UNITY_LICENSE: ${{ secrets.UNITY_LICENSE }}

jobs:
  buildAndTestForSomePlatforms:
    name: Build for ${{ matrix.targetPlatform }} on version ${{ matrix.unityVersion }}
    runs-on: ubuntu-latest
    strategy:
      fail-fast: false
      matrix:
        projectPath:
          - MyGame
        unityVersion:
          - 2019.4.8f1
        targetPlatform:
          - StandaloneOSX # Build a macOS standalone (Intel 64-bit).
          - StandaloneWindows # Build a Windows standalone.
          - StandaloneWindows64 # Build a Windows 64-bit standalone.
          - WebGL # WebGL.
    steps:
      # Checkout
      - name: Checkout
        uses: actions/[email protected]
        with:
          lfs: true
      
      # Cache
      - name: Getting cache
        uses: actions/[email protected]
        with:
          path: ${{ matrix.projectPath }}/Library
          key: Library-${{ matrix.projectPath }}-${{ matrix.targetPlatform }}
          restore-keys: |
            Library-${{ matrix.projectPath }}-${{ matrix.targetPlatform }}
            Library-${{ matrix.projectPath }}-
            Library-
      
      # Build
      - name: Build project
        uses: webbertakken/[email protected]
        with:
          projectPath: ${{ matrix.projectPath }}
          unityVersion: ${{ matrix.unityVersion }}
          targetPlatform: ${{ matrix.targetPlatform }}

      # Output 
      - name: Uploading artifacts
        uses: actions/upload-artifact@v2
        with:
          name: Build
          path: build

'/usr/bin/git' failed with exit code 128

We're seeing this error consistently. We have successfully setup the unity-test-runner, but are struggling with the builder. This message below is the only thing we see in the logs, the unity-builder step takes 1s to complete, so I would assume there are no Unity logs.

Note that our project is made of 2 sibling repos: my-project-unity and my-project-server, both are folders in the root. We want to build my-project-unity, which inside contains the folders Assets, ProjectSettings and Packages.

Any idea what's going on? Thanks!

    Run webbertakken/[email protected]
      with:
        projectPath: my-project-unity 
        unityVersion: 2019.2.11f1
        targetPlatform: iOS
        buildMethod: MyNamespace.MyStaticMethodToBuild
      env:
        UNITY_EMAIL: ***
        UNITY_PASSWORD: ***
        UNITY_SERIAL: ***
    ##[warning]Error: The process '/usr/bin/git' failed with exit code 128
    ##[error]The process '/usr/bin/git' failed with exit code 128

Generated XCode project does not link UnityARKitFaceTracking

Bug description

unity-builder successfully generates an Xcode project dependent on ARKit Face Tracking, which can then be compiled successfully from the IDE;

However when compiling that Xcode project from the command line, a linker error is generated:
Undefined symbols for architecture arm64

I compared the Xcode project generated from my Unity editor to the one generated by unity-builder, and found that when running from the command line with the same parameters:

xcodebuild -scheme Unity-iPhone -project Unity-iPhone.xcodeproj -configuration Release -destination 'generic/platform=iOS'

The Xcode linking step Ld passes a number of parameters:
My proj:
... -lUnityARKit -framework iosInternal -lUnityARKitFaceTracking ...
unity-builder:
... -lUnityARKit -framework iosInternal ...

LibrarylUnityARKitFaceTracking is not linked in the unity-builder version, presumably causing the linker error.

Additional details

All tests running macOS 10.15.6, Xcode 12.0, Unity 2021.5f1, ARKit Face Tracking 4.1.0-preview.7

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.