Skip to content

Conversation

jcscottiii
Copy link
Collaborator

Depends on #1745

This commit introduces the capability to parse data files from GitHub releases based on their semantic version tag. This is crucial for handling evolving data schemas from upstream sources like web-features.

Key changes:

  • lib/gh: DownloadFileFromRelease now returns a *gh.File struct containing both the file contents and the release's semver tag.

  • web_feature_consumer: A new parseByVersion method uses the release tag to select the appropriate parser. It currently supports routing to V2 and V3 parsers for web-features data, ensuring backward compatibility and readiness for the new schema.

  • bcd_consumer: Updated to use the new *gh.File struct, though it does not yet perform version-based parsing.

  • Testing: New tests have been added to validate the version-routing logic in the web_feature_consumer.

@jcscottiii jcscottiii force-pushed the jcscottiii/parse-v3-pt2 branch from 38e7308 to 3694865 Compare August 20, 2025 19:55
@jcscottiii jcscottiii requested a review from jrobbins August 20, 2025 20:40
@jcscottiii jcscottiii marked this pull request as ready for review August 20, 2025 20:41
Base automatically changed from jcscottiii/parse-v3 to main August 20, 2025 21:30
This commit introduces the capability to parse data files from GitHub releases based on their semantic version tag. This is crucial for handling evolving data schemas from upstream sources like `web-features`.

Key changes:

-   **`lib/gh`**: `DownloadFileFromRelease` now returns a `*gh.File` struct containing both the file contents and the release's semver tag.

-   **`web_feature_consumer`**: A new `parseByVersion` method uses the release tag to select the appropriate parser. It currently supports routing to V2 and V3 parsers for `web-features` data, ensuring backward compatibility and readiness for the new schema.

-   **`bcd_consumer`**: Updated to use the new `*gh.File` struct, though it does not yet perform version-based parsing.

-   **Testing**: New tests have been added to validate the version-routing logic in the `web_feature_consumer`.
@jcscottiii jcscottiii force-pushed the jcscottiii/parse-v3-pt2 branch from 3694865 to 1e7d707 Compare August 20, 2025 21:32
@jcscottiii jcscottiii enabled auto-merge August 22, 2025 18:01
@jcscottiii jcscottiii added this pull request to the merge queue Aug 22, 2025
Merged via the queue into main with commit 4cbb39d Aug 22, 2025
7 checks passed
@jcscottiii jcscottiii deleted the jcscottiii/parse-v3-pt2 branch August 22, 2025 18:55
@jstenback jstenback mentioned this pull request Aug 27, 2025
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.

2 participants