Skip to content

Avoid flushing transient SHM allocator state #50

Avoid flushing transient SHM allocator state

Avoid flushing transient SHM allocator state #50

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
jobs:
build-test:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-dotnet@v4
with:
global-json-file: global.json
- run: dotnet restore
- run: dotnet build -c Release --no-restore
- run: dotnet test -c Release --no-build --logger trx --results-directory test-results
- uses: actions/upload-artifact@v4
if: always()
with:
name: test-results-${{ matrix.os }}
path: test-results
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-dotnet@v4
with:
global-json-file: global.json
- run: dotnet restore
# third_party/ is vendored, unmodified-by-us upstream source (see
# third_party/apache-arrow-dotnet/README.md) — never reformat it.
- run: dotnet format --verify-no-changes --exclude third_party
# Becomes required once Milestone 2 lands (first full unary conformance pass).
# The transport/feature matrix here grows as later milestones land — see docs/roadmap.md.
conformance:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-dotnet@v4
with:
global-json-file: global.json
- uses: actions/setup-python@v5
with:
python-version: "3.13"
# cryptography: not one of vgi-rpc's own extras — test_csharp_conformance.py's TestMtls
# class uses it directly to mint real X.509 certs (see docs/roadmap.md M9 mTLS), the same
# way the canonical Python repo's own tests/test_mtls.py does.
# external: pulls in aiohttp/tenacity/zstandard — vgi_rpc.external.resolve_external_location
# imports aiohttp lazily for parallel/range-request fetching of large externalized objects
# (see docs/roadmap.md M13); without this extra, every TestExternalLocation/
# TestExternalizedResponseCap case whose payload crosses that internal parallel-fetch
# threshold fails with ModuleNotFoundError, found via a real CI run (the local sibling
# checkout's own dev venv already had aiohttp installed, which is exactly the trap this
# comment on M9's identical mTLS/cryptography miss warned about repeating).
- run: pip install "vgi-rpc[conformance,http,external]" pytest cryptography
# test_csharp_conformance.py's worker_binary fixture builds the worker itself.
- run: python -m pytest test_csharp_conformance.py -v