You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix: Release collection issues for java-core (Java Server SDK), react-client-sdk, and vue-client-sdk (#366)
This pull request fixes the issues around switching to prefixed release tags.
- Draft releases and releases without dates: Filtered out draft releases and releases missing a publish date to avoid ingesting incomplete data.
- Missing releases due to tag-prefix: The java-core, react-client-sdk, and vue-client-sdk repos switched to prefixed release tags but their metadata didn't specify a tag-prefix, so the crawl couldn't match new releases. Added the correct tag-prefix to each repo's cached metadata.
- Same-repo backfill: Added support for same-repo backfill files ("same-repo": true) so the crawl ingests both old unprefixed and new prefixed tag formats. The crawl now runs in three ordered phases (old-repo backfills, same-repo backfills, main crawl) so that repos.json always points to the current canonical repository.
Copy file name to clipboardExpand all lines: README.md
+50Lines changed: 50 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -67,6 +67,56 @@ make html
67
67
This generates both HTML files in the `_sites_/` directory. The pages are automatically deployed to GitHub Pages when changes are pushed to the main branch.
68
68
69
69
70
+
## backfill
71
+
72
+
The `backfill/` directory contains metadata files that supplement the main crawl. Each file is named
73
+
`<org>_<repo>.json` (e.g., `launchdarkly_java-server-sdk.json`), and the filename determines which
74
+
GitHub repo is queried for releases.
75
+
76
+
There are two types of backfill files:
77
+
78
+
### Old-repo backfill (default)
79
+
80
+
Used when an SDK has migrated from a standalone repo to a monorepo. The backfill file references the
81
+
**old** repo to capture historical releases that used simple unprefixed tags (e.g., `7.7.0`). The new
82
+
monorepo's `.sdk_metadata.json` uses a `tag-prefix` to capture new releases (e.g.,
83
+
`launchdarkly-java-server-sdk-7.8.0`).
84
+
85
+
When the main crawl encounters a repo that has a backfill file, it **skips** that repo — since the
86
+
old repo's metadata is no longer authoritative.
87
+
88
+
Example (`backfill/launchdarkly_java-server-sdk.json`):
89
+
```json
90
+
{
91
+
"version": 1,
92
+
"sdks": {
93
+
"java-server-sdk": {}
94
+
}
95
+
}
96
+
```
97
+
98
+
### Same-repo backfill (`"same-repo": true`)
99
+
100
+
Used when a repo changed its tag format (e.g., from `3.3.2` to `launchdarkly-react-client-sdk-v3.4.0`)
101
+
without migrating to a different repo. The backfill file references the **same** repo to capture the
102
+
old unprefixed releases, while the repo's `.sdk_metadata.json` uses a `tag-prefix` to capture the
103
+
new prefixed releases.
104
+
105
+
Setting `"same-repo": true` tells the crawl that this repo is still the canonical home for the SDK.
106
+
The main crawl will **still process** this repo (rather than skipping it), so that full metadata and
107
+
prefixed releases are also ingested.
108
+
109
+
Example (`backfill/launchdarkly_java-core.json`):
110
+
```json
111
+
{
112
+
"same-repo": true,
113
+
"version": 1,
114
+
"sdks": {
115
+
"java-server-sdk": {}
116
+
}
117
+
}
118
+
```
119
+
70
120
## versioning policy
71
121
72
122
The JSON products have an implicit 'v1' version at this time.
0 commit comments