升级 SpacetimeDB 工具链到 2.8.3 (#200)
Project CI / Repository checks (push) Successful in 2m52s
Project CI / Backend tests (push) Successful in 6m26s
Project CI / Frontend tests (push) Successful in 10m40s
Project CI / Native shell tests (push) Successful in 18m17s

将 spacetimedb、SDK、lib 精确升级到 2.8.3 并更新 Cargo.lock。

用 2.8.3 CLI 重新生成 spacetime-client Rust bindings。

同步本地 dev、生产 provision、容器镜像和事务 smoke 的版本与 commit 门禁。

更新后端契约、开发运维、项目记忆和 SpacetimeDB skills 的 2.8.3 口径。

---------

Co-authored-by: 段舒康 <kdletters@qq.com>
Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/200
Co-authored-by: suzmii <suzmii@qq.com>
Co-committed-by: suzmii <suzmii@qq.com>
This commit was merged in pull request #200.
This commit is contained in:
2026-08-27 17:10:17 +08:00
committed by 段舒康
parent d24321d657
commit 94521af890
195 changed files with 1651 additions and 1770 deletions
+17 -17
View File
@@ -773,7 +773,7 @@ describe('dev scheduler spacetime reuse guard', () => {
writeFileSync(join(tempDir, 'spacetime.pid'), `${process.pid}\n`, 'utf8');
writeFileSync(
join(tempDir, 'dev-spacetime-tool-version'),
`${workspaceSpacetimeVersionForTest()}\nd220349adb7af7eefa810eb08a185609356b83f6\n`,
`${workspaceSpacetimeVersionForTest()}\n8e410d2842147bd8e5a32a9589cc00c19f7478e2\n`,
'utf8',
);
globalThis.fetch = vi.fn(async () => ({
@@ -802,7 +802,7 @@ describe('dev scheduler spacetime reuse guard', () => {
writeFileSync(join(tempDir, 'spacetime.pid'), `${process.pid}\n`, 'utf8');
writeFileSync(
join(tempDir, 'dev-spacetime-tool-version'),
`${workspaceSpacetimeVersionForTest()}\nd220349adb7af7eefa810eb08a185609356b83f6\n`,
`${workspaceSpacetimeVersionForTest()}\n8e410d2842147bd8e5a32a9589cc00c19f7478e2\n`,
'utf8',
);
globalThis.fetch = vi.fn(async () => ({
@@ -915,30 +915,30 @@ describe('dev scheduler spacetime refresh', () => {
test('解析 spacetime --version 输出里的 tool version', () => {
const output = `
A new version of SpacetimeDB is available: v2.6.1 (current: v2.5.0)
Commit: d220349adb7af7eefa810eb08a185609356b83f6
spacetimedb tool version 2.7.0; spacetimedb-lib version 2.7.0;
Commit: 8e410d2842147bd8e5a32a9589cc00c19f7478e2
spacetimedb tool version 2.8.3; spacetimedb-lib version 2.8.3;
`;
expect(parseSpacetimeToolVersion(output)).toBe('2.7.0');
expect(parseSpacetimeToolVersion(output)).toBe('2.8.3');
expect(parseSpacetimeToolCommit(output)).toBe(
'd220349adb7af7eefa810eb08a185609356b83f6',
'8e410d2842147bd8e5a32a9589cc00c19f7478e2',
);
});
test('同为 2.7.0 时拒绝裸 tag 并接受 hotfix3 commit', () => {
test('同为 2.8.3 时拒绝 commit 不匹配并接受锁定 commit', () => {
expect(() =>
assertSpacetimeToolVersionMatchesWorkspace({
toolVersion: '2.7.0',
toolCommit: 'a08663c7b94688a2542577532d472f751e641f5b',
workspaceVersion: '2.7.0',
toolVersion: '2.8.3',
toolCommit: '0000000000000000000000000000000000000000',
workspaceVersion: '2.8.3',
}),
).toThrow('裸 tag');
).toThrow('构建 commit');
expect(() =>
assertSpacetimeToolVersionMatchesWorkspace({
toolVersion: '2.7.0',
toolCommit: 'd220349adb7af7eefa810eb08a185609356b83f6',
workspaceVersion: '2.7.0',
toolVersion: '2.8.3',
toolCommit: '8e410d2842147bd8e5a32a9589cc00c19f7478e2',
workspaceVersion: '2.8.3',
}),
).not.toThrow();
});
@@ -974,14 +974,14 @@ spacetimedb tool version 2.7.0; spacetimedb-lib version 2.7.0;
}
});
test('复用本地 SpacetimeDB standalone 时拒绝同版本裸 tag 记录', () => {
test('复用本地 SpacetimeDB standalone 时拒绝同版本但 commit 不匹配的记录', () => {
const tempDir = mkdtempSync(
join(tmpdir(), 'genarrative-spacetime-commit-'),
);
try {
writeFileSync(
join(tempDir, 'dev-spacetime-tool-version'),
'2.7.0\na08663c7b94688a2542577532d472f751e641f5b\n',
'2.8.3\n0000000000000000000000000000000000000000\n',
'utf8',
);
@@ -990,7 +990,7 @@ spacetimedb tool version 2.7.0; spacetimedb-lib version 2.7.0;
dataDir: tempDir,
serverUrl: 'http://127.0.0.1:3101',
}),
).toThrow('裸 tag');
).toThrow('构建 commit');
} finally {
rmSync(tempDir, { recursive: true, force: true });
}