Skip to content

Commit a581a86

Browse files
author
iexitdev
committed
docs(release): track partial npm publish state
1 parent 8bf2dad commit a581a86

6 files changed

Lines changed: 95 additions & 30 deletions

File tree

docs/internal/completion-audit.md

Lines changed: 29 additions & 29 deletions
Large diffs are not rendered by default.
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
{
2+
"schemaVersion": 1,
3+
"lastUpdated": "2026-05-06",
4+
"status": "partial",
5+
"summary": "Developer Preview npm publish is partial: the root compatibility package is published, but scoped @chart-kit packages are blocked by npm scope/token access.",
6+
"requiredFor": ["H5", "H6"],
7+
"completedEntries": [
8+
{
9+
"result": "Published react-native-chart-kit@7.0.0-next.0 to npm under the next dist-tag.",
10+
"artifacts": [
11+
"https://www.npmjs.com/package/react-native-chart-kit/v/7.0.0-next.0",
12+
"https://github.com/indiespirit/react-native-chart-kit/actions/runs/25414071804"
13+
]
14+
},
15+
{
16+
"result": "Publish workflow reruns now skip already-published package versions and publish scoped dependency packages before the root compatibility package.",
17+
"artifacts": [
18+
"https://github.com/indiespirit/react-native-chart-kit/commit/47487b5",
19+
"https://github.com/indiespirit/react-native-chart-kit/commit/8bf2dad"
20+
]
21+
}
22+
],
23+
"missingEvidence": [
24+
"@chart-kit/core@7.0.0-next.0 is not published because npm returned 404 for the @chart-kit scope publish.",
25+
"@chart-kit/svg-renderer@7.0.0-next.0 is not published.",
26+
"@chart-kit/react-native@7.0.0-next.0 is not published.",
27+
"GitHub prerelease v7.0.0-next.0 was not created because the publish workflow stops before release creation while scoped package publishing is blocked.",
28+
"GitHub Actions NPM_TOKEN must be able to create and publish public packages under the @chart-kit scope."
29+
]
30+
}

docs/release/h5-beta-gate-evidence.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ Benchmark scope covers core geometry plus one web showcase scrub timing scenario
8585
| Changelog | [Changelog](../../CHANGELOG.md) | Covered for current v7 preview |
8686
| Support workflow | `.github/ISSUE_TEMPLATE/*` | Covered for layout, compatibility, and performance bugs |
8787
| Public export surface | `scripts/verify-public-surface.mjs`; `scripts/verify-package-boundaries.mjs`; `scripts/verify-pro-preview-imports.mjs`; `npm run surface:check` | Covered for root compatibility exports, free/baseline modern v2 exports, React Native Pro preview subpath exports, Pro-candidate surface/capability/trigger metadata, package-boundary constraints, and public docs/showcase import-boundary constraints |
88-
| Release command safety | `.github/workflows/publish.yml` | Covered for branch, duplicate version, dist-tag, tests, docs, build checks, Playwright browser installation before E2E, local workspace publish targets, and idempotent reruns that skip already-published package versions. npm `@chart-kit` scope access is an external prerequisite for publishing scoped packages. |
88+
| Release command safety | `.github/workflows/publish.yml`; [npm publish evidence](evidence/npm-publish-evidence.json) | Covered for branch, duplicate version, dist-tag, tests, docs, build checks, Playwright browser installation before E2E, local workspace publish targets, and idempotent reruns that skip already-published package versions. npm `@chart-kit` scope access is an external prerequisite for publishing scoped packages, and the current evidence manifest records the partial publish state. |
8989
| Package contents | [package-manifest.json](evidence/package-manifest.json); `scripts/check-package-packs.mjs`; `scripts/list-release-packages.mjs`; `npm run pack:check`; `.github/workflows/publish.yml` | Covered for root and workspace dry-run file lists after build, including `dist` entrypoints and `@chart-kit/react-native/pro-preview` artifacts. The publish workflow reads the same manifest and only Developer Preview-publishes packages with `publishInBeta: true`; `@chart-kit/pro` and `@chart-kit/skia-renderer` stay unpublished. Publishable dependency packages are ordered before the root compatibility package. |
9090
| CI checks | `.github/workflows/ci.yml`; `.github/workflows/native-release.yml` | Covered for fast checks and native release-build workflow definition; native workflow result still pending |
9191

