Skip to content

docs: fix stale release/build instructions and rewrite devbox guide#1285

Merged
abueide merged 1 commit into
masterfrom
docs/fix-release-and-contributing
Jun 15, 2026
Merged

docs: fix stale release/build instructions and rewrite devbox guide#1285
abueide merged 1 commit into
masterfrom
docs/fix-release-and-contributing

Conversation

@abueide

@abueide abueide commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

Summary

Fixes stale release/build documentation that no longer matches master. All findings were verified against the actual CI workflow (.github/workflows/release.yml), root and example devbox.json scripts, and package.json before editing — no speculative changes.

CONTRIBUTING.md

  • Setup: yarn bootstrap does not exist. Replaced with devbox shell (init hook runs yarn install) or plain yarn install.
  • Type-check: yarn typescriptyarn typecheck (the script was renamed; the old name errors out).
  • E2E: the yarn e2e … command set no longer exists. Replaced with the current Devbox/Detox flow run from the example workspaces (examples/e2e-latest, examples/e2e-compat), plus a pointer to examples/SHARED_E2E_SETUP.md.
  • Example paths: /example/examples/AnalyticsReactNativeExample/ (the old top-level dir is gone; only the examples/ tree exists).
  • Release section: named the wrong workflow (Publish, which is actually the unrelated Publish E2E CLI). Corrected to the Release workflow and its dry-run / beta / production types.

wiki/release.md

  • Removed the nonexistent --config=shells/devbox-fast.json flag from the sync-versions and release-dry-run commands. There is no shells/ directory; those scripts live in the root devbox.json and CI invokes them as devbox run <script>.

wiki/devbox.md (rewrite)

The old guide described an architecture that has since moved out of this repo. The Android/iOS SDK provisioning, emulator/simulator management, and device definitions now live in the reusable Devbox plugins in segment-integrations/mobile-devtools, consumed by the example workspaces via include. The rewrite:

  • Documents the two tiers: the lean root env (build/test/lint/release only) and the example/E2E envs that pull in the mobile-devtools React Native plugin.
  • Removes dead references to nix/, shells/, examples/E2E/, and ci-e2e-full.yml.
  • Points at the plugin command surface (start:emu/start:sim/start:android/start:ios, doctor, etc.) and the committed devbox.d/ device lock files.
  • Corrects the Releases note: npm publishing uses OIDC trusted publishing with provenance, not NPM_TOKEN.

Validation

  • Pre-commit hook ran the full unit suite on commit: 69 suites, 479 passed (1 todo).
  • All replacement paths, scripts, and workflow names were confirmed to exist on master (and in mobile-devtools for the plugin references).

Notes for reviewers

  • wiki/scripts.md and wiki/nix.md may contain related stale references (e.g. to shells//nix/); I scoped this PR to the release/build-facing docs. Happy to follow up on those separately.

🤖 Generated with Claude Code

@abueide abueide force-pushed the docs/fix-release-and-contributing branch from 5725caa to ec79f46 Compare June 12, 2026 18:25
@abueide

abueide commented Jun 12, 2026

Copy link
Copy Markdown
Contributor Author

Updated: renamed wiki/release.md → root RELEASING.md to match the convention used across the other Segment SDK repos (analytics-swift, analytics-kotlin, analytics-next all use a root RELEASING.md). The rename preserves history (git mv), and the references in CONTRIBUTING.md and wiki/devbox.md were updated to point at the new path. No content changes beyond the earlier stale-command fixes.

@abueide abueide force-pushed the docs/fix-release-and-contributing branch from ec79f46 to f26d82e Compare June 12, 2026 18:32
Rename wiki/release.md -> root RELEASING.md to match the convention used
across the other Segment SDK repos (analytics-swift, -kotlin, -next), and
update its references in CONTRIBUTING.md and wiki/devbox.md.

CONTRIBUTING.md:
- Replace nonexistent `yarn bootstrap` with `devbox shell` / `yarn install`
- `yarn typescript` -> `yarn typecheck` (script was renamed)
- Replace removed `yarn e2e ...` commands with the Devbox/Detox flow in the
  example workspaces; fix `/example/` paths to examples/AnalyticsReactNativeExample
- Release section: name the actual `Release` workflow (was `Publish`) and its
  dry-run/beta/production types

RELEASING.md (moved from wiki/release.md):
- Drop the nonexistent `--config=shells/devbox-fast.json` flag from the
  sync-versions and release-dry-run commands (scripts live in root devbox.json)

wiki/devbox.md:
- Rewrite to reflect that Android/iOS SDK, emulator/simulator, and device
  management moved into the segment-integrations/mobile-devtools Devbox plugins
  consumed by the example workspaces; the root env is now build/test/release only
- Remove dead references to nix/, shells/, and examples/E2E/
- Correct the Releases note: npm publishing uses OIDC trusted publishing, not NPM_TOKEN

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@abueide abueide force-pushed the docs/fix-release-and-contributing branch from f26d82e to 0b51a04 Compare June 15, 2026 20:52
@abueide abueide merged commit f3376f3 into master Jun 15, 2026
9 checks passed
@abueide abueide deleted the docs/fix-release-and-contributing branch June 15, 2026 21:13
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.

1 participant