Cc #311
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Unity Actions | |
on: | |
push: | |
branches: [ main ] | |
pull_request: | |
branches: [ main ] | |
workflow_dispatch: {} | |
### Refer to https://game.ci/docs/github/getting-started | |
jobs: | |
setup: | |
name: Setup Packages | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
lfs: true | |
- name: Cache .NET tools | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/.nuget/packages | |
~/.dotnet/tools | |
key: dotnet-tools-${{ runner.os }}-8.0 | |
restore-keys: | | |
dotnet-tools-${{ runner.os }} | |
- name: Cache Packages | |
uses: actions/cache@v3 | |
with: | |
path: Assets/Packages | |
key: Packages | |
- name: Setup .NET | |
uses: actions/setup-dotnet@v4 | |
with: | |
dotnet-version: '8.0.x' | |
- name: Install NuGetForUnity.Cli | |
run: dotnet tool install --global NuGetForUnity.Cli | |
- name: Restore NuGet Packages for Unity Project | |
run: nugetforunity restore . | |
test: | |
needs: setup | |
permissions: | |
checks: write | |
name: Run all tests ✨ | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
lfs: true | |
- uses: actions/cache@v3 | |
with: | |
path: Library | |
key: Library-test | |
- uses: actions/cache/restore@v3 | |
with: | |
path: Assets/Packages | |
key: Packages | |
- uses: game-ci/unity-test-runner@v4 | |
id: testRunner | |
env: | |
UNITY_LICENSE: ${{ secrets.UNITY_LICENSE }} | |
UNITY_EMAIL: ${{ secrets.UNITY_EMAIL }} | |
UNITY_PASSWORD: ${{ secrets.UNITY_PASSWORD }} | |
with: | |
githubToken: ${{ secrets.GITHUB_TOKEN }} | |
projectPath: . | |
- uses: actions/upload-artifact@v3 | |
with: | |
githubToken: ${{ secrets.GITHUB_TOKEN }} | |
name: Test results (playmode) | |
path: ${{ steps.testRunner.outputs.artifactsPath }} | |
build: | |
needs: [setup, test] | |
name: Build for ${{ matrix.targetPlatform }} | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
targetPlatform: | |
- StandaloneLinux64 | |
- StandaloneWindows64 | |
- StandaloneOSX | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
lfs: true | |
- uses: actions/cache@v3 | |
with: | |
path: Library | |
key: Library-${{ matrix.targetPlatform }} | |
- uses: actions/cache/restore@v3 | |
with: | |
path: Assets/Packages | |
key: Packages | |
- 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 }} | |
projectPath: . | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: Build-${{ matrix.targetPlatform }} | |
path: build | |
lint: | |
name: Lint | |
runs-on: ubuntu-latest | |
container: unityci/editor:ubuntu-2022.3.51f1-linux-il2cpp-3.1.0 | |
steps: | |
- uses: actions/checkout@v1 | |
- name: Setup .NET | |
uses: actions/setup-dotnet@v4 | |
with: | |
dotnet-version: '8.0.x' | |
- name: Install NuGetForUnity.Cli | |
run: | | |
dotnet tool install --global NuGetForUnity.Cli | |
echo "$HOME/.dotnet/tools" >> $GITHUB_PATH | |
- name: Restore NuGet Packages for Unity Project | |
run: nugetforunity restore . | |
- name: Generate Solution | |
env: | |
UNITY_LICENSE: ${{ secrets.UNITY_LICENSE }} | |
UNITY_SERIAL: ${{ secrets.UNITY_SERIAL }} | |
UNITY_EMAIL: ${{ secrets.UNITY_EMAIL }} | |
UNITY_PASSWORD: ${{ secrets.UNITY_PASSWORD }} | |
run: | | |
unity-editor -nographics -logFile /dev/stdout -quit -username "$UNITY_EMAIL" -password "$UNITY_PASSWORD" -serial "$UNITY_SERIAL" | |
unity-editor -nographics -logFile /dev/stdout -customBuildName LinuxProjectFileBuild -projectPath . -executeMethod Packages.Rider.Editor.RiderScriptEditor.SyncSolution -quit | |
- name: Format | |
run: dotnet format MAEPS.sln --exclude "Assets/RosMessages/" --exclude "Assets/YamlDotNet/" --verify-no-changes |