Generic DataWriter #206
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 # Update this if the .NET or tool version changes | |
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: Check Directory Structure | |
run: | | |
echo "Current directory structure:" | |
ls -R . # Lists all files and folders recursively starting from the root of the project | |
echo "Contents of ProjectSettings (if exists):" | |
ls ./ProjectSettings || echo "ProjectSettings folder not found in the expected location." | |
- 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: 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 |