Skip to content

chore: prepare v0.4.0-alpha.6 release - #796

Open
DamianReeves wants to merge 3 commits into
mainfrom
release/v0.4.0-alpha.6
Open

chore: prepare v0.4.0-alpha.6 release#796
DamianReeves wants to merge 3 commits into
mainfrom
release/v0.4.0-alpha.6

Conversation

@DamianReeves

@DamianReeves DamianReeves commented Sep 3, 2026

Copy link
Copy Markdown
Member

Summary

  • Bump the workspace to 0.4.0-alpha.6 and regenerate the CLI reference, man page, and completions.
  • Write the 0.4.0-alpha.6 changelog section covering everything since 0.4.0-alpha.5.
  • Pin ecosystem/morphir-rust to fix(daemon): accept display-name drift between discovery and initialize morphir-rust#146, which fixes installed WASM extensions failing at initialize when the repository record's display name differs from the guest's spelling. The published extension/openapi/v0.1.0 bundle hit this with every generate.
  • Repair the ignored Avro WASM tests for the out-directory contract from feat(cli): Mill-style out directory with task records and install #789 (output_path is the .dest directory, installed_path is the -o target) and the OpenAPI target-selection test for the current unresolved-target error, and run both WASM suites in CI so they cannot drift again.
  • Rewrite the release-manager skill for the Rust CLI release policy: version files, gates CI enforces, process and WASM extension verification, tag and publish steps.
  • Replace the stale "no published release" notes in the Avro, OpenAPI, and JSON Schema guides.

Verification

  • mise run fmt-check:rust, mise run lint:rust
  • cargo test --locked -p morphir and mise run test (the four morphir-common cache-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-metadata
  • mise run docs:cli produces only version-line changes
  • WASM: built the Avro and OpenAPI guests for wasm32-unknown-unknown and ran generate_extension and generate_openapi_extension with --ignored (8 tests)
  • Clean-home steel thread with the release binary: downloaded the published extension/avro/v0.1.1 and extension/openapi/v0.1.0 bundles, repository init, add, publish, verify, search, install, list, then generate for avro, openapi, and json-schema, and an offline repeat with the repository directory removed. All artifacts written.

Review follow-ups

  • mise run check repaired: examples:validate and fixtures:validate registered as config tasks, fixtures:validate kept out of check, lint:schema excludes the 13 rules the schemas do not satisfy yet.
  • WASM guest build clears RUSTFLAGS so the mold flag does not reach rust-lld.
  • The generation guides document the published-bundle flow with repository init, add, publish, and install.

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.
@netlify

netlify Bot commented Sep 3, 2026

Copy link
Copy Markdown

Deploy Preview for angry-raman-7c44f6 canceled.

Name Link
🔨 Latest commit 3050f7e
🔍 Latest deploy log https://app.netlify.com/projects/angry-raman-7c44f6/deploys/6a9a07f9870b5d000935c2ad

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 3, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-03T23:36:22.085824Z 7a86ccf PR opened
ℹ️ 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" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot 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.

💡 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".

Comment thread .github/workflows/ci.yml
Comment on lines +345 to +348
cargo build --locked --release
--manifest-path ecosystem/morphir-rust/Cargo.toml
-p morphir-avro-extension -p morphir-openapi-extension
--target wasm32-unknown-unknown

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge 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 👍 / 👎.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Fixed in ac3a568: the guest build step sets RUSTFLAGS: "" so the mold flag from setup-rust-ci does not reach rust-lld.

Comment thread docs/generate/avro.md
Comment on lines +12 to +14
> 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.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge 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 👍 / 👎.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

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

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

While this applies to alpha this is for prerelease versions in general.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

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.

Comment thread .claude/skills/release-manager/SKILL.md Outdated

# 6. Validate fixtures
mise run fixtures:validate
On macOS, four `morphir-common` tests in `cache_maintenance_inventory` fail

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Can't we use cfg to gate those tests?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

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.

Comment thread .claude/skills/release-manager/SKILL.md Outdated

# 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`

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Please repair check

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

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.
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