Skip to content

Add CI for Unity 6.5 #708

@IvanMurzak

Description

@IvanMurzak

Summary

Add a CI matrix entry for Unity 6.5 so the Unity-MCP plugin is validated against that editor version on every PR/release, alongside the currently covered versions (2022.3.62f3, 2023.2.22f1, 6000.3.1f1).

Status: Blocked

This issue is blocked until game-ci publishes a unityci/editor Docker image for Unity 6.5. Our CI runs Unity inside a container on ubuntu-latest, so without a prebuilt image there is no supported way to execute editor tests headlessly.

Track availability of new tags here:

Implementation

Once a unityci/editor:ubuntu-6500.<x>.<y>f<z>-base-3 (and -windows-mono-3) tag exists, the change is mechanical and follows the existing pattern in .github/workflows/test_pull_request.yml.

1. Add a Unity-Tests/<unity-6.5-version> project

Create a sibling Unity project to Unity-Tests/6000.3.1f1/ for the new version (the existing ProjectVersion.txt, package manifest, and test assemblies can be copied and version-bumped).

2. Add jobs to test_pull_request.yml

For each test mode (editmode, standalone — and playmode once it is re-enabled), add a job that calls the reusable test_unity_plugin.yml workflow:

test-unity-6500-x-yfz-editmode:
  needs: [build-and-zip-mcp-server]
  uses: ./.github/workflows/test_unity_plugin.yml
  with:
    projectPath: './Unity-Tests/6500.x.yfz'
    unityVersion: '6500.x.yfz'
    testMode: 'editmode'
  secrets: inherit

test-unity-6500-x-yfz-standalone:
  needs: [build-and-zip-mcp-server]
  uses: ./.github/workflows/test_unity_plugin.yml
  with:
    projectPath: './Unity-Tests/6500.x.yfz'
    unityVersion: '6500.x.yfz'
    testMode: 'standalone'
  secrets: inherit

The reusable workflow already builds the custom image name as:

unityci/editor:ubuntu-${{ inputs.unityVersion }}-${{ matrix.platform }}-3

so as long as that tag exists on Docker Hub for the chosen 6.5 patch, no other workflow change is required. Both base and windows-mono platform variants must be available for the matrix to pass.

3. Pre-merge verification

Before merging, manually trigger test_pull_request_manual.yml (or the standard PR run) and confirm:

  • The container pulls successfully (no manifest unknown from Docker Hub).
  • License activation works for the new version (see .github/actions/unity/activate-license).
  • Edit-mode and standalone tests pass.

Acceptance Criteria

  • A unityci/editor:ubuntu-6500.x.yfz-base-3 image is available on Docker Hub.
  • A unityci/editor:ubuntu-6500.x.yfz-windows-mono-3 image is available on Docker Hub.
  • Unity-Tests/6500.x.yfz/ project added.
  • Edit-mode + standalone jobs added to test_pull_request.yml.
  • Green CI run on a PR exercising the new jobs.

Notes

  • Help wanted: anyone who spots a 6.5 tag landing on the unityci/editor Docker Hub page is welcome to pick this up.
  • If game-ci does not publish a 6.5 image in a reasonable timeframe, an alternative is to build a custom image from game-ci/docker and push it to a project-controlled registry — but that is out of scope until the upstream path is clearly unavailable.

Metadata

Metadata

Assignees

No one assigned

    Labels

    blockedBlocked by something elseenhancementNew feature or requesthelp wantedExtra attention is needed

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions