Avoid flushing transient SHM allocator state #50
This file contains hidden or 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
| 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 |