name: unity-project description: "Run a Unity command using a project's version and a build target." inputs: projectPath: description: "Path to the Unity project." required: true default: "." platform: description: "Unity Platform. Options: windows, windows32bit, mac, linux, android" required: true serial: description: "Unity license serial number. Or 'personal' for a personal license." required: true default: personal email: description: "Unity email." required: true password: description: "Unity password." required: true command: description: "Unity command to run." required: false unityBuilder: description: "Whether or not to use the UnityBuilder instead of a Unity command." required: false cacheVolume: description: "Name of the volume to cache the Library folder to." required: false removeContainer: description: "Remove the mock container after building." required: false default: "false" runs: using: "composite" steps: - name: "Get Unity Version." id: getVersion uses: act/unity/unity-get-version@master with: projectPath: ${{ inputs.projectPath }} - name: "Get Unity buildTarget." id: getTarget uses: act/unity/unity-get-buildtarget@master with: platform: ${{ inputs.platform }} - name: "Restore the cached Library folder." if: ${{ inputs.cacheVolume }} uses: act/common/docker/docker-cp@master with: volume: ${{ inputs.cacheVolume }} toPath: . - name: "Run Unity command." uses: act/unity/unity-command@master with: platform: ${{ inputs.platform }} version: ${{ steps.getVersion.outputs.projectVersion }} serial: ${{ inputs.serial }} email: ${{ inputs.email }} password: ${{ inputs.password }} command: -projectPath ${{ inputs.projectPath }} -buildTarget ${{ steps.getTarget.outputs.buildTarget }} ${{ inputs.command }} removeContainer: ${{ inputs.removeContainer }} - name: "Cache the Library folder." if: ${{ inputs.cacheVolume }} uses: act/common/docker/docker-cp@master with: recreateVolume: true volume: ${{ inputs.cacheVolume }} fromPath: Library