Import mcp-to-cli from the rhema workspace
ci / checks (push) Failing after 14s

The crate maps MCP tool catalogs to clap commands and back, and has no
rhema dependencies — it was in-tree only because the workspace glob
reached it. Its own repository gives it its own release cadence and
its own crates.io token, scoped to this crate alone.
This commit is contained in:
vhaudiquet committed 2026-11-12 12:20:25 +01:00
commit a7e1de76ac
24 files changed
+3817

No files matched your search

+25
View File
@@ -0,0 +1,25 @@
name: ci
on:
push:
pull_request:
env:
CARGO_TERM_COLOR: always
jobs:
checks:
runs-on: ubuntu-latest
steps:
- uses: https://gitea.com/actions/checkout@v4
- uses: actions-rust-lang/setup-rust-toolchain@v1
- name: Format
run: cargo fmt --all -- --check
- name: Clippy
run: cargo clippy --all-targets -- -D warnings
- name: Test
run: cargo test
+38
View File
@@ -0,0 +1,38 @@
name: release
on:
push:
tags: ["v*"]
jobs:
publish:
# Prerelease tags (v0.1.0-rc1) do not reach crates.io.
if: ${{ !contains(gitea.ref_name, '-') }}
runs-on: ubuntu-latest
steps:
- uses: https://gitea.com/actions/checkout@v4
- uses: actions-rust-lang/setup-rust-toolchain@v1
- name: Check the tag matches the crate version
run: |
crate_version="$(awk -F'"' '/^version =/{print $2; exit}' Cargo.toml)"
tag_version="${GITHUB_REF_NAME#v}"
if [ "$crate_version" != "$tag_version" ]; then
echo "tag $GITHUB_REF_NAME does not match crate version $crate_version" >&2
exit 1
fi
- name: Publish
# Idempotent: a re-run for a version that already landed skips
# instead of failing.
run: |
version="${GITHUB_REF_NAME#v}"
if curl -fsSL -A "mcp-to-cli (git.vhaudiquet.fr/vhaudiquet/mcp-to-cli)" \
"https://crates.io/api/v1/crates/mcp-to-cli/$version" >/dev/null 2>&1; then
echo "mcp-to-cli v$version is already on crates.io, skipping"
exit 0
fi
cargo publish
env:
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}