Skip to content

Commit 5971d36

Browse files
committed
Merge remote-tracking branch 'origin/master' into jdetter/move-docs-to-new-runner
2 parents e58ec47 + 462cac9 commit 5971d36

262 files changed

Lines changed: 16263 additions & 1427 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
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/package.yml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,13 @@ jobs:
1414
fail-fast: false
1515
matrix:
1616
include:
17-
- { name: x86_64 Linux, target: x86_64-unknown-linux-gnu, runner: ubuntu-latest }
17+
- name: x86_64 Linux
18+
target: x86_64-unknown-linux-gnu
19+
runner: spacetimedb-new-runner
20+
container:
21+
image: localhost:5000/spacetimedb-ci:latest
22+
options: >-
23+
--privileged
1824
- { name: aarch64 Linux, target: aarch64-unknown-linux-gnu, runner: arm-runner }
1925
# Disabled because musl builds weren't working and we didn't want to investigate. See https://github.com/clockworklabs/SpacetimeDB/pull/2964.
2026
# - { name: x86_64 Linux musl, target: x86_64-unknown-linux-musl, runner: bare-metal, container: alpine }

.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

0 commit comments

Comments
 (0)