commitlog: Make memory segment behave like O_APPEND
(#2072)
#8189
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
on: | |
pull_request: | |
push: | |
branches: | |
- master | |
merge_group: | |
workflow_dispatch: | |
inputs: | |
pr_number: | |
description: 'Pull Request Number' | |
required: false | |
default: '' | |
name: CI | |
jobs: | |
docker_smoketests: | |
name: Smoketests | |
runs-on: spacetimedb-runner | |
steps: | |
- name: Find Git ref | |
env: | |
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: | | |
PR_NUMBER="${{ github.event.inputs.pr_number || null }}" | |
if test -n "${PR_NUMBER}"; then | |
GIT_REF="$( gh pr view --repo clockworklabs/SpacetimeDB $PR_NUMBER --json headRefName --jq .headRefName )" | |
else | |
GIT_REF="${{ github.ref }}" | |
fi | |
echo "GIT_REF=${GIT_REF}" >>"$GITHUB_ENV" | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
with: | |
ref: ${{ env.GIT_REF }} | |
- uses: dsherret/rust-toolchain-file@v1 | |
- uses: actions/setup-dotnet@v3 | |
with: | |
dotnet-version: "8.x" | |
- name: Start containers | |
run: docker compose up -d | |
- name: Run smoketests | |
run: python -m smoketests --docker | |
- name: Stop containers | |
if: always() | |
run: docker compose down | |
test: | |
name: Test Suite | |
runs-on: spacetimedb-runner | |
steps: | |
- name: Find Git ref | |
env: | |
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: | | |
PR_NUMBER="${{ github.event.inputs.pr_number || null }}" | |
if test -n "${PR_NUMBER}"; then | |
GIT_REF="$( gh pr view --repo clockworklabs/SpacetimeDB $PR_NUMBER --json headRefName --jq .headRefName )" | |
else | |
GIT_REF="${{ github.ref }}" | |
fi | |
echo "GIT_REF=${GIT_REF}" >>"$GITHUB_ENV" | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
with: | |
ref: ${{ env.GIT_REF }} | |
- uses: dsherret/rust-toolchain-file@v1 | |
- uses: actions/setup-dotnet@v3 | |
with: | |
dotnet-version: "8.x" | |
- name: Create /stdb dir | |
run: | | |
sudo mkdir /stdb | |
sudo chmod 777 /stdb | |
- name: Run cargo test | |
run: cargo test --all | |
- name: Ensure C# autogen bindings are up-to-date | |
run: | | |
cargo run --example regen-csharp-moduledef | |
git diff --exit-code -- crates/bindings-csharp | |
- name: C# bindings tests | |
working-directory: crates/bindings-csharp | |
run: dotnet test -warnaserror | |
sdk_test: | |
name: SDK Tests | |
runs-on: spacetimedb-runner | |
steps: | |
- name: Find Git ref | |
env: | |
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: | | |
PR_NUMBER="${{ github.event.inputs.pr_number || null }}" | |
if test -n "${PR_NUMBER}"; then | |
GIT_REF="$( gh pr view --repo clockworklabs/SpacetimeDB $PR_NUMBER --json headRefName --jq .headRefName )" | |
else | |
GIT_REF="${{ github.ref }}" | |
fi | |
echo "GIT_REF=${GIT_REF}" >>"$GITHUB_ENV" | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
with: | |
ref: ${{ env.GIT_REF }} | |
- uses: dsherret/rust-toolchain-file@v1 | |
- uses: actions/setup-dotnet@v3 | |
with: | |
dotnet-version: "8.x" | |
- name: Create /stdb dir | |
run: | | |
sudo mkdir /stdb | |
sudo chmod 777 /stdb | |
- name: Checkout C# SDK | |
uses: actions/checkout@v4 | |
with: | |
repository: clockworklabs/spacetimedb-csharp-sdk | |
ref: staging | |
path: spacetimedb-csharp-sdk | |
- name: Setup NuGet override for C# SDK | |
working-directory: spacetimedb-csharp-sdk | |
run: | | |
dotnet pack ../crates/bindings-csharp/BSATN.Runtime | |
./tools~/write-nuget-config.sh .. | |
# clear package caches, so we get fresh ones even if version numbers haven't changed | |
dotnet nuget locals all --clear | |
- name: Run C# SDK tests | |
working-directory: spacetimedb-csharp-sdk | |
run: dotnet test | |
lints: | |
name: Lints | |
runs-on: spacetimedb-runner | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v3 | |
- uses: dsherret/rust-toolchain-file@v1 | |
- run: echo ::add-matcher::.github/workflows/rust_matcher.json | |
- name: Run cargo fmt | |
run: cargo fmt --all -- --check | |
- name: Run cargo clippy | |
run: cargo clippy --all --tests --benches -- -D warnings | |
- name: Run C# formatting check | |
working-directory: crates/bindings-csharp | |
run: | | |
dotnet tool restore | |
dotnet csharpier --check . | |
wasm_bindings: | |
name: Build and test wasm bindings | |
runs-on: spacetimedb-runner | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: dsherret/rust-toolchain-file@v1 | |
- run: echo ::add-matcher::.github/workflows/rust_matcher.json | |
- name: Build rust-wasm-test | |
run: cargo run -p spacetimedb-cli -- build --project-path modules/rust-wasm-test | |
- name: Run bindgen tests | |
run: cargo test -p spacetimedb-cli |