diff --git a/README.md b/README.md index 18105ba..c727fa7 100644 --- a/README.md +++ b/README.md @@ -6,8 +6,8 @@ Feel free to contribute. ## Jobs -- [ ] Checkout project -- [ ] Acquire license +- [X] Checkout project +- [X] Activate license - [ ] Open project in Unity - [ ] Install dependencies - [ ] Perform test suite @@ -25,33 +25,9 @@ Feel free to contribute. ## How to use -Add the following yaml to your workflow in `.github/workflows/main.yml` +Create a workflow in `.github/workflows/main.yml`. -```yaml -name: Testing and building my Unity project -on: push -jobs: - test: - name: Test - - runs-on: ubuntu-latest - - steps: - - name: Checkout - uses: actions/checkout@master - - - name: Get license - uses: webbertakken/unity-actions/get-license@master - env: - UNITY_USERNAME: ${{ secrets.UNITY_USERNAME }} - UNITY_PASSWORD: ${{ secrets.UNITY_USERNAME }} - - - name: Test project - uses: webbertakken/unity-actions/test@master - env: - FOLDER: . - PLATFORM: playmode -``` +- Activate license: [readme](./activate/README.md). ## Credits diff --git a/get-license/Dockerfile b/activate/Dockerfile similarity index 78% rename from get-license/Dockerfile rename to activate/Dockerfile index 21468db..c051f0a 100644 --- a/get-license/Dockerfile +++ b/activate/Dockerfile @@ -1,7 +1,7 @@ FROM gableroux/unity3d:2019.2.11f1-webgl -LABEL "com.github.actions.name"="Unity get license" -LABEL "com.github.actions.description"="Retrieve license for Unity editor" +LABEL "com.github.actions.name"="Activate Unity" +LABEL "com.github.actions.description"="Activate license for Unity editor" LABEL "com.github.actions.icon"="box" LABEL "com.github.actions.color"="gray-dark" diff --git a/activate/README.md b/activate/README.md new file mode 100644 index 0000000..1ed0c24 --- /dev/null +++ b/activate/README.md @@ -0,0 +1,40 @@ +# Activate Unity + +Activates personal of professional license of unity. + +## Usage + +#### Personal license example + +1. Goto `Repository` > `Settings` > `Secrets` +2. Create a new secret called `UNITY_LICENSE` +3. Find the license file: + - Windows: `C:/ProgramData/Unity/Unity_lic.ulf` + - MacOS: `/Library/Application Support/Unity/Unity_lic.ulf` +4. Copy the contents into the value field of the secret `UNITY_LICENSE` +5. Use the action as follows: + +```yaml +- name: Activate Unity + uses: webbertakken/unity-actions/activate@master + env: + UNITY_LICENSE: ${{ secrets.UNITY_LICENSE }} +``` + +#### Professional license example + +1. Goto `Repository` > `Settings` > `Secrets` +2. Set the following secrets: + - `UNITY_EMAIL`: <your_unity_login_email_address> + - `UNITY_PASSWORD`: <your_unity_login_password> + - `UNITY_SERIAL`: <your_unity_serial> +3. Use the action as follows: + +```yaml +- name: Activate Unity + uses: webbertakken/unity-actions/activate@master + env: + UNITY_EMAIL: ${{ secrets.UNITY_EMAIL }} + UNITY_PASSWORD: ${{ secrets.UNITY_PASSWORD }} + UNITY_SERIAL: ${{ secrets.UNITY_SERIAL }} +``` diff --git a/activate/entrypoint.sh b/activate/entrypoint.sh new file mode 100644 index 0000000..0cf70db --- /dev/null +++ b/activate/entrypoint.sh @@ -0,0 +1,38 @@ +#!/usr/bin/env bash + +set -e + +if [[ ! -z "$UNITY_LICENSE" ]]; then + # + # PERSONAL LICENSE MODE + # + # This will activate Unity, using a license file + # + # Note that this is the ONLY WAY for PERSONAL LICENSES in 2019. + # * See for more details: https://gitlab.com/gableroux/unity3d-gitlab-ci-example/issues/5#note_72815478 + # + # The license file can be found here: + # * Windows: C:/ProgramData/Unity/Unity_lic.ulf + # * MacOS: /Library/Application Support/Unity/Unity_lic.ulf + # + echo "$UNITY_LICENSE" > /root/.local/share/unity3d/Unity/Unity_lic.ulf +else + # + # PROFESSIONAL (SERIAL) LICENSE MODE + # + # This will activate unity, using the activating process. + # + # Note: This is the preferred way for PROFESSIONAL LICENSES. + # + xvfb-run --auto-servernum --server-args='-screen 0 640x480x24' \ + /opt/Unity/Editor/Unity \ + -logFile /dev/stdout \ + -batchmode \ + -username "$UNITY_EMAIL" \ + -password "$UNITY_PASSWORD" \ + -serial "$UNITY_SERIAL" \ + -nographics \ + -verbose \ + -quit \ + -projectPath "$(pwd)" +fi diff --git a/get-license/entrypoint.sh b/get-license/entrypoint.sh deleted file mode 100644 index 90b7dc2..0000000 --- a/get-license/entrypoint.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/usr/bin/env bash - -set -e - -xvfb-run --auto-servernum --server-args='-screen 0 640x480x24' \ - /opt/Unity/Editor/Unity \ - -logFile /dev/stdout \ - -batchmode \ - -username "$UNITY_USERNAME" -password "$UNITY_PASSWORD"