Generic DataWriter #210
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 .NET and NuGetForUnity.Cli | |
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: 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 . | |
- name: Cache Unity Library Folder | |
uses: actions/cache@v3 | |
with: | |
path: Library | |
key: Library-${{ runner.os }}-$(hashFiles '**/*.csproj') | |
restore-keys: | | |
Library-${{ runner.os }} | |
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 | |
- name: List files in the repository | |
run: ls -R | |
- 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: 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: | |
needs: setup | |
name: Lint | |
runs-on: ubuntu-latest | |
container: unityci/editor:ubuntu-2022.3.51f1-linux-il2cpp-3.1.0 | |
steps: | |
- uses: actions/checkout@v1 | |
- 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: Print the files in the folder | |
run: ls | |
- name: Setup .NET | |
uses: actions/setup-dotnet@v4 | |
with: | |
dotnet-version: 8.0.x | |
- name: Format | |
run: dotnet format MAEPS.sln --exclude "Assets/RosMessages/" --exclude "Assets/YamlDotNet/" --verify-no-changes |