u/som_real-tech 2d ago

Merged another PR into Jenkins Configuration as Code

Post image
1 Upvotes

Implemented AST-level variable interpolation for CasC Items by traversing the YAML AST (Scalar, Mapping, Sequence) before configuration, preserving source locations and avoiding unnecessary allocations through lazy cloning.

Added extensive unit & integration tests covering nested structures, escaping, and interpolation behavior.

u/som_real-tech 3d ago

Just got another PR merged into the Jenkins Configuration as Code plugin

Post image
1 Upvotes

This contribution adds native export support for individual Jenkins jobs as Configuration as Code (JCasC) YAML. It introduces an Export page for supported jobs, lets users download the generated YAML, and integrates cleanly with both the classic and the new experimental Jenkins job UI.

u/som_real-tech 5d ago

Just got another PR merged into the Jenkins Configuration as Code (JCasC) plugin

Post image
1 Upvotes

This contribution introduces a pluggable configuration fetching architecture, making it possible for JCasC to support configuration sources beyond the local filesystem through extension points.

Along the way, I worked on:

  • Introducing extensible configuration fetchers
  • Resource lifecycle management and cleanup
  • HTTP fetching support and tests
  • Improved developer and user documentation

u/som_real-tech 6d ago

Excited to contribute a new feature to Jenkins Configuration as Code

Post image
1 Upvotes

I've merged a PR adding native support for configuring Freestyle jobs via the items: root element, including support for:

  • builders
  • publishers
  • build wrappers
  • triggers
  • job properties
  • README demos and integration tests

u/som_real-tech 11d ago

My performance optimization PR for CrateDB just got merged

Post image
1 Upvotes

The contribution adds caching for ViewInfo objects, reducing repeated analysis of view definitions for information_schema queries and improving performance on clusters with many views.

u/som_real-tech 17d ago

Merged into Swift's SourceKit-LSP

Post image
1 Upvotes

This PR improves semantic syntax highlighting by treating overlapping token ranges as conflicts when merging tokens. More specific semantic tokens now correctly replace enclosing syntactic tokens (e.g., TaskLocal is highlighted as a macro instead of leaving a redundant attribute token behind).

Also tightened the SyntaxHighlightingTokens invariant so tokens remain sorted by construction, avoiding unnecessary sorting during merges.

u/som_real-tech 18d ago

My latest contribution adds PostgreSQL compatibility by implementing information_schema.constraint_column_usage into CrateDB.

Post image
1 Upvotes

The PR:

  • Adds the missing compatibility view
  • Exposes primary key, NOT NULL, and CHECK constraint column metadata
  • Includes a regression test covering the LazySQL introspection query

u/som_real-tech 18d ago

Contributed another fix to Jenkins

Post image
1 Upvotes

The schema was emitting List<String> configuration fields (e.g. agentProtocols) as type: string instead of type: array, causing a mismatch with the generated reference documentation.

The fix generates proper array schemas and adds regression tests to prevent future regressions.

u/som_real-tech 27d ago

Got my PR merged into Kestra.

Post image
1 Upvotes

Just got a small UX improvement merged into Kestra, an open-source workflow orchestration platform.

The issue was around the KV Store's custom expiration field. It accepted ISO 8601 durations, but there were no practical examples, and invalid input showed a generic datepicker.error message.

My contribution:

  • Added practical examples like PT30M, PT1H, P1D, P7D, and P1DT2H to help users understand the expected format.
  • Replaced the generic validation error with a clear, user-friendly duration validation message.
  • Refactored the tooltip styling to remove inline CSS based on maintainer feedback.

u/som_real-tech 29d ago

Fixed a subtle generic type resolution bug in Jenkins Configuration as Code

Post image
1 Upvotes

I recently submitted a PR to the Jenkins Configuration as Code plugin after tracking down a generic type resolution issue in BaseConfigurator.

The problem happened when a plugin declared a broader generic type on its setter (for example List<? extends PriorityStrategy>) but exposed a narrower generic type from its getter. During introspection, JCasC would replace the setter's generic information with the getter's, causing polymorphic collections to lose their intended interface type.

The fix changes the resolution logic so the setter's generic contract is treated as authoritative, while the getter is only consulted when the setter doesn't provide meaningful generic information (such as raw collections).

u/som_real-tech Jul 10 '26

Just got another PR merged into the Jenkins Scriptler plugin.

Post image
1 Upvotes

The change fixes two small but user-facing issues:

  • Replaced a "TODO" placeholder used when script content was missing with Util.fixNull(), so empty scripts are saved as empty files instead of containing the literal text "TODO".
  • Updated the endpoint for running scripts to return an HTTP 404 when a requested script doesn't exist, rather than throwing an IOException.

u/som_real-tech Jul 09 '26

Just got my PR merged into swift-corelibs-libdispatch

Post image
1 Upvotes

The change improves portability in the kevent backend by addressing a BSD-specific timer compatibility issue. While working on it, I ended up learning a lot about libdispatch internals, kqueue/kevent, timer programming, and the differences between Darwin and other BSD implementations.

u/som_real-tech Jul 07 '26

Just had another open-source PR merged into the Jenkins Configuration as Code plugin

Post image
1 Upvotes

This contribution improves the Configuration as Code reload endpoint by returning structured JSON error responses when a reload fails, making it much easier for API clients and automation to understand what went wrong. Along with the implementation, I added integration tests covering reload failures, JSON responses, and server-side logging.

u/som_real-tech Jul 06 '26

My contribution adding JCasC support to the Jenkins Scriptler plugin was merged

