Skip to content

Commit 2bebcd4

Browse files
committed
Merge remote-tracking branch 'origin/master' into jdetter/csharp-release-changes
2 parents 909a8fc + d7d06b1 commit 2bebcd4

File tree

271 files changed

+16730
-1296
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

271 files changed

+16730
-1296
lines changed
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
name: Attach client binaries to release
2+
3+
on:
4+
workflow_dispatch:
5+
inputs:
6+
release_tag:
7+
description: "Release tag (e.g. v1.9.0)"
8+
required: true
9+
10+
jobs:
11+
upload-assets:
12+
runs-on: spacetimedb-new-runner
13+
container:
14+
image: localhost:5000/spacetimedb-ci:latest
15+
options: >-
16+
--privileged
17+
permissions:
18+
contents: write # needed to modify releases
19+
20+
steps:
21+
- name: Checkout
22+
uses: actions/checkout@v4
23+
24+
- name: Download artifacts from private base URL
25+
env:
26+
RELEASE_TAG: ${{ github.event.inputs.release_tag }}
27+
BASE_URL: ${{ secrets.ARTIFACT_BASE_URL }}
28+
run: |
29+
set -euo pipefail
30+
31+
FULL_URL="$BASE_URL/$RELEASE_TAG"
32+
33+
mkdir -p artifacts
34+
cd artifacts
35+
36+
download() {
37+
local filename="$1"
38+
if ! wget -q "${FULL_URL}/${filename}" -O "${filename}"; then
39+
echo "Failed to download ${filename}"
40+
exit 1
41+
fi
42+
}
43+
44+
download "spacetime-aarch64-apple-darwin.tar.gz"
45+
download "spacetime-aarch64-unknown-linux-gnu.tar.gz"
46+
download "spacetime-x86_64-apple-darwin.tar.gz"
47+
download "spacetime-x86_64-pc-windows-msvc.zip"
48+
download "spacetime-x86_64-unknown-linux-gnu.tar.gz"
49+
download "spacetimedb-update-aarch64-apple-darwin"
50+
download "spacetimedb-update-aarch64-unknown-linux-gnu"
51+
download "spacetimedb-update-x86_64-apple-darwin"
52+
download "spacetimedb-update-x86_64-pc-windows-msvc.exe"
53+
download "spacetimedb-update-x86_64-unknown-linux-gnu"
54+
55+
- name: Upload artifacts to GitHub Release
56+
env:
57+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
58+
RELEASE_TAG: ${{ github.event.inputs.release_tag }}
59+
run: |
60+
set -euo pipefail
61+
62+
cd artifacts
63+
64+
gh release upload "$RELEASE_TAG" ./* \
65+
--repo "$GITHUB_REPOSITORY" \
66+
--clobber
67+

.github/workflows/ci.yml

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -317,16 +317,21 @@ jobs:
317317
fi
318318
319319
update:
320-
name: Test spacetimedb-update flow
320+
name: Test spacetimedb-update flow (${{ matrix.target }})
321321
permissions: read-all
322322
strategy:
323323
matrix:
324324
include:
325-
- { target: x86_64-unknown-linux-gnu, runner: spacetimedb-runner }
325+
- runner: spacetimedb-new-runner
326+
target: x86_64-unknown-linux-gnu
327+
container:
328+
image: localhost:5000/spacetimedb-ci:latest
329+
options: --privileged
326330
- { target: aarch64-unknown-linux-gnu, runner: arm-runner }
327331
- { target: aarch64-apple-darwin, runner: macos-latest }
328332
- { target: x86_64-pc-windows-msvc, runner: windows-latest }
329333
runs-on: ${{ matrix.runner }}
334+
container: ${{ matrix.container }}
330335
steps:
331336
- name: Checkout
332337
uses: actions/checkout@v3
@@ -362,8 +367,11 @@ jobs:
362367
# This can't go on e.g. ubuntu-latest because that runner runs out of disk space. ChatGPT suggested that the general solution tends to be to use
363368
# a custom runner.
364369
runs-on: spacetimedb-new-runner
370+
# Disable the tests because they are very flaky at the moment.
371+
# TODO: Remove this line and re-enable the `if` line just below here.
372+
if: false
365373
# Skip if this is an external contribution. GitHub secrets will be empty, so the step would fail anyway.
366-
if: ${{ github.event_name != 'pull_request' || !github.event.pull_request.head.repo.fork }}
374+
# if: ${{ github.event_name != 'pull_request' || !github.event.pull_request.head.repo.fork }}
367375
container:
368376
image: ghcr.io/epicgames/unreal-engine:dev-5.6
369377
credentials:
@@ -509,7 +517,7 @@ jobs:
509517
cargo run --features markdown-docs -p spacetimedb-cli > docs/docs/cli-reference.md
510518
pnpm format
511519
git status
512-
if git diff --exit-code HEAD; then
520+
if git diff --exit-code HEAD -- docs/docs/cli-reference.md; then
513521
echo "No docs changes detected"
514522
else
515523
echo "It looks like the CLI docs have changed:"

.github/workflows/discord-posts.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ jobs:
3636
--json 'workflow,state,name' |
3737
jq '.[]
3838
| select(.workflow != "Discord notifications")
39-
| select(.state != "SUCCESS" and .state != "NEUTRAL")
39+
| select(.state != "SUCCESS" and .state != "NEUTRAL" and .state != "SKIPPED")
4040
' |
4141
jq -r '"\(.workflow) / \(.name): \(.state)"'
4242
)"
@@ -60,11 +60,11 @@ jobs:
6060
message+=$'\n'
6161
# This uses special Discord syntax for pinging a particular role.
6262
# Note the '&' - this is the difference between pinging a *role* and pinging a *person*.
63-
message+=" (cc <@&${MENTION_ON_FAILURE}>"
6463
if [[ -n "${author_discord_id}" ]]; then
65-
message+=" <@${author_discord_id}>"
64+
message+="<@${author_discord_id}> please investigate these failures."
6665
fi
67-
message+=")"
66+
message+=$'\n'
67+
message+="(cc <@&${MENTION_ON_FAILURE}> - Releases may be affected)"
6868
fi
6969
# Use `jq` to construct the json data blob in the format required by the webhook.
7070
data="$(jq --null-input --arg msg "$message" '.content=$msg')"

.github/workflows/docs-publish.yaml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,11 @@ on:
1010

1111
jobs:
1212
build:
13-
runs-on: ubuntu-latest
13+
runs-on: spacetimedb-new-runner
14+
container:
15+
image: localhost:5000/spacetimedb-ci:latest
16+
options: >-
17+
--privileged
1418
steps:
1519
- name: Checkout repository
1620
uses: actions/checkout@v3

.github/workflows/docs-test.yaml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,11 @@ on:
77

88
jobs:
99
build:
10-
runs-on: ubuntu-latest
10+
runs-on: spacetimedb-new-runner
11+
container:
12+
image: localhost:5000/spacetimedb-ci:latest
13+
options: >-
14+
--privileged
1115
steps:
1216
- name: Checkout repository
1317
uses: actions/checkout@v3

.github/workflows/upgrade-version-check.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,10 @@ permissions: read-all
88

99
jobs:
1010
version_upgrade_check:
11-
runs-on: spacetimedb-runner
11+
runs-on: spacetimedb-new-runner
12+
container:
13+
image: localhost:5000/spacetimedb-ci:latest
14+
options: --privileged
1215
steps:
1316
- name: Checkout
1417
uses: actions/checkout@v3

Cargo.lock

Lines changed: 48 additions & 12 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,10 +44,12 @@ members = [
4444
"modules/sdk-test",
4545
"modules/sdk-test-connect-disconnect",
4646
"modules/sdk-test-procedure",
47+
"modules/sdk-test-view",
4748
"sdks/rust/tests/test-client",
4849
"sdks/rust/tests/test-counter",
4950
"sdks/rust/tests/connect_disconnect_client",
5051
"sdks/rust/tests/procedure-client",
52+
"sdks/rust/tests/view-client",
5153
"tools/upgrade-version",
5254
"tools/license-check",
5355
"tools/replace-spacetimedb",
@@ -179,7 +181,7 @@ env_logger = "0.10"
179181
ethnum = { version = "1.5.0", features = ["serde"] }
180182
flate2 = "1.0.24"
181183
flume = { version = "0.11", default-features = false, features = ["async"] }
182-
foldhash = "0.1.4"
184+
foldhash = "0.2.0"
183185
fs-err = "2.9.0"
184186
fs_extra = "1.3.0"
185187
fs2 = "0.4.3"
@@ -189,13 +191,14 @@ futures-util = "0.3"
189191
getrandom02 = { package = "getrandom", version = "0.2" }
190192
git2 = "0.19"
191193
glob = "0.3.1"
192-
hashbrown = { version = "0.15", default-features = false, features = ["equivalent", "inline-more"] }
194+
hashbrown = { version = "0.16.1", default-features = false, features = ["equivalent", "inline-more", "rayon", "serde"] }
193195
headers = "0.4"
194196
heck = "0.4"
195197
hex = "0.4.3"
196198
home = "0.5"
197199
hostname = "^0.3"
198200
http = "1.0"
201+
http-body-util= "0.1.3"
199202
humantime = "2.1.0"
200203
hyper = "1.0"
201204
hyper-util = { version = "0.1", features = ["tokio"] }

0 commit comments

Comments
 (0)