Skip to content

Weekly data workflow only refreshes an unused file and pushes straight to unprotected main #35

Description

@TMHSDigital

Why it matters

The weekly "Update Unity API Data" workflow looks like it keeps the API database current, but it only rewrites lifecycle_order.json, which no MCP tool reads. It also pushes directly to an unprotected main, pinned to an old docs version. It gives a false sense of freshness while adding unreviewed commits.

Evidence

  • .github/scripts/refresh_unity_data.py:118-121 - only lifecycle_order.json is refreshed. unity_api_common.json, deprecated_patterns.json, shader_properties.json, platform_defines.json are never updated.
  • grep lifecycle_order mcp-server/server.py returns nothing: no tool loads that file.
  • refresh_unity_data.py:22 - UNITY_DOCS_BASE = ".../6000.1/Documentation/ScriptReference" is hardcoded.
  • The lifecycle list includes OnPreCull, OnPreRender, OnPostRender, OnRenderImage, which are not called in URP/HDRP, with no pipeline note.
  • .github/workflows/update-unity-api.yml commits and git pushes straight to main; gh api .../branches/main/protection returns "Branch not protected".

Suggested approach

  • Either expose lifecycle data through a tool (e.g. a lifecycle_info tool or include it in lookup_api) or stop refreshing it.
  • Rename the workflow to reflect what it does, read the docs version from a single config value, and open a PR (e.g. peter-evans/create-pull-request) instead of pushing to main.
  • Enable branch protection on main with required status checks (Validate), and allow the release bot through a ruleset bypass.
  • Add a pipeline-compatibility field to lifecycle entries.

Done when

Automated data changes arrive as PRs that pass CI, the refreshed data is actually used, and main is protected.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions