Skip to content

Rework documentation versioning, flatten ROS, rename to software-tools - #24

Merged
bcastets-robotiq merged 1 commit into
mainfrom
versioning-rework
Oct 2, 2026
Merged

bcastets-robotiq merged 1 commit into
mainfrom
versioning-rework

Conversation

@bcastets-robotiq

Copy link
Copy Markdown
Collaborator

Summary

  • Materialize Stable from source on every build instead of committing a frozen snapshot.
  • Rename versioned-tools/ -> software-tools/.
  • Omit an empty category section entirely (heading included) instead of a placeholder.
  • Collapse per-distro/per-generation ROS pages into one ROS page per product; sync Adaptive grippers/Tactile Sensor from robotiq/ros, versioned like every other driver. Force Torque Sensor/EPick keep hand-authored third-party content.
  • Disable the redundant "Version: X" badge (superseded by the top banner).

Test plan

  • npm run test:unit
  • npm run build (Latest + a fresh Stable re-materialization)
  • npm test
  • Spot-checked built HTML/sidebar for all 4 products

🤖 Generated with Claude Code

@ebarnett3 ebarnett3 left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Request changes. Blocking: the auto-cut workflow can't merge (cut-versions.yml), removed pages 404 with no redirects (docusaurus.config.js), and version switching crashes or freezes the page (src/theme/Layout/index.jsx). Details inline.

Verified locally on 7193554: npm run test:unit, npm run build and npm test pass, and CI is green. I also manually and automatically tested the built site: all 27 sidebar pages navigate client-side cleanly, so the cross-instance routing fix works. Banners, tag-rewritten GitHub links, product tables, intro links, mobile and dark mode are all fine.

Other notes, not tied to a diff line:

  • Stable ROS pages: the robotiq/ros v1.1.0 README links #migrating-from-picknik-ros2_robotiq_gripper, a broken anchor (build warns). It's fixed upstream on main and clears on the next tag. The install steps there also git clone with no -b v1.1.0, so following the "Stable" instructions gets you main.
  • Adaptive grippers/ROS and Tactile Sensor/ROS render the identical robotiq/ros README. Intended?
  • Every build now runs sync + Doxygen + generate-tools-table twice (Latest + Stable). Fine at today's CI time (~1m42s).
  • The code comments are very long (e.g. cut-version.js ~L769-792, the routeBasePath block). Much of the "confirmed the hard way" narrative would sit better in commit/PR history.

Comment thread .github/workflows/cut-versions.yml Outdated
Comment thread src/theme/Layout/index.jsx Outdated
Comment thread src/theme/Layout/index.jsx Outdated
Comment thread src/theme/NavbarItem/DocsVersionDropdownNavbarItem.jsx Outdated
Comment thread docusaurus.config.js
Comment thread docusaurus.config.js Outdated
Comment thread scripts/cut-version.js Outdated
Comment thread scripts/cut-version.js Outdated
Comment thread scripts/ensure-stable-version.js Outdated
Comment thread scripts/versioned-tools.js Outdated
@ebarnett3

Copy link
Copy Markdown

@bcastets-robotiq did you forget to push your changes?

…en ROS, rename to software-tools

- Stop committing Stable's frozen snapshot; materialize it from source on
  every build (scripts/ensure-stable-version.js), the same pipeline as
  Development (main), driven by the tiny committed software-tools-stable.json
  tag map.
- Rename versioned-tools/ -> software-tools/ sitewide.
- Omit an empty category section (heading included) instead of a
  placeholder message.
- Collapse the per-distro/per-generation ROS pages into a single ROS page
  per product; sync Adaptive grippers' and Tactile Sensor's from
  robotiq/ros and register them in the Stable/Development (main)
  switcher. Force Torque Sensor/EPick keep hand-authored third-party ROS
  content.
- Rename the "Latest" version label to "Development (main)" sitewide,
  read dynamically by DocVersionBanner instead of hardcoded.
- Automate cutting Stable/Previous versions and a daily auto-cut CI job,
  using the robotiq-readme-bot App token so the PR it opens can actually
  pass required checks and auto-merge.
- Fix a version-switch crash/freeze loop (React #185), a sitewide-root
  fallback instead of the nearest ancestor page on a version switch, and
  a stale dropdown label on first load.
- Add redirects for pages this rework removes outright, instead of
  404ing.
- Guard against submodules shared by multiple versioned tools disagreeing
  on tag; stop undoing `npm run preview`/`SKIP_SUBMODULE_RESET=1`; fix a
  stale-skip bug in the Stable materialization cache key.
- Skip the version banner for a registered tool with no recorded tag.
- Derive versioned-tools.js and sidebars.software-tools.js's activeItems
  from external-jobs.js instead of hand-maintaining both separately.
- Update docs/contribute/* throughout to match.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@bcastets-robotiq

Copy link
Copy Markdown
Collaborator Author

Just pushed my modifications now.

@ebarnett3 ebarnett3 left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Re-verified on 7313aa4: all review findings addressed. Local build + 45 unit tests + npm test pass; browser-tested the version switching (no more #185 crash/freeze, dropdown both ways, intro→product SPA nav, API-page fallback), the "Development (main)" label, and the old-URL redirects. Remaining broken ROS anchor is upstream in robotiq/ros and clears on its next tag.

@bcastets-robotiq
bcastets-robotiq merged commit 3f1c8c8 into main Oct 2, 2026
2 checks passed
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.

2 participants