Skip to content

Fix component release CI/CD workflows#76

Merged
konard merged 2 commits into
mainfrom
issue-75-2384a28fe185
May 12, 2026
Merged

Fix component release CI/CD workflows#76
konard merged 2 commits into
mainfrom
issue-75-2384a28fe185

Conversation

@konard
Copy link
Copy Markdown
Member

@konard konard commented May 12, 2026

Summary

Fixes the CI/CD release path for the C# and Rust components after issue #75 showed that C# release failed and Rust auto-release skipped after successful validation jobs.

Root Cause

  • C# release called scripts/merge-changesets.mjs --dir csharp/.changeset, but the script ignored --dir, still scanned root .changeset, and still used the template package placeholder MyPackage.
  • Rust auto-release inherited skipped dependency behavior from the changelog/check dependency chain because the release job did not use the explicit always() && !cancelled() gating used by the Rust template.
  • Shared release helpers ignored component metadata such as --tag-prefix and component changelog paths, so component releases could not reliably create csharp-v<version> or rust-v<version> releases.
  • C# release packaging reused a pre-version artifact instead of packing after the version bump.

Changes

  • Updated release helper scripts to honor component directories, package names, changelog paths, tag prefixes, and dry-run release payload generation.
  • Added scripts/release-scripts.test.mjs to reproduce the failed helper behavior and guard the fixed paths.
  • Updated C# CI/CD to run release-helper tests, pack NuGet after versioning, publish the post-version package, and create component-tagged GitHub releases from csharp/CHANGELOG.md.
  • Updated Rust CI/CD to use explicit downstream/release gating, run release-helper tests, and create component-tagged GitHub releases from rust/CHANGELOG.md.
  • Removed the duplicate generic .github/workflows/ci.yml; C# is consolidated in csharp.yml. wasm.yml remains separate because it owns WebAssembly and GitHub Pages deployment.
  • Added the issue case study and downloaded evidence under docs/case-studies/issue-75/.

Verification

  • node --test scripts/*.test.mjs
  • npm run test:js
  • ruby -e "require 'yaml'; Dir['.github/workflows/*.{yml,yaml}'].sort.each { |f| YAML.load_file(f); puts f }"
  • dotnet test --configuration Release from csharp/
  • dotnet pack --no-build --configuration Release --output /tmp/csharp-pack-test from csharp/
  • cargo fmt --all -- --check from rust/
  • cargo clippy --all-targets --all-features from rust/
  • cargo test --all-features --verbose from rust/
  • cargo test --doc --verbose from rust/
  • node scripts/check-file-size.mjs --lang rust
  • git diff --cached --check

Full downloaded run logs and local verification logs are included in docs/case-studies/issue-75/evidence/.

Fixes #75

Adding .gitkeep for PR creation (default mode).
This file will be removed when the task is complete.

Issue: #75
@konard konard self-assigned this May 12, 2026
@konard konard changed the title [WIP] CI/CD fixes and improvements Fix component release CI/CD workflows May 12, 2026
@konard konard marked this pull request as ready for review May 12, 2026 10:18
@konard
Copy link
Copy Markdown
Member Author

konard commented May 12, 2026

Working session summary

Implemented and pushed the fix to PR 76: #76

Commit: 36cc8908c95a8551fdb05995b13423c80833d2a3

What changed:

  • Fixed C# and Rust release scripts to honor component paths, package names, tag prefixes, changelog paths, and dry-run behavior.
  • Updated C# and Rust workflows so downstream release/build jobs handle skipped dependencies correctly.
  • Removed the duplicate generic CI workflow.
  • Added script-level regression tests and a case study with preserved CI evidence under docs/case-studies/issue-75.

Verification:

  • Fresh PR checks are passing; release-only jobs are skipped as expected for this PR context.
  • Local checks passed for JS script tests, workflow YAML parsing, C# tests/pack, Rust fmt/clippy/tests/doc tests, and Rust file-size checks.
  • Working tree is clean.
  • PR title/body were updated and the PR is ready for review.

This summary was automatically extracted from the AI working session output.

@konard
Copy link
Copy Markdown
Member Author

konard commented May 12, 2026

🤖 Solution Draft Log

This log file contains the complete execution trace of the AI solution draft process.

💰 Cost estimation:

  • Model: GPT-5.5
  • Provider: OpenAI
  • Public pricing estimate: $21.240495

📊 Context and tokens usage:

  • 434.0K / 1.1M (41%) input tokens, 49.5K / 128K (39%) output tokens

Total: (434.0K + 14.7M cached) input tokens, 49.5K output tokens, $21.240495 cost

🤖 Models used:

  • Tool: OpenAI Codex
  • Requested: gpt-5.5
  • Model: GPT-5.5 (gpt-5.5)

📎 Log file uploaded as Repository (63206KB)


Now working session is ended, feel free to review and add any feedback on the solution draft.

@konard konard merged commit d9309c5 into main May 12, 2026
22 checks passed
@konard
Copy link
Copy Markdown
Member Author

konard commented May 12, 2026

🎉 Auto-merged

This pull request has been automatically merged by hive-mind.

  • All CI checks have passed

Auto-merged by hive-mind with --auto-merge flag

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.

CI/CD fixes and improvements

1 participant