ca
cammisuli
mo
monodon
Workspace
mo
CI Pipeline Executions
Current execution
Succeeded
main
Configuration
Self-Healing CI
Project Graph
Resource Usage
Analysis
Conformance
Runs
Current run
Succeeded
Tasks
Resource Usage
Insights
Compare tasks
Analytics
Sign in
Toggle sidebar
feat(rust)!: drop createNodes v1 and migrate to Nx 22 (#88) * chore: migrate workspace to Nx 22 Bump Nx and related packages from 20.0.1 to 22.6.5 via `nx migrate latest`. - Run release-config migrations (generator options → manifestRootsToUpdate, releaseTagPattern → releaseTag.pattern). - Apply project.json field ordering updates from the migrator. - Add .claude/worktrees and .claude/settings.local.json to .gitignore. - Remove stale workspace-level migrations.json left over from a prior run. * feat(rust)!: migrate plugin to Nx 22, drop createNodes v1 Nx 22 dropped the `CreateNodes` v1 API and the legacy `release.version.generator` field. Align the plugin with the new surface. Plugin graph: - Remove the `createNodes` v1 export and its imports; only `createNodesV2` is registered. - Point project-level release config at the new `versionActions` path. Release versioning: - Replace the `@monodon/rust:release-version` generator with a `VersionActions` implementation (`@monodon/rust/src/release/version-actions`) that reads/writes Cargo.toml per project. - Move `cargo update` + Cargo.lock reporting into the `afterAllProjectsVersioned` hook so Nx owns orchestration while the plugin only handles Cargo specifics. - Delete the old generator, its schema, spec, and test utils. Package: - Bump `@nx/devkit` dependency to `^22.0.0`. BREAKING CHANGE: `@monodon/rust` now requires Nx 22. Workspaces on Nx 19-21 should stay on the previous plugin version or run `nx migrate latest` first. * test(rust): cover RustVersionActions behavior Port the per-method behavior that the deleted release-version generator spec exercised to the new VersionActions API. The Nx release engine now owns specifier resolution and git-tag lookups, so these tests target the Cargo-specific surface the plugin still owns: - Reading [package].version from Cargo.toml, including error paths. - Resolving dependency versions across [dependencies] and [dev-dependencies], in both string and object form. - Writing new versions back to Cargo.toml. - Preserving existing version prefixes (^ ~ =) and leaving implicit-prefix declarations prefix-less when dependents are updated. - afterAllProjectsVersioned no-op paths (dryRun and skipLockFileUpdate). * fix(rust): stop TS 7016 on @napi-rs/cli dynamic import @napi-rs/cli v3 is ESM-only and ships a .d.ts with ESM syntax; under TS 5.9 with moduleResolution=node16 and a CJS build context, the published types resolve to `any` and the dynamic `await import('@napi-rs/cli')` fails the strict implicit-any check (TS7016). This was flaky locally and deterministic on CI once the compilation cache was cold. Add a minimal module shim covering the two methods the plugin actually uses (NapiCli#build, NapiCli#createNpmDirs) so the import type-checks without pulling in the upstream ESM declarations. * chore: bump pinned rustc to 1.88.0 napi-build@2.3.1 (pulled in by the @napi-rs/cli v3 generator under e2e) now requires rustc 1.88, and unicode-segmentation@1.13.2 requires 1.85. The workspace was pinned at 1.80 both in rust-toolchain.toml and in the dtolnay/rust-toolchain@1.79.0 step of the CI setup action, so the rust-e2e napi test fails on fresh cargo resolutions. Bump both pins together so they stay in sync. * chore: e2e fixes
nx run-many --target=build,test,lint --exclude monodon --parallel --max-parallel=3
⌘K
Succeeded
nx run-many --target=build,test,lint --exclude monodon --parallel --max-parallel=3
Click to copy
Linux
4 CPU cores
fc5c84e7
main
Get faster results
Learn how to enable distribution.