Skip to content

MirrorNetworking/unity-runner

 
 

Repository files navigation

Unity - Runner

GitHub Action to run unity for any Unity project.

This Action also includes SonarScanner and DocFX installs


Usage

Create or edit the file called .github/workflows/main.yml and add a request activation file job

name: Test project
on: [push]
jobs:
  requestActivationFile:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout repository
        uses: actions/checkout@v2

      - name: Request manual activation file
        uses: MirrorNetworking/[email protected]
        id: getManualLicenseFile
        with:
            entrypoint: /request_activation.sh

      - name: Expose as artifact
        uses: actions/upload-artifact@v1
        with:
            name: Manual Activation File
            path: ${{ steps.getManualLicenseFile.outputs.filePath }}

Commit and push this so it runs once. This will generate a manual activation license request file. Save this file and upload it to https://license.unity3d.com/manual

That will generate a license file for personal. Go back to your github project and navigate to Settings -> Secrets

create a secret called UNITY_LICENSE and paste inside the content of the license file.

You can disable the job by adding if: false() or commenting it out, you only needed it to generate the license.

Add a job to run unity cli on your project. You will need a step to activate unity and another step to run unity with any command line argument you want. For example:

jobs:
  testRunnerInEditMode:
    name: Test edit mode 📝
    runs-on: ubuntu-latest
    env:
      UNITY_LICENSE: ${{ secrets.UNITY_LICENSE }}   
    steps:
      # Checkout repository (required to test local actions)
      - name: Checkout repository
        uses: actions/checkout@v2

      - name: Activate license
        uses: MirrorNetworking/[email protected]
        with:
          entrypoint: /activate.sh

      - name: Run tests
        uses: MirrorNetworking/[email protected]
        with:
          args: -runTests -projectPath .

See the Unity's documentation for a full list of all available argument options.

Packages

No packages published

Languages

  • Shell 59.6%
  • Dockerfile 20.5%
  • C# 19.9%