chore: prepare v0.4.0-alpha.6 release - #796
Conversation
Bump the workspace to 0.4.0-alpha.6, regenerate the CLI reference and completions, and write the changelog section for everything since 0.4.0-alpha.5. Pin ecosystem/morphir-rust to the fix for installed WASM extensions that failed at initialize when the repository record's display name differed from the guest's spelling; the published OpenAPI bundle hit this on every generate. Repair the ignored Avro and OpenAPI WASM tests for the out-directory contract and the current unresolved-target error, and run both suites in CI. Rewrite the release-manager skill for the Rust CLI release policy and replace the stale unreleased notes in the Avro, OpenAPI, and JSON Schema guides.
✅ Deploy Preview for angry-raman-7c44f6 canceled.
|
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 7a86ccf05b
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| cargo build --locked --release | ||
| --manifest-path ecosystem/morphir-rust/Cargo.toml | ||
| -p morphir-avro-extension -p morphir-openapi-extension | ||
| --target wasm32-unknown-unknown |
There was a problem hiding this comment.
Clear the mold linker flag before building WASM guests
In the Ubuntu morphir-cli-test job, setup-rust-ci previously exports RUSTFLAGS=-C link-arg=-fuse-ld=mold, so this target build passes the native-linker option to the WASM linker. rust-lld -flavor wasm -fuse-ld=mold --version rejects it with unknown argument: -fuse-ld=mold, causing the new build step to fail before the ignored integration tests run. Clear RUSTFLAGS for this step or configure mold only for the native target.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
Fixed in ac3a568: the guest build step sets RUSTFLAGS: "" so the mold flag from setup-rust-ci does not reach rust-lld.
| > publish the bundle into a local repository and install from it. This guide | ||
| > covers that flow and the contract for a locally built extension. Rename the | ||
| > downloaded `<artifact>.release.json` to `release.json` before publishing. |
There was a problem hiding this comment.
Provide the advertised published-bundle installation flow
For users downloading the newly announced release bundle, this paragraph says the guide covers publishing and installing it, but the next section still says no release exists and only documents building a local guest and hand-authoring JSONL; there is no extension repository publish command in the Avro guide, and the matching OpenAPI and JSON Schema guides have the same contradiction. Consequently, the documented rename has no subsequent command that consumes the downloaded bundle. Replace the stale local-only section or add the complete repository init/add/publish/install flow to all three guides.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
Fixed in ac3a568. All three guides now open with "Install the published extension" (download, rename to release.json, repository init/add/publish/install/list) and keep a short "Build and install a local extension" section that publishes the packaging task's bundle the same way. The hand-authored JSONL index and the --index install are gone.
| - One workspace version lives in the root `Cargo.toml` under | ||
| `[workspace.package]`. Every crate inherits it. Never set a crate version by | ||
| hand. | ||
| - The release tag is `v<version>`, for example `v0.4.0-alpha.6`. The release |
There was a problem hiding this comment.
While this applies to alpha this is for prerelease versions in general.
There was a problem hiding this comment.
Reworded in ac3a568: the rule now covers prerelease versions in general (MAJOR.MINOR.PATCH-<stage>.N, with alpha, beta, and rc as examples) and says when to bump N versus change the stage.
|
|
||
| # 6. Validate fixtures | ||
| mise run fixtures:validate | ||
| On macOS, four `morphir-common` tests in `cache_maintenance_inventory` fail |
There was a problem hiding this comment.
Can't we use cfg to gate those tests?
There was a problem hiding this comment.
Yes. finos/morphir-rust#147 gates the four tests with cfg_attr(target_os = "macos", ignore = "..."), so macOS runs are green and Linux CI keeps running them. Once it merges I will pin the submodule to it in this PR. The skill note now says the tests are ignored on macOS instead of describing the failure.
|
|
||
| # 7. Verify schema sync (YAML/JSON) | ||
| mise run docs:schema:verify | ||
| `mise run check` is not a usable gate today. It depends on `examples:validate` |
There was a problem hiding this comment.
Repaired in ac3a568. examples:validate and fixtures:validate were file tasks without an executable bit, so mise never registered them; they are now config tasks. fixtures:validate is out of check because it needs fixtures:fetch first and fails with no fixtures present. lint:schema excludes the 13 rules the schemas do not satisfy yet (1252 findings, mostly trailing periods and description whitespace), with a comment to re-enable them one at a time. mise run check passes locally and the skill lists it first.
Clear RUSTFLAGS for the WASM guest build so the mold linker flag does not reach rust-lld. Repair mise run check: register examples:validate and fixtures:validate, keep fixtures:validate out of check because it needs fetched fixtures, and exclude the schema lint rules the schemas do not satisfy yet so lint:schema can gate. Document the published-bundle install flow in the Avro, OpenAPI, and JSON Schema guides and generalize the skill's prerelease versioning rule.
finos/morphir-rust#147 ignores the four case-sensitivity cache-inventory tests on macOS so a local cargo test is green on APFS.
Summary
0.4.0-alpha.6and regenerate the CLI reference, man page, and completions.0.4.0-alpha.6changelog section covering everything since0.4.0-alpha.5.ecosystem/morphir-rustto fix(daemon): accept display-name drift between discovery and initialize morphir-rust#146, which fixes installed WASM extensions failing atinitializewhen the repository record's display name differs from the guest's spelling. The publishedextension/openapi/v0.1.0bundle hit this with every generate.output_pathis the.destdirectory,installed_pathis the-otarget) and the OpenAPI target-selection test for the current unresolved-target error, and run both WASM suites in CI so they cannot drift again.release-managerskill for the Rust CLI release policy: version files, gates CI enforces, process and WASM extension verification, tag and publish steps.Verification
mise run fmt-check:rust,mise run lint:rustcargo test --locked -p morphirandmise run test(the fourmorphir-commoncache-inventory tests are ignored on macOS by test(common): ignore case-sensitivity tests on macOS morphir-rust#147)python3 -B -m unittest discover -s tests/ci(26 tests)mise run check(repaired in this PR),mise run ci:validate-docs,mise run ci:validate-tool-release-metadatamise run docs:cliproduces only version-line changeswasm32-unknown-unknownand rangenerate_extensionandgenerate_openapi_extensionwith--ignored(8 tests)extension/avro/v0.1.1andextension/openapi/v0.1.0bundles,repository init,add,publish,verify,search,install,list, thengenerateforavro,openapi, andjson-schema, and an offline repeat with the repository directory removed. All artifacts written.Review follow-ups
mise run checkrepaired:examples:validateandfixtures:validateregistered as config tasks,fixtures:validatekept out ofcheck,lint:schemaexcludes the 13 rules the schemas do not satisfy yet.RUSTFLAGSso the mold flag does not reach rust-lld.repository init,add,publish, andinstall.