| title | Setup |
|---|---|
| description | How to clone, build, and run tests for ManagedCode.Storage. |
| keywords | ManagedCode.Storage setup, .NET 10, dotnet restore, dotnet build, dotnet test, Docker, Testcontainers, Azurite, LocalStack, FakeGcsServer, SFTP |
| permalink | /setup/ |
| nav_order | 2 |
- .NET SDK: .NET 10 (
10.0.x) - Docker: required for Testcontainers-backed integration tests (Azurite / LocalStack / FakeGcsServer / SFTP)
flowchart LR
A[Clone repo] --> B[dotnet restore]
B --> C[dotnet build]
C --> D[dotnet test]
D --> E[dotnet format]
D --> F[Docker daemon]
git clone https://github.com/managedcode/Storage.git
cd StorageCanonical commands (see AGENTS.md):
dotnet restore ManagedCode.Storage.slnx
dotnet build ManagedCode.Storage.slnx --configuration Release
dotnet test Tests/ManagedCode.Storage.Tests/ManagedCode.Storage.Tests.csproj --configuration ReleaseThe full test strategy (suite layout, categories, containers, cloud-drive HTTP fakes) lives in docs/Testing/strategy.md:
dotnet format ManagedCode.Storage.slnx- Start Docker Desktop (or your Docker daemon) before running the full test suite.
- AWS and Orleans integration tests intentionally pin LocalStack to
localstack/localstack:4.14.0; do not switch them back tolatest, because the end-of-March 2026latestimage became auth-gated and breaks CI without a token. - GitHub Actions
build-and-testandReleaseintentionally excludeCategory=BrowserStress; run that browser-hosted1 GiBstress lane locally withdotnet test ... --filter "Category=BrowserStress"when you specifically need it. - Never commit secrets (cloud keys, OAuth tokens, connection strings). Use environment variables or user secrets.
- Credentials for cloud-drive providers are documented in
docs/Development/credentials.md.