docs/release/known-issues.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,14 @@ The iOS and Android release builds passed locally on May 5, 2026. Android used O
1010

1111
Impact: Developer Preview can be used for preview and API feedback, but production users should wait for green native workflow verification before treating v2 as stable.
1212

13+
## Developer Preview Package Publish
14+
15+
`react-native-chart-kit@7.0.0-next.0` is published under the `next` npm dist-tag, while `latest` remains `6.12.2`. The scoped modern packages are not published yet because npm returned `404 Not Found` when GitHub Actions attempted to publish `@chart-kit/core`; this indicates the `NPM_TOKEN` cannot create or publish public packages under the `@chart-kit` scope.
16+
17+
The structured status lives in [npm-publish-evidence.json](evidence/npm-publish-evidence.json). The publish workflow now skips already-published package versions and publishes the scoped dependency packages before the root compatibility package on the next rerun.
18+
19+
Impact: existing users can install the root preview package with the `next` dist-tag, but new adopters cannot install the modern `@chart-kit/react-native` package until the npm `@chart-kit` scope access is fixed and the publish workflow is rerun.
20+
1321
## Native E2E Coverage
1422

1523
`npm run test:e2e` covers web showcase interaction flows through Playwright. It does not cover native iOS or Android runtime behavior.

scripts/check-release-gates.mjs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ const requiredFiles = [
3434
"docs/release/evidence/native-release-workflow.json",
3535
"docs/release/evidence/native-runtime-matrix.json",
3636
"docs/release/evidence/native-runtime-qa.json",
37+
"docs/release/evidence/npm-publish-evidence.json",
3738
"docs/release/evidence/owner-gates.json",
3839
"docs/release/evidence/package-manifest.json",
3940
"docs/release/evidence/skia-renderer-evidence.json",
@@ -98,6 +99,10 @@ const releaseBlockers = [
9899
];
99100

100101
const releaseEvidenceManifests = [
102+
{
103+
id: "developer-preview-publish",
104+
file: "docs/release/evidence/npm-publish-evidence.json"
105+
},
101106
{
102107
id: "native-workflow-evidence",
103108
file: "docs/release/evidence/native-release-workflow.json"

scripts/check-release-gates.test.mjs

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,7 @@ describe("release gate checker", () => {
112112
.filter((check) => check.id.startsWith("manifest:"))
113113
.map((check) => [check.id, check.status])
114114
).toEqual([
115+
["manifest:developer-preview-publish", "pass"],
115116
["manifest:native-workflow-evidence", "pass"],
116117
["manifest:skia-backend", "pass"],
117118
["manifest:native-runtime-qa", "pass"],
@@ -128,6 +129,7 @@ describe("release gate checker", () => {
128129
.filter((check) => check.id.startsWith("manifest:"))
129130
.map((check) => [check.id, check.status, check.detail])
130131
).toEqual([
132+
["manifest:developer-preview-publish", "pass", ""],
131133
["manifest:native-workflow-evidence", "pass", ""],
132134
["manifest:skia-backend", "pass", ""],
133135
["manifest:native-runtime-qa", "pass", ""],
@@ -152,6 +154,26 @@ describe("release gate checker", () => {
152154
});
153155
});
154156

157+
it("tracks partial Developer Preview npm publish state", () => {
158+
const report = runGateReportJson();
159+
const publishManifest = JSON.parse(
160+
readFileSync(
161+
join(repoRoot, "docs/release/evidence/npm-publish-evidence.json"),
162+
"utf8"
163+
)
164+
);
165+
166+
expect(
167+
report.checks.find(
168+
(check) => check.id === "blocker:developer-preview-publish"
169+
)
170+
).toMatchObject({
171+
evidence: "docs/release/evidence/npm-publish-evidence.json",
172+
message: publishManifest.summary,
173+
status: "block"
174+
});
175+
});
176+
155177
it("validates owner gate manifest structure", () => {
156178
const report = runGateReportJson();
157179

0 commit comments

Comments
 (0)