🔐 Add signing cert (exp 2045-04-29); prepare release - #2
Conversation
|
This pull request sets up GitHub code scanning for this repository. Once the scans have completed and the checks have passed, the analysis results for this pull request branch will appear on this overview. Once you merge this pull request, the 'Security' tab will show more code scanning analysis results (for example, for the default branch). Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results. For more information about GitHub code scanning, check out the documentation. |
There was a problem hiding this comment.
Pull request overview
This PR prepares the jsonc-merge project for its 1.0.0 release by adding a signing certificate, updating documentation, and cleaning up CI configurations for unsupported Ruby versions.
- Adds a new signing certificate (pboling.pem) with 20-year validity
- Removes CI workflow configurations for EOL Ruby versions (2.3-3.1 and JRuby)
- Updates test coverage thresholds and copyright information
Reviewed changes
Copilot reviewed 10 out of 10 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| certs/pboling.pem | Adds new X.509 signing certificate for gem signing |
| README.md | Updates copyright year from "2023, 2025" to "2025" only |
| CHANGELOG.md | Restructures changelog by moving initial release entry and adding version reference links |
| Appraisals | Removes appraisal configurations for Ruby 2.3-3.1 |
| .github/workflows/unsupported.yml | Removes CI workflow for EOL Ruby 2.6-2.7 |
| .github/workflows/main.yml | Removes basic Ruby CI workflow |
| .github/workflows/legacy.yml | Removes CI workflow for EOL Ruby 3.0-3.1 |
| .github/workflows/jruby.yml | Removes JRuby CI workflow |
| .github/workflows/ancient.yml | Removes CI workflow for ancient Ruby 2.3-2.5 |
| .github/workflows/coverage.yml | Increases test coverage thresholds from 91%/65% to 96%/85% |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Migrated from `ruby_tree_sitter` to `tree_haver` for unified cross-platform tree-sitter support
### Added - `spec/support/dependency_tags.rb` for conditional test execution based on backend availability - `:tree_sitter_jsonc` RSpec tag for tests requiring tree-sitter JSONC grammar - `:jruby` and `:not_jruby` tags for Ruby engine-specific tests ### Changed - **SmartMerger**: Added `**options` for forward compatibility - Accepts additional options that may be added to base class in future - Passes all options through to `SmartMergerBase` - **ConflictResolver**: Added `**options` for forward compatibility - Now passes `match_refiner` to base class instead of storing locally - **MergeResult**: Added `**options` for forward compatibility - **FileAnalysis**: Simplified to use `TreeHaver.parser_for` API - Removed 30+ lines of grammar loading boilerplate - Now relies on tree_haver for auto-discovery and fallback
- replaced by kettle-soup-cover
### Changed - **NodeWrapper**: Now inherits from `Ast::Merge::NodeWrapperBase` - Removes ~80 lines of duplicated code (initialization, line extraction, basic methods) - Keeps only JSONC-specific type predicates and signature computation - Adds `#node_wrapper?` method for distinguishing from `NodeTyping::Wrapper` - **FileAnalysis error handling**: Now rescues `TreeHaver::Error` instead of `TreeHaver::NotAvailable` - `TreeHaver::Error` inherits from `Exception`, not `StandardError` - `TreeHaver::NotAvailable` is a subclass of `TreeHaver::Error`, so it's also caught - Fixes parse error handling on alternative Ruby engines - **Dependency tags**: Refactored to use shared `TreeHaver::RSpec::DependencyTags` from tree_haver gem - All dependency detection is now centralized in tree_haver - Use `require "tree_haver/rspec"` for shared RSpec configuration - `JsoncMergeDependencies` is now an alias to `TreeHaver::RSpec::DependencyTags` - Enables `JSONC_MERGE_DEBUG=1` for dependency summary output - **SmartMerger**: Added `**options` for forward compatibility - Accepts additional options that may be added to base class in future - Passes all options through to `SmartMergerBase` - **ConflictResolver**: Added `**options` for forward compatibility - Now passes `match_refiner` to base class instead of storing locally - **MergeResult**: Added `**options` for forward compatibility - **FileAnalysis**: Simplified to use `TreeHaver.parser_for` API - Removed 30+ lines of grammar loading boilerplate - Now relies on tree_haver for auto-discovery and fallback ### Removed - **Load-time grammar registration** - TreeHaver's `parser_for` now handles grammar discovery and registration automatically. Removed manual `GrammarFinder` calls and warnings from `lib/jsonc/merge.rb`. ### Fixed - No longer warns about missing JSONC grammar when the grammar file exists but tree-sitter runtime is unavailable - This is expected behavior when using non-tree-sitter backends (Citrus, Prism, etc.) - Warning now only appears when the grammar file is actually missing
No description provided.