Skip to content

Commit 07a984d

Browse files
bfopsjoshua-spacetime
authored andcommitted
CI - Clean up several scripts and call sites related to codegen (#3363)
# Description of Changes * Small cleanups in `tools/check-diff.sh` * Use `tools/check-diff.sh` wherever appropriate * Simplify the `sdks/csharp/tools~/gen-*.sh` files after the repo merge # API and ABI breaking changes None. # Expected complexity level and risk 1 # Testing - [x] CI still passes Co-authored-by: Zeke Foppa <bfops@users.noreply.github.com>
1 parent 4b57d96 commit 07a984d

9 files changed

Lines changed: 21 additions & 37 deletions

File tree

.github/workflows/csharp-test.yml

Lines changed: 7 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -83,15 +83,11 @@ jobs:
8383
CARGO_TARGET_DIR: demo/Blackholio/server-rust/target
8484

8585
- name: Check quickstart-chat bindings are up to date
86-
working-directory: sdks/csharp/examples~/quickstart-chat
86+
working-directory: sdks/csharp
8787
run: |
88-
bash ../../tools~/gen-quickstart.sh "${GITHUB_WORKSPACE}"
89-
# This was copied from tools/check-diff.sh.
90-
# It's required because `spacetime generate` creates lines with the SpacetimeDB commit
91-
# version, which would make this `git diff` check very brittle if included.
92-
PATTERN='^// This was generated using spacetimedb cli version.*'
93-
git diff --exit-code --ignore-matching-lines="$PATTERN" -- . || {
94-
echo "Error: quickstart-chat bindings have changed. Please regenerate the bindings and commit them to this branch."
88+
bash tools~/gen-quickstart.sh
89+
"${GITHUB_WORKSPACE}"/tools/check-diff.sh examples~/quickstart-chat || {
90+
echo 'Error: quickstart-chat bindings have changed. Please run `sdks/csharp/tools~/gen-quickstart.sh`.'
9591
exit 1
9692
}
9793
@@ -101,12 +97,8 @@ jobs:
10197

10298
- name: Check for changes
10399
run: |
104-
# This was copied from tools/check-diff.sh.
105-
# It's required because `spacetime generate` creates lines with the SpacetimeDB commit
106-
# version, which would make this `git diff` check very brittle if included.
107-
PATTERN='^// This was generated using spacetimedb cli version.*'
108-
git diff --exit-code --ignore-matching-lines="$PATTERN" -- demo/Blackholio/client-unity/Assets/Scripts/autogen || {
109-
echo "Error: Bindings are dirty. Please generate bindings again and commit them to this branch."
100+
tools/check-diff.sh demo/Blackholio/client-unity/Assets/Scripts/autogen || {
101+
echo 'Error: Bindings are dirty. Please run `demo/Blackholio/server-rust/generate.sh`.'
110102
exit 1
111103
}
112104
@@ -124,7 +116,7 @@ jobs:
124116
disown
125117
126118
- name: Run regression tests
127-
run: bash sdks/csharp/tools~/run-regression-tests.sh .
119+
run: bash sdks/csharp/tools~/run-regression-tests.sh
128120

129121
- name: Publish unity-tests module to SpacetimeDB
130122
working-directory: demo/Blackholio/server-rust

.github/workflows/typescript-test.yml

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -102,14 +102,10 @@ jobs:
102102
- name: Check for changes
103103
working-directory: crates/bindings-typescript
104104
run: |
105-
# This was copied from SpacetimeDB/tools/check-diff.sh.
106-
# It's required because `spacetime generate` creates lines with the SpacetimeDB commit
107-
# version, which would make this `git diff` check very brittle if included.
108-
PATTERN='^// This was generated using spacetimedb cli version.*'
109-
if ! git diff --exit-code --ignore-matching-lines="$PATTERN" -- examples/quickstart-chat/src/module_bindings; then
105+
"${GITHUB_WORKSPACE}"/tools/check-diff.sh examples/quickstart-chat/src/module_bindings || {
110106
echo "Error: Bindings are dirty. Please generate bindings again and commit them to this branch."
111107
exit 1
112-
fi
108+
}
113109
114110
# - name: Start SpacetimeDB
115111
# run: |

sdks/csharp/examples~/quickstart-chat/client/README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ See [SpacetimeDB](https://github.com/clockworklabs/SpacetimeDB)/modules/quicksta
33

44
## Regenerating bindings
55

6-
To regenerate bindings: clone SpacetimeDB next to this repo, then in the root of this repo:
6+
To regenerate bindings: clone SpacetimeDB next to this repo, then in `sdks/csharp` of this repo:
77

88
```bash
9-
tools~/gen-quickstart.sh ../SpacetimeDB
10-
```
9+
tools~/gen-quickstart.sh
10+
```

sdks/csharp/tools~/gen-client-api.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22

33
set -ueo pipefail
44

5-
STDB_PATH="$1"
65
SDK_PATH="$(dirname "$0")/.."
76
SDK_PATH="$(realpath "$SDK_PATH")"
7+
STDB_PATH="$SDK_PATH/../.."
88

99
cargo build --manifest-path "$STDB_PATH/crates/standalone/Cargo.toml"
1010

sdks/csharp/tools~/gen-quickstart.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22

33
set -ueo pipefail
44

5-
STDB_PATH="$1"
65
SDK_PATH="$(dirname "$0")/.."
76
SDK_PATH="$(realpath "$SDK_PATH")"
7+
STDB_PATH="$SDK_PATH/../.."
88

99
cargo build --manifest-path "$STDB_PATH/crates/standalone/Cargo.toml"
1010
cargo run --manifest-path "$STDB_PATH/crates/cli/Cargo.toml" -- generate -y -l csharp -o "$SDK_PATH/examples~/quickstart-chat/client/module_bindings" --project-path "$SDK_PATH/examples~/quickstart-chat/server"

sdks/csharp/tools~/gen-regression-tests.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22

33
set -ueo pipefail
44

5-
STDB_PATH="$1"
65
SDK_PATH="$(dirname "$0")/.."
76
SDK_PATH="$(realpath "$SDK_PATH")"
7+
STDB_PATH="$SDK_PATH/../.."
88

99
cargo build --manifest-path "$STDB_PATH/crates/standalone/Cargo.toml"
1010
cargo run --manifest-path "$STDB_PATH/crates/cli/Cargo.toml" -- generate -y -l csharp -o "$SDK_PATH/examples~/regression-tests/client/module_bindings" --project-path "$SDK_PATH/examples~/regression-tests/server"

sdks/csharp/tools~/run-regression-tests.sh

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,12 @@
44

55
set -ueo pipefail
66

7-
STDB_PATH="$1"
87
SDK_PATH="$(dirname "$0")/.."
98
SDK_PATH="$(realpath "$SDK_PATH")"
9+
STDB_PATH="$SDK_PATH/../.."
1010

1111
# Regenerate Bindings
12-
"$SDK_PATH/tools~/gen-regression-tests.sh" "$STDB_PATH"
12+
"$SDK_PATH/tools~/gen-regression-tests.sh"
1313

1414
# Build and run SpacetimeDB server
1515
cargo build --manifest-path "$STDB_PATH/crates/standalone/Cargo.toml"
@@ -27,4 +27,4 @@ cargo run --manifest-path "$STDB_PATH/crates/cli/Cargo.toml" call republish-test
2727
cd "$SDK_PATH/examples~/regression-tests/client" && dotnet run -c Debug
2828

2929
# Run client for republishing module test
30-
cd "$SDK_PATH/examples~/regression-tests/republishing/client" && dotnet run -c Debug
30+
cd "$SDK_PATH/examples~/regression-tests/republishing/client" && dotnet run -c Debug

sdks/csharp/tools~/update-against-stdb.sh

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@ SDK_PATH="$(dirname "$0")/.."
99
SDK_PATH="$(realpath "$SDK_PATH")"
1010

1111
"$SDK_PATH/tools~/write-nuget-config.sh" "$STDB_PATH"
12-
"$SDK_PATH/tools~/gen-client-api.sh" "$STDB_PATH"
13-
"$SDK_PATH/tools~/gen-quickstart.sh" "$STDB_PATH"
14-
"$SDK_PATH/tools~/gen-regression-tests.sh" "$STDB_PATH"
12+
"$SDK_PATH/tools~/gen-client-api.sh"
13+
"$SDK_PATH/tools~/gen-quickstart.sh"
14+
"$SDK_PATH/tools~/gen-regression-tests.sh"
1515
dotnet nuget locals all --clear
1616
dotnet pack "$STDB_PATH/crates/bindings-csharp"
1717
rm -rf "$SDK_PATH/packages"

tools/check-diff.sh

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,9 @@
44

55
SUBDIR="${1:-.}" # Default to '.' (the whole repo) if no argument given
66

7-
# We need to figure out the root to make this work when called from a directory within the repo.
8-
GIT_ROOT="$(git rev-parse --show-toplevel)"
9-
107
# We have a comment in every generated file that has the version and git hash, so these would change with every commit.
118
# We ignore them to avoid having to regen files for every commit unrelated to code gen.
129

1310
PATTERN='^// This was generated using spacetimedb cli version.*'
14-
failed=0
1511

1612
git diff --exit-code --ignore-matching-lines="$PATTERN" -- "$SUBDIR"

0 commit comments

Comments
 (0)