Skip to content

chore(editors): lock the editor versions to the core version - #745

Merged
HuiJun merged 1 commit into
developfrom
chore/lock-editor-versions
Sep 30, 2026
Merged

HuiJun merged 1 commit into
developfrom
chore/lock-editor-versions

Conversation

@devin-ai-integration

Copy link
Copy Markdown
Contributor

What and why

The clients now release at the core version (_version.py), but the editors still carried 0.1.0 and 0.1.0-SNAPSHOT. This PR moves them into the same lockstep. On develop they now read 0.9.0, and the release branch bumps them with everything else.

  • Versions set to 0.9.0:

    • "version" in editors/vscode/package.json and editors/syson/frontend/package.json. Both locks were regenerated with npm install --package-lock-only, and only the root version / packages[""].version changed.
    • <version> in editors/cameo/pom.xml and editors/syson/pom.xml.
    • <parent><version> in the six child poms (cameo/{plugin,tools,openapi-stubs,dist}, syson/{backend,syson-api-stubs}).
  • check_version.py --editors: runs every entry of EDITOR_MANIFESTS through the shared _client_version check, against _version.py and the tag when one is given. It uses four readers:

    • json: package.json version
    • lock: the top-level version and packages[""].version, which must also agree with each other
    • pom: the pom's own <version>
    • parent: <parent><version>

    build-python-package calls it next to --node/--java/--rust, so a tag fails before anything is built when an editor disagrees. Nothing publishes the editors, so no version is exported.

  • scripts/ci-changed-areas.sh: the Python trigger now covers every editor manifest, so a PR that changes only one of them still runs the lockstep tests. The existing vscode-only case in ci-changed-areas-test.sh expected vscode alone for editors/vscode/package.json. That expectation is now python,vscode (renamed vscode-manifest), because that file now triggers the Python suite by design. Six new cases were added alongside it.

  • Docs:

    • releasing.md: the release-branch bump step lists every editor manifest, and the tag section and the Java "The version" section mention the editors.
    • editors/README.md: new Versions section.
    • nightly.md: the vsix example version changes from 0.1.0-nightly-… to 0.9.0-nightly-….

This replaces #744, which documented the opposite choice (editors versioned on their own).

How it was verified

  • pytest tests/test_check_version.py: 80 passed (9 new). The new tests cover:
    • the real checkout
    • the fixture paths: agree, a json mismatch, a lock whose two copies disagree, a missing parent version, a pre-release, a tag mismatch
    • --editors together with --node being refused
  • bash scripts/ci-changed-areas-test.sh: all cases pass.
  • check_version.py --tag v0.9.0 --editors prints 0.9.0.
  • mvn -B -q -N validate and full-reactor validate succeed for editors/cameo/pom.xml and editors/syson/pom.xml, so the child <parent> versions resolve.
  • npm ci --ignore-scripts succeeds in editors/vscode and editors/syson/frontend, so the locks match.
  • circleci config validate, python3 scripts/changelog.py check, make docs-check and python3 scripts/check-doc-links.py (0 broken) all pass.

Checklist

  • make test and make lint pass locally (n/a: no Go change; the Python and editor gates above were run)
  • Tests added or updated for the change
  • Documentation extended where it already covers the surface (see CONTRIBUTING.md)
  • Changelog entry added as changes/unreleased/<slug>.<section>.md, not as an edit to CHANGELOG.md
  • baselines regenerated and make docs-counts run if a gate count moved (n/a)
  • No internal work-item labels (waves, slices, F4, K5) in the body, docs, or changelog

Link to Devin session: https://nasa-jpl-demo.devinenterprise.com/sessions/50e350d0913749039440892f390a0f90
Open in Devin Desktop: https://nasa-jpl-demo.devinenterprise.com/desktop/session/50e350d0913749039440892f390a0f90?variant=devin
Requested by: @HuiJun

The editors carry the core version the clients already follow: 0.9.0 in the
two package.json files (locks regenerated, only the version lines move), the
Cameo and SysON poms, and the child poms' <parent><version>. Nothing
publishes the editors, but check_version.py --editors now reads every editor
manifest - package.json, package-lock.json (both version copies must agree),
pom and child <parent><version> - through the shared lockstep check, so a
release tag fails early when one disagrees. The python changed-area trigger
covers every editor manifest, build-python-package runs --editors before
anything is built, and releasing.md's bump step lists the files.

Co-Authored-By: jason.han <hanhuijun@gmail.com>
@devin-ai-integration

Copy link
Copy Markdown
Contributor Author

I'll fix CI failures and address comments from users with write access. I'll skip comments containing "(aside)".

  • Disable automatic comment, CI, and merge conflict monitoring

@devin-ai-integration
devin-ai-integration Bot marked this pull request as ready for review September 30, 2026 05:07

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no bugs or issues to report.

Devin Review

@HuiJun
HuiJun merged commit a30a010 into develop Sep 30, 2026
23 checks passed
@HuiJun
HuiJun deleted the chore/lock-editor-versions branch September 30, 2026 05:10
@devin-ai-integration devin-ai-integration Bot mentioned this pull request Sep 30, 2026
3 of 6 tasks
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