-
-
Notifications
You must be signed in to change notification settings - Fork 293
fix: No changesets found
error occurs when installing Unity on MacOS
#747
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
This error is caused by old `unity-changeset` that doesn't support GraphQL.
📝 WalkthroughWalkthroughUpdates dependency version of unity-changeset in package.json from ^2.0.0 to ^3.0.0 and adjusts end-of-file newline. Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~2 minutes Suggested reviewers
Poem
Pre-merge checks and finishing touches❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✨ Finishing touches🧪 Generate unit tests (beta)
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro ⛔ Files ignored due to path filters (4)
📒 Files selected for processing (1)
🔇 Additional comments (1)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #747 +/- ##
=======================================
Coverage 38.34% 38.34%
=======================================
Files 78 78
Lines 3169 3169
Branches 663 663
=======================================
Hits 1215 1215
Misses 1809 1809
Partials 145 145 🚀 New features to boost your workflow:
|
Thanks for the fix 🎉 While reviewing, I asked myself why this change was necessary for If we plan to support executing tests directly on macos, we might want to consider extracting Here's a more detailed analysis (claude-4.5-sonnet)
Analysis: Why
|
Aspect | unity-builder | unity-test-runner |
---|---|---|
Platforms | Linux, Windows, macOS | Linux, Windows only |
Unity Setup | Installs Unity locally on macOS via Unity Hub CLI | Uses pre-built Docker images |
Needs Changeset? | ✅ Yes - required for Unity Hub installation | ❌ No - Docker images already have Unity |
Dependency | unity-changeset@^3.0.0 |
None |
Why the Changeset is Needed
Unity Hub CLI requires the changeset hash because Unity versions aren't truly unique by version string alone. The same version number can have different builds (e.g., for hotfixes), and the changeset uniquely identifies the exact binary.
The unity-changeset
package queries Unity's version database to map version strings → changeset hashes, which is exactly what breaks when Unity changes their API (hence the v2→v3 upgrade).
Since unity-test-runner
never installs Unity (it just runs containers), it never needs to look up changesets, so it doesn't need this dependency.
We're probably going to need a similar fix in Versioning backend to fix game-ci/documentation#510 |
@mob-sakai Looks like the Workflows are showing |
As a workaround, we can install the GraphQL dependency ourselves, but fixing this upstream sounds ideal. |
I'm pressed for time atm. Can do quick replies but not PRs |
having the same issue here, can we expect a quick fix or should we install graphql on our servers as a workaround? |
Workaround is downgrade to v4.6.1. But the fix should also be simple. We just need the dependency installed. or for the |
@webbertakken I've just opened a PR to fix the issue: #749 |
Wow, sorry for the trouble everyone. |
@mob-sakai no worries of course! Actually thank you so much for helping out. Do you think it's possible to make the executable include graphql? or have it install it as a prod dev internally? |
Yeah, no problem! 👍 unity-builder $ yarn install
...
warning "unity-changeset > [email protected]" has unmet peer dependency "graphql@14 - 16".
warning "unity-changeset > graphql-request > @graphql-typed-document-node/[email protected]" has unmet peer dependency "graphql@^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0".
... |
Released as
|
It's no longer a peer dependency if it's absolutely required to run the tool. Shall we move them to prod dependencies instead? Looking at your second comment, that is exactly what you did. Sounds good! |
Can confirm that 3.0.1 works as expected. See game-ci/versioning-backend#67 and game-ci/versioning-backend#68 |
The error is caused by old
unity-changeset
that doesn't support GraphQL.Changes
unity-changeset@^2.0.0
tounity-changeset@^3.0.0
Related Issues
Related PRs
Successful Workflow Run Link
PRs don't have access to secrets so you will need to provide a link to a successful run of the workflows from your own
repo.
Checklist
code of conduct
in the documentation repo)
npm run build
Summary by CodeRabbit