Skip to content

Fix for cargo ci dlls missing some .meta files#4178

Merged
jdetter merged 2 commits intomasterfrom
rekhoff/cargo-ci-dlls-version-dir-fix
Feb 3, 2026
Merged

Fix for cargo ci dlls missing some .meta files#4178
jdetter merged 2 commits intomasterfrom
rekhoff/cargo-ci-dlls-version-dir-fix

Conversation

@rekhoff
Copy link
Contributor

@rekhoff rekhoff commented Feb 2, 2026

Description of Changes

This patches a regression introduced in #4033 where cargo ci dlls stopped copying the Unity .meta files that live outside the package skeleton tree:

  1. overlay_unity_meta_skeleton now copies any sdks/csharp/unity-meta-skeleton~/spacetimedb.<pkg>.meta file into sdks/csharp/packages/ before overlaying nested content.
  2. Added support for a version.meta template inside each skeleton package; it’s renamed to match the single restored version directory (e.g. 1.11.2.meta).
  3. Added the missing version.meta templates for both spacetimedb.bsatn.runtime and spacetimedb.runtime, based on the historical GUIDs Unity already knows about.

Together this restores the spacetimedb.bsatn.runtime.meta and <version>.meta files that Unity requires to keep those folders visible when developers run cargo ci dlls on a clean checkout.

API and ABI breaking changes

None. This only affects the CI helper responsible for syncing Unity metadata.

Expected complexity level and risk

2 — localized changes to the CI helper and skeleton assets. Primary risk is forgetting a template or mis-copying a GUID; the code paths themselves are straightforward.

Testing

  • Ran cargo check -p ci
  • Ran cargo ci dlls on a clean tree, verifying that:
    • sdks/csharp/packages/spacetimedb.bsatn.runtime.meta exists
    • The restored version directory (e.g. sdks/csharp/packages/spacetimedb.bsatn.runtime/1.11.2.meta) exists
  • Locally launched Unity with a SpacetimeDB project and had no errors/issues.

@rekhoff rekhoff self-assigned this Feb 2, 2026
@rekhoff rekhoff requested a review from jdetter February 2, 2026 17:56
@rekhoff rekhoff marked this pull request as ready for review February 3, 2026 00:10
Copy link
Collaborator

@jdetter jdetter left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested working - thanks Ryan 👍

@jdetter jdetter added this pull request to the merge queue Feb 3, 2026
Merged via the queue into master with commit 0977098 Feb 3, 2026
45 of 47 checks passed
jdetter pushed a commit that referenced this pull request Feb 3, 2026
# Description of Changes
This patches a regression introduced in
[#4033](#4033) where
cargo ci dlls stopped copying the Unity .meta files that live outside
the package skeleton tree:
1. `overlay_unity_meta_skeleton` now copies any
`sdks/csharp/unity-meta-skeleton~/spacetimedb.<pkg>.meta` file into
`sdks/csharp/packages/` before overlaying nested content.
2. Added support for a `version.meta` template inside each skeleton
package; it’s renamed to match the single restored version directory
(e.g. `1.11.2.meta`).
3. Added the missing `version.meta` templates for both
`spacetimedb.bsatn.runtime` and `spacetimedb.runtime`, based on the
historical GUIDs Unity already knows about.

Together this restores the `spacetimedb.bsatn.runtime.meta` and
`<version>.meta` files that Unity requires to keep those folders visible
when developers run `cargo ci dlls` on a clean checkout.

# API and ABI breaking changes
None. This only affects the CI helper responsible for syncing Unity
metadata.

# Expected complexity level and risk
2 — localized changes to the CI helper and skeleton assets. Primary risk
is forgetting a template or mis-copying a GUID; the code paths
themselves are straightforward.

# Testing
- [X] Ran `cargo check -p ci`
- [X] Ran `cargo ci dlls` on a clean tree, verifying that:
  * `sdks/csharp/packages/spacetimedb.bsatn.runtime.meta` exists
* The restored version directory (e.g.
`sdks/csharp/packages/spacetimedb.bsatn.runtime/1.11.2.meta`) exists
- [X] Locally launched Unity with a SpacetimeDB project and had no
errors/issues.
jdetter pushed a commit that referenced this pull request Feb 3, 2026
# Description of Changes
This patches a regression introduced in
[#4033](#4033) where
cargo ci dlls stopped copying the Unity .meta files that live outside
the package skeleton tree:
1. `overlay_unity_meta_skeleton` now copies any
`sdks/csharp/unity-meta-skeleton~/spacetimedb.<pkg>.meta` file into
`sdks/csharp/packages/` before overlaying nested content.
2. Added support for a `version.meta` template inside each skeleton
package; it’s renamed to match the single restored version directory
(e.g. `1.11.2.meta`).
3. Added the missing `version.meta` templates for both
`spacetimedb.bsatn.runtime` and `spacetimedb.runtime`, based on the
historical GUIDs Unity already knows about.

Together this restores the `spacetimedb.bsatn.runtime.meta` and
`<version>.meta` files that Unity requires to keep those folders visible
when developers run `cargo ci dlls` on a clean checkout.

# API and ABI breaking changes
None. This only affects the CI helper responsible for syncing Unity
metadata.

# Expected complexity level and risk
2 — localized changes to the CI helper and skeleton assets. Primary risk
is forgetting a template or mis-copying a GUID; the code paths
themselves are straightforward.

# Testing
- [X] Ran `cargo check -p ci`
- [X] Ran `cargo ci dlls` on a clean tree, verifying that:
  * `sdks/csharp/packages/spacetimedb.bsatn.runtime.meta` exists
* The restored version directory (e.g.
`sdks/csharp/packages/spacetimedb.bsatn.runtime/1.11.2.meta`) exists
- [X] Locally launched Unity with a SpacetimeDB project and had no
errors/issues.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants