-
Notifications
You must be signed in to change notification settings - Fork 327
[plan] Migrate from unmaintained gojsonschema to santhosh-tekuri/jsonschema #6401
Copy link
Copy link
Closed
4 / 44 of 4 issues completedClosed
4 / 44 of 4 issues completed
Copy link
Labels
Description
Overview
Consolidate JSON Schema validation by migrating from the unmaintained github.com/xeipuuv/gojsonschema to github.com/santhosh-tekuri/jsonschema/v6, which is already used successfully in the workflow validation code.
Source: Discussion #6400
Background
gh-aw currently uses TWO different JSON Schema libraries:
github.com/xeipuuv/gojsonschema(draft-07, unmaintained since 2019) - Used in 1 filegithub.com/santhosh-tekuri/jsonschema/v6(draft 2020-12, actively maintained) - Used in 5 files
This creates unnecessary complexity, increases binary size, and introduces security risks.
Benefits
- 🗑️ Remove unmaintained dependency
- 🎯 Consistent API across entire codebase
- 🛡️ Better security posture (actively maintained)
- 📦 Smaller binary size
- 🚀 Modern JSON Schema features (draft 2020-12)
- 🔧 Easier maintenance (one library instead of two)
Planned Tasks
- #aw_b1c2d3e4f5a6 - Migrate campaign validation to santhosh-tekuri/jsonschema
- #aw_c1d2e3f4a5b6 - Add schema caching for campaign validation
- #aw_d1e2f3a4b5c6 - Remove gojsonschema dependency
- #aw_e1f2a3b4c5d6 - Update documentation
Risk Assessment
Risk: Very low
- Only 1 file needs changes (
pkg/campaign/validation.go) - Excellent test coverage (13 comprehensive tests)
- Proven alternative already used successfully in workflow validation
- Estimated effort: 2-3 hours total
AI generated by Plan Command for discussion #6400
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
Type
Fields
Give feedbackNo fields configured for issues without a type.