Skip to content
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

SATS: Flatten AlgebraicType, getting rid of BuiltinType #1559

Merged
merged 7 commits into from
Aug 6, 2024

Conversation

Centril
Copy link
Contributor

@Centril Centril commented Jul 31, 2024

Description of Changes

Take 2 of #379.

API and ABI breaking changes

Any API/ABI relying on AlgebraicTypes BSATN serialization will break.

Expected complexity level and risk

3, where the complexity is primarily in codegen.

@cloutiertyler
Copy link
Contributor

cloutiertyler commented Jul 31, 2024

Have you done any testing of the codegen @Centril? AFAICT the changes seem more or less minimal for what we need to do.

@Centril Centril force-pushed the centril/flatten-algebraic-type branch from dc584f1 to 9824a26 Compare August 1, 2024 10:18
@Centril Centril changed the base branch from master to centril/bye-python-sdk August 1, 2024 10:18
@Centril Centril force-pushed the centril/flatten-algebraic-type branch from 9824a26 to e591a97 Compare August 1, 2024 10:19
Base automatically changed from centril/bye-python-sdk to master August 1, 2024 11:46
@Centril Centril force-pushed the centril/flatten-algebraic-type branch 2 times, most recently from 958efdb to 7dd030d Compare August 1, 2024 11:51
@Centril
Copy link
Contributor Author

Centril commented Aug 1, 2024

Have you done any testing of the codegen @Centril? AFAICT the changes seem more or less minimal for what we need to do.

The Rust codegen is tested in CI but the C# sdk tests seem to be broken in CI. This PR appears to slightly break the C# SDK which clockworklabs/com.clockworklabs.spacetimedbsdk#116 is meant to fix. However, I don't know how to test the combination of this and that PR locally. I'm hoping that @bfops can help me out here.

@bfops
Copy link
Collaborator

bfops commented Aug 1, 2024

Have you done any testing of the codegen @Centril? AFAICT the changes seem more or less minimal for what we need to do.

The Rust codegen is tested in CI but the C# sdk tests seem to be broken in CI. This PR appears to slightly break the C# SDK which clockworklabs/spacetimedb-csharp-sdk#116 is meant to fix. However, I don't know how to test the combination of this and that PR locally. I'm hoping that @bfops can help me out here.

The easiest way to at least get the command-line tests (dotnet test) building with a different version of SpacetimeDB is to add a nuget.config file into the root of the spacetimedb-csharp-sdk repo:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <!-- Local NuGet repositories -->
    <add key="Local SpacetimeDB.BSATN.Runtime" value="${SPACETIMEDB_REPO_PATH}/crates/bindings-csharp/BSATN.Runtime/bin/Release" />
    <!-- Official NuGet.org server -->
    <add key="NuGet.org" value="https://api.nuget.org/v3/index.json" />
  </packageSources>
</configuration>

replace ${SPACETIMEDB_REPO_PATH} with the relative or absolute path to the SpacetimeDB repo. (I have an open PR to add a helper script for generating this file)

@bfops
Copy link
Collaborator

bfops commented Aug 1, 2024

Ah actually it requires a dotnet pack as well.. this new README might help.

@bfops
Copy link
Collaborator

bfops commented Aug 1, 2024

(To be clear, the C# SDK tests are not a required check on PRs - they're there to effectively warn you that something downstream will be broken and will need fixing once this merges)

@bfops
Copy link
Collaborator

bfops commented Aug 1, 2024

dotnet test passed for me locally in the C# SDK repo when I tested this branch alongside clockworklabs/com.clockworklabs.spacetimedbsdk#116.

Copy link
Contributor

@RReverser RReverser left a comment

Choose a reason for hiding this comment

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

Minor nits, but lgtm.

@Centril Centril force-pushed the centril/flatten-algebraic-type branch from 5984ca5 to c504aa5 Compare August 6, 2024 17:01
@Centril Centril added this pull request to the merge queue Aug 6, 2024
Merged via the queue into master with commit 3340cee Aug 6, 2024
7 of 8 checks passed
bfops added a commit to clockworklabs/com.clockworklabs.spacetimedbsdk that referenced this pull request Aug 6, 2024
## Description of Changes

Required to make "SDK Tests" pass in
clockworklabs/SpacetimeDB#1559.

## API

Not breaking.

## Requires SpacetimeDB PRs

- clockworklabs/SpacetimeDB#1559

---------

Co-authored-by: Zeke Foppa <[email protected]>
@Centril Centril deleted the centril/flatten-algebraic-type branch August 6, 2024 19:08
@bfops bfops mentioned this pull request Aug 9, 2024
bfops added a commit to clockworklabs/com.clockworklabs.spacetimedbsdk that referenced this pull request Aug 29, 2024
## Description of Changes

Required to make "SDK Tests" pass in
clockworklabs/SpacetimeDB#1559.

## API

Not breaking.

## Requires SpacetimeDB PRs

- clockworklabs/SpacetimeDB#1559

---------

Co-authored-by: Zeke Foppa <[email protected]>
lcodes pushed a commit to clockworklabs/com.clockworklabs.spacetimedbsdk that referenced this pull request Sep 29, 2024
## Description of Changes

Required to make "SDK Tests" pass in
clockworklabs/SpacetimeDB#1559.

## API

Not breaking.

## Requires SpacetimeDB PRs

- clockworklabs/SpacetimeDB#1559

---------

Co-authored-by: Zeke Foppa <[email protected]>
@bfops bfops added the api-break A PR that makes an API breaking change label Dec 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
abi-break A PR that makes an ABI breaking change api-break A PR that makes an API breaking change release-0.12
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants