Skip to content

Conversation

Copilot
Copy link
Contributor

@Copilot Copilot AI commented Jul 25, 2025

This PR introduces a comprehensive JSON schema for validation manifests that will replace the current file-based validation result storage with structured data suitable for Azure DevOps artifact management.

What Changed

Core Schema Definition

  • Created validation-manifest-schema.json with JSON Schema Draft 07 specification
  • Defines complete structure for validation results across all supported languages
  • Includes required fields, data types, and validation constraints

Comprehensive Examples

  • Added language-specific examples for C#, Python, and Java validation scenarios
  • Examples demonstrate both success and failure cases with detailed error information
  • Shows integration with existing build systems (dotnet, pip/Python, Maven)

Complete Documentation

  • Detailed schema documentation with usage examples and integration guidance
  • Coverage analysis proving all current validation data needs are met
  • Migration path from current log-based system to structured JSON

Key Features

The schema captures all validation data currently stored in simple log files:

  • Sample validation results (pass/fail status)
  • Build step outcomes with detailed error information
  • Validation step results and comprehensive timing data
  • Pipeline context (run ID, build number, repository info)
  • Resolved configuration used for each sample
  • Historical data from previous runs for packaging logic decisions

Enhanced Capabilities

  • Structured error details with file location information for better debugging
  • Artifact tracking for build outputs and reports
  • Environment context including tool versions for reproducibility
  • Extensible design supporting future validation requirements
  • Integration-ready format for Azure DevOps artifact publishing

Validation

All example files validate successfully against the schema:

ajv validate -s validation-manifest-schema.json -d examples/validation-manifest-*.json

The schema replaces the current approach:

# Current: Simple log files
echo "✅ sample-name" >> validation-success.log
echo "❌ sample-name" >> validation-errors.log

# New: Structured data with detailed context
{
  "validation": {
    "summary": { "total": 3, "passed": 2, "failed": 1 },
    "samples": [
      {
        "name": "sample-name",
        "status": "failed",
        "buildSteps": [/* detailed execution info */],
        "errorDetails": {/* structured error with location */}
      }
    ]
  }
}

This structured approach enables better debugging, trend analysis, and automated decision-making for the packaging pipeline while maintaining backward compatibility with existing validation workflows.

Fixes #33.


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

@Copilot Copilot AI changed the title [WIP] Define Validation Manifest Schema Define Validation Manifest Schema for Structured Result Storage Jul 25, 2025
@Copilot Copilot AI requested a review from brandom-msft July 25, 2025 23:20
Copilot finished work on behalf of brandom-msft July 25, 2025 23:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Define Validation Manifest Schema
2 participants