Add CI validation workflow, copilot instructions, and collection lifecycle#75
Closed
diberry wants to merge 10 commits intoAzure-Samples:mainfrom
Closed
Add CI validation workflow, copilot instructions, and collection lifecycle#75diberry wants to merge 10 commits intoAzure-Samples:mainfrom
diberry wants to merge 10 commits intoAzure-Samples:mainfrom
Conversation
Implement vector index algorithm comparison samples (IVF, HNSW, DiskANN) for Python, TypeScript, Go, Java, and C#/.NET. Each sample demonstrates: - IVF index creation (numLists=10) for <10K documents - HNSW index creation (m=16, efConstruction=64) for 10K-50K documents - DiskANN index creation (maxDegree=20, lBuild=10) for 50K+ documents - Vector search using \ aggregation with cosmosSearch - Passwordless auth via DefaultAzureCredential/OIDC Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Java: Fix TOKEN_RESOURCE from cosmos.azure.com to ossrdbms-aad.database.windows.net - TypeScript IVF: Remove inconsistent returnStoredSource field - .NET .env.example: Fix vector field name to contentVector, remove unused AZURE_TENANT_ID - Java .env.example: Remove unused AZURE_MANAGED_IDENTITY_PRINCIPAL_ID - Python .env.example: Fix API version to 2023-05-15 for consistency Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…onBuilder - Remove DotNetEnv package, add Microsoft.Extensions.Configuration packages - Add appsettings.json with strongly-typed config sections - Add Models/Configuration.cs with AppConfiguration classes - Update Program.cs to use ConfigurationBuilder (json + env var override) - Update Utils.cs to accept AppConfiguration parameter - Update all demo Run() methods to receive config from Program.cs - Delete .env.example (no longer needed) - Update README to reference appsettings.json + azd env get-values Matches Article 1 (vector-search-dotnet) configuration pattern. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
All non-.NET Article 2 READMEs now show azd env get-values > .env as the primary config method after azd up, with manual cp .env.example as fallback. Matches Article 1 README pattern. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Runs all 9 combinations (3 algorithms x 3 metrics) in a single execution with formatted comparison output. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- All 5 runners now: drop collection → create fresh → upload data → create indexes → run comparisons → drop collection on exit - Removed 15 individual algorithm files (ivf/hnsw/diskann per language) - Updated entry points (main.go, Main.java, Program.cs) to only run compare-all - Simplified package.json scripts (TypeScript) - All languages use DefaultAzureCredential for auth Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…rop at end All 10 sample directories now follow the same pattern: - START: conditionally drop collection only if it exists - END: always drop collection for cleanup (in finally/defer block) Languages updated: TypeScript, Python, Go, Java, .NET Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…le standardization - Add dual-mode GitHub Actions workflow (build-only for PR/push, full-run for manual dispatch) - Add copilot instruction files for all 5 languages (TypeScript, Python, Go, Java, .NET) - Document collection lifecycle convention (conditional drop-at-start, always-drop-at-end) - Document naming convention requirement for parallel CI safety - Update select-algorithm-typescript: remove IP metric, add multi-query support, add cleanup - Add bulk insert and env var documentation per language Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Serialize run jobs (TS→Py→Go→Java→.NET) to prevent collection collisions - Add ::add-mask:: for secret values, fix IFS parsing for connection strings - Fix Go version 1.24→1.23 - Add timeout-minutes: 2 to preflight job - TypeScript: add MongoSearchResult interface, env validation, safe cleanup - Add MONGO_CLUSTER_NAME to env var table (required for passwordless auth) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Collaborator
Author
|
Splitting into two focused PRs for cleaner review |
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds infrastructure for sample validation and developer guidance:
GitHub Actions Workflow (validate-samples.yml)
Copilot Instruction Files
Collection Lifecycle Standardization
select-algorithm-typescript Updates
Testing
Workflow can be tested via Actions tab > Run workflow (requires SAMPLES_ENV_FILE repo secret).