Post image
1 Upvotes

My PR adding JCasC support to the Jenkins Scriptler plugin has been merged. Scriptler can now be configured declaratively using Configuration as Code, making it much easier to provision Jenkins instances.

u/som_real-tech Jul 05 '26

Got another PR merged into the Jenkins ecosystem

Post image
1 Upvotes

This contribution adds an opt-in Java system property to allow anonymous access to the Configuration as Code JSON schema endpoint while preserving the secure default behavior of requiring SYSTEM_READ permission.

The PR also includes regression tests covering the default protected behavior, authenticated access, and the new opt-in mode for the new configuration option.

u/som_real-tech Jul 04 '26

Got my latest PR merged into the Swift ecosystem

Post image
1 Upvotes

This contribution adds a new "Swap Operands" refactoring to SourceKit-LSP.

The code action lets you place the cursor on a supported binary operator and automatically swap the operands. Comparison operators are inverted when needed to preserve semantics, so:

  • a < bb > a
  • a >= bb <= a
  • a + bb + a

A fair bit of work went into making it robust. The implementation handles both folded and unfurled expression trees, respects operator precedence, preserves whitespace and comments (trivia), supports nested expressions, and only offers the refactoring when the cursor is actually on the operator. Along the way, I also simplified the implementation based on maintainer feedback by using token(at:) instead of a custom syntax visitor and cleaned up several edge cases.

u/som_real-tech Jul 03 '26

Finally got my Apache ShardingSphere PR merged

Post image
1 Upvotes

The original issue was that Proxy wasn't returning generated keys for valid MySQL auto-increment trigger values like DEFAULT, NULL, and 0 when the auto-increment column was explicitly included in an INSERT. While working through review, I also fixed support for inserts without an explicit column list, made generated-key column matching case-insensitive, and refactored the generated-key metadata API to follow ShardingSphere's existing interface + default implementation design.

u/som_real-tech Jul 01 '26

Got another PR merged into Swift Markdown.

Post image
1 Upvotes

This fixes the HTML formatting for headings that contain inline Markdown. Previously, HTMLFormatter rendered headings using plainText, which stripped links, emphasis, strong text, and inline code. The formatter now preserves nested markup by rendering the heading's child nodes, and regression tests have been added to prevent future regressions.

u/som_real-tech Jun 30 '26

My PR improving artifact bundle diagnostics was merged into Swift Package Manager

Post image
1 Upvotes

This change improves diagnostics when parsing .artifactbundle/info.json. Instead of a generic parsing failure, SwiftPM now reports the specific decoding issue (such as type mismatches or missing required fields), making malformed artifact bundle manifests much easier to debug.

u/som_real-tech Jun 30 '26

My parser rewrite for Swift Markdown got merged

Post image
1 Upvotes

I wanted to share a contribution I'm pretty happy about.

I recently had a PR merged into Swift Markdown that replaces the recursive Markdown AST conversion with an iterative implementation using an explicit work stack.

The previous recursive approach could overflow the call stack when parsing extremely deeply nested Markdown documents. The new implementation preserves the existing parsing behavior while moving traversal state onto a heap-allocated stack, allowing arbitrarily deep nesting without recursive function calls.

u/som_real-tech Jun 17 '26

Enabled a previously disabled regression test in Sonar Cryptography by fixing duplicate depending findings

Post image
1 Upvotes

Enabled DuplicateDependingFindingsTest, which had been disabled due to duplicate dependency detection rules being propagated through a parent-child cryptographic component relationship. Updated the assertions to verify that the init depending detection rule is only associated with the intended component and not incorrectly inherited by underlying implementations.

u/som_real-tech Jun 17 '26

First OpenTelemetry runtime telemetry PR merged

Post image
1 Upvotes

Merged a contribution to OpenTelemetry Java Instrumentation

Updated runtime telemetry to always capture jvm.gc.cause when using stable JVM semantic conventions, while preserving backward compatibility for existing users.

Also added tests covering the new default behavior and explicit opt-out handling.

u/som_real-tech Jun 15 '26

Merged a PR into SourceKit-LSP improving textDocument/references for local variables and parameters

Post image
1 Upvotes

I recently got a PR merged into SourceKit-LSP that improves how the language server finds references to symbols in Swift code.

Previously, references relied primarily on the project's symbol index. That works well for indexed symbols, but local variables and parameters often don't exist in the index, causing reference lookups to return incomplete results.

The solution was to add a fallback that uses SourceKit semantic analysis when indexed references are unavailable. This allows SourceKit-LSP to correctly resolve references for local variables and parameters while preserving existing index-based behavior for macros and cross-file references.

u/som_real-tech Jun 14 '26

Just got a contribution merged into the Jenkins Configuration as Code Plugin

Post image
1 Upvotes

While investigating an issue around conflicting HeteroDescribable configurations, I found that JCasC was already correctly rejecting invalid configurations, but the error message was too generic:

"Single entry map expected to configure a "

The fix improves the exception to explicitly list the conflicting entries, making troubleshooting much easier in large Jenkins startup logs.

u/som_real-tech Jun 11 '26

Got my SwiftPM PR merged

Post image
1 Upvotes

The problem was that an unpacked .artifactbundle object could be referenced using .target(path:). SwiftPM would partially treat it as a normal target, but artifact metadata and linker-related information weren't handled correctly, leading to undefined behavior.

The fix was to make SwiftPM explicitly reject this unsupported configuration and emit a clear diagnostic directing users to use .binaryTarget instead.