Loading .github/workflows/main.yml +29 −78 Original line number Diff line number Diff line name: Unity Actions name: Actions 😎 on: pull_request: {} push: {} workflow_dispatch: {} on: [push, pull_request] ### Refer to https://game.ci/docs/github/getting-started jobs: checklicense: name: Check for UNITY_LICENSE in GitHub Secrets runs-on: ubuntu-latest outputs: is_unity_license_set: ${{ steps.checklicense_job.outputs.is_unity_license_set }} steps: - name: Check whether unity activation requests should be done id: checklicense_job env: UNITY_LICENSE: ${{ secrets.UNITY_LICENSE }} UNITY_EMAIL: ${{ secrets.UNITY_EMAIL }} UNITY_PASSWORD: ${{ secrets.UNITY_PASSWORD }} run: | echo "Skip activation job: ${{ env.UNITY_LICENSE != '' }}" export is_unity_license_set="${{ env.UNITY_LICENSE != '' }}" echo "is_unity_license_set=$is_unity_license_set" >> $GITHUB_OUTPUT activation: needs: checklicense if: needs.checklicense.outputs.is_unity_license_set == 'false' name: Request manual activation file 🔑 runs-on: ubuntu-latest steps: # Request manual activation file - name: Request manual activation file id: getManualLicenseFile uses: game-ci/unity-request-activation-file@v2 # Upload artifact (Unity_v20XX.X.XXXX.alf) - name: Expose as artifact uses: actions/upload-artifact@v3 with: name: ${{ steps.getManualLicenseFile.outputs.filePath }} path: ${{ steps.getManualLicenseFile.outputs.filePath }} test: needs: checklicense if: needs.checklicense.outputs.is_unity_license_set == 'true' name: Run all tests ✨ build: name: Build my project ✨ runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 # Checkout - name: Checkout repository uses: actions/checkout@v4 with: lfs: true - uses: actions/cache@v3 with: path: Library key: Library-test - uses: game-ci/unity-test-runner@v2 id: testRunner env: UNITY_LICENSE: ${{ secrets.UNITY_LICENSE }} UNITY_EMAIL: ${{ secrets.UNITY_EMAIL }} UNITY_PASSWORD: ${{ secrets.UNITY_PASSWORD }} with: githubToken: ${{ secrets.GITHUB_TOKEN }} - uses: actions/upload-artifact@v3 with: name: Test results (all modes) path: ${{ steps.testRunner.outputs.artifactsPath }} build: needs: test name: Build for ${{ matrix.targetPlatform }} runs-on: windows-latest strategy: fail-fast: false matrix: targetPlatform: - StandaloneWindows64 steps: - uses: actions/checkout@v3 with: lfs: true # Cache - uses: actions/cache@v3 with: path: Library key: Library-${{ matrix.targetPlatform }} - uses: game-ci/unity-builder@v2 key: Library-${{ hashFiles('Assets/**', 'Packages/**', 'ProjectSettings/**') }} restore-keys: | Library- # Test # - name: Run tests # uses: game-ci/unity-test-runner@v4 # env: # UNITY_LICENSE: ${{ secrets.UNITY_LICENSE }} # UNITY_EMAIL: ${{ secrets.UNITY_EMAIL }} # UNITY_PASSWORD: ${{ secrets.UNITY_PASSWORD }} # with: # githubToken: ${{ secrets.GITHUB_TOKEN }} # Build - name: Build project uses: game-ci/unity-builder@v4 env: UNITY_LICENSE: ${{ secrets.UNITY_LICENSE }} UNITY_EMAIL: ${{ secrets.UNITY_EMAIL }} UNITY_PASSWORD: ${{ secrets.UNITY_PASSWORD }} with: targetPlatform: ${{ matrix.targetPlatform }} targetPlatform: WebGL # Output - uses: actions/upload-artifact@v3 with: name: Build-${{ matrix.targetPlatform }} name: Build path: build No newline at end of file Loading
.github/workflows/main.yml +29 −78 Original line number Diff line number Diff line name: Unity Actions name: Actions 😎 on: pull_request: {} push: {} workflow_dispatch: {} on: [push, pull_request] ### Refer to https://game.ci/docs/github/getting-started jobs: checklicense: name: Check for UNITY_LICENSE in GitHub Secrets runs-on: ubuntu-latest outputs: is_unity_license_set: ${{ steps.checklicense_job.outputs.is_unity_license_set }} steps: - name: Check whether unity activation requests should be done id: checklicense_job env: UNITY_LICENSE: ${{ secrets.UNITY_LICENSE }} UNITY_EMAIL: ${{ secrets.UNITY_EMAIL }} UNITY_PASSWORD: ${{ secrets.UNITY_PASSWORD }} run: | echo "Skip activation job: ${{ env.UNITY_LICENSE != '' }}" export is_unity_license_set="${{ env.UNITY_LICENSE != '' }}" echo "is_unity_license_set=$is_unity_license_set" >> $GITHUB_OUTPUT activation: needs: checklicense if: needs.checklicense.outputs.is_unity_license_set == 'false' name: Request manual activation file 🔑 runs-on: ubuntu-latest steps: # Request manual activation file - name: Request manual activation file id: getManualLicenseFile uses: game-ci/unity-request-activation-file@v2 # Upload artifact (Unity_v20XX.X.XXXX.alf) - name: Expose as artifact uses: actions/upload-artifact@v3 with: name: ${{ steps.getManualLicenseFile.outputs.filePath }} path: ${{ steps.getManualLicenseFile.outputs.filePath }} test: needs: checklicense if: needs.checklicense.outputs.is_unity_license_set == 'true' name: Run all tests ✨ build: name: Build my project ✨ runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 # Checkout - name: Checkout repository uses: actions/checkout@v4 with: lfs: true - uses: actions/cache@v3 with: path: Library key: Library-test - uses: game-ci/unity-test-runner@v2 id: testRunner env: UNITY_LICENSE: ${{ secrets.UNITY_LICENSE }} UNITY_EMAIL: ${{ secrets.UNITY_EMAIL }} UNITY_PASSWORD: ${{ secrets.UNITY_PASSWORD }} with: githubToken: ${{ secrets.GITHUB_TOKEN }} - uses: actions/upload-artifact@v3 with: name: Test results (all modes) path: ${{ steps.testRunner.outputs.artifactsPath }} build: needs: test name: Build for ${{ matrix.targetPlatform }} runs-on: windows-latest strategy: fail-fast: false matrix: targetPlatform: - StandaloneWindows64 steps: - uses: actions/checkout@v3 with: lfs: true # Cache - uses: actions/cache@v3 with: path: Library key: Library-${{ matrix.targetPlatform }} - uses: game-ci/unity-builder@v2 key: Library-${{ hashFiles('Assets/**', 'Packages/**', 'ProjectSettings/**') }} restore-keys: | Library- # Test # - name: Run tests # uses: game-ci/unity-test-runner@v4 # env: # UNITY_LICENSE: ${{ secrets.UNITY_LICENSE }} # UNITY_EMAIL: ${{ secrets.UNITY_EMAIL }} # UNITY_PASSWORD: ${{ secrets.UNITY_PASSWORD }} # with: # githubToken: ${{ secrets.GITHUB_TOKEN }} # Build - name: Build project uses: game-ci/unity-builder@v4 env: UNITY_LICENSE: ${{ secrets.UNITY_LICENSE }} UNITY_EMAIL: ${{ secrets.UNITY_EMAIL }} UNITY_PASSWORD: ${{ secrets.UNITY_PASSWORD }} with: targetPlatform: ${{ matrix.targetPlatform }} targetPlatform: WebGL # Output - uses: actions/upload-artifact@v3 with: name: Build-${{ matrix.targetPlatform }} name: Build path: build No newline at end of file