Repository navigation
refactor: migrate from Google Sheets to JSON config - #26
Merged
Merged
Conversation
- Replace sheet-based config with oss-contributions.json - Switch from per-PR gh pr view to batched gh pr list per repo - Remove dead code: sheet.py, is_github_url(), clear_cache(), TestGithubUrl - Fix JSON decode error to raise ValueError instead of FileNotFoundError - Improve github.py error handling: propagate RuntimeError with details - Deduplicate date parsing in model.py (parse once, store datetime) - Relax REPO_PATTERN regex for valid GitHub repo names - Fix empty statuses list to explicitly disable filtering - Increase PR fetch limit to 100 with warning on truncation - Update tests for new config and mock data format
…into refactor/json-config-migration
…dcodedev/oss-contributions into refactor/json-config-migration
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Moves the contribution list off a published Google Sheet and into a local
oss-contributions.json, and changes how pull requests are fetched so none get missed.Previously every PR had to be added to a spreadsheet by hand. Now you list the repos you contribute to and the generator finds your pull requests itself.
What changed
Config lives in the repo.
oss-contributions.jsonreplaces the Google Sheet, so changes are reviewable in git and the build no longer depends on an external URL.Pull requests are fetched by author, not by repo. The generator asks GitHub for your own pull requests and keeps the ones in tracked repos. The previous approach listed each repo's PRs and stopped at 100, so older contributions were dropped without warning — and some were missed entirely regardless of that limit.
Private repos stay private. Private repo names are kept out of the README and out of the build log, even if one is tracked or featured.
Failures are visible. A broken config or a failed API call now fails the build, instead of quietly leaving the previous README in place.
Result
The README now lists 31 contributions across 6 projects going back to 2025, up from 17 in a single project.
Config format
{ "username": "hdcodedev", "repos": ["owner/repo"], "statuses": ["MERGED", "OPEN"], "featured_projects": [] }statusescan be empty to show everything.usernameis optional — without it, the owner of the GitHub token is used.33 tests pass.