Skip to content

Release v0.1.0: CI/CD overhaul and crates.io publication#1

Merged
chrislupp merged 6 commits into
mainfrom
develop
May 16, 2026
Merged

Release v0.1.0: CI/CD overhaul and crates.io publication#1
chrislupp merged 6 commits into
mainfrom
develop

Conversation

@chrislupp
Copy link
Copy Markdown
Collaborator

Summary

  • Overhaul CI/CD to match Philote-Python workflow pattern (consolidated tests.yaml, label-driven release.yaml, publish-crates.yaml)
  • Rename crate from philote to philote-mdo with full crates.io metadata
  • Update proto submodule to v0.8.0
  • Add CHANGELOG.md

Changes

  • CI: Replace 6 reusable workflow files with single tests.yaml (fmt, clippy, build, test, coverage)
  • Release automation: Add release.yaml triggered on PR merge with release labels (handles version bump, changelog, tagging, GitHub Release, merge-back to develop)
  • Crate publication: Add publish-crates.yaml triggered on GitHub Release (publishes to crates.io)
  • Crate rename: philotephilote-mdo with include field for proto files
  • Proto: Updated submodule to v0.8.0 (discrete variables, kStruct, dynamic shapes, SetVariableShapes RPC)

Test plan

  • All 70 tests pass (57 unit, 6 integration, 7 doc-tests)
  • Clippy clean (no warnings)
  • Formatting clean
  • cargo publish --dry-run succeeds
  • cargo package --list confirms proto files are included
  • Verify tests.yaml runs on this PR
  • After merge: confirm release workflow creates v0.1.0 tag and GitHub Release
  • Confirm publish workflow publishes philote-mdo to crates.io

chrislupp added 4 commits May 10, 2026 18:17
Major update to align with the current Philote protocol:
- VariableMessage oneof wrapper replaces raw Array streaming
- Discrete variable support (non-numeric inputs/outputs via protobuf Value)
- Dynamic shapes (runtime-resolved variable dimensions, SetVariableShapes RPC)
- RPC timeout support on client
- Configure() lifecycle method in discipline trait
- Backward-compatible trait design with default method implementations
- Updated proto definitions from Philote-Cpp
Brings in discrete variable support, kStruct data type, dynamic variable
shapes, and the SetVariableShapes RPC.
Replace 6 reusable workflow files with a consolidated tests.yaml,
add label-driven release.yaml and publish-crates.yaml workflows
mirroring Philote-Python. Rename crate to philote-mdo with full
crates.io metadata and proto file inclusion for packaging.
The release workflow will bump this to 0.1.0 on the first minor release.
@chrislupp chrislupp added release Trigger a stable release minor Minor version bump labels May 16, 2026
@chrislupp chrislupp self-assigned this May 16, 2026
chrislupp added 2 commits May 16, 2026 17:19
tonic requires Status as the error type for gRPC services, which
exceeds clippy's size threshold. This is not something we can change.
Codecov couldn't find the repo because the remote still uses the old
chrislupp/Philote-Rust URL. Explicit slug resolves the lookup.
@codecov
Copy link
Copy Markdown

codecov Bot commented May 16, 2026

Welcome to Codecov 🎉

Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.

ℹ️ You can also turn on project coverage checks and project coverage reporting on Pull Request comment

Thanks for integrating Codecov - We've got you covered ☂️

@chrislupp chrislupp merged commit 0861b5f into main May 16, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

minor Minor version bump release Trigger a stable release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant