mirror of
https://github.com/ComposioHQ/composio.git
synced 2026-09-22 11:46:35 +08:00
20aaa95c96
This PR: - adds a clean consumer harness that packs core, its internal JSON Schema dependency, and all ten TypeScript providers - verifies tarball contents, npm installation, named public exports, consumer typechecking, provider construction, and a credential-free `wrapTool` conversion - covers the current workspace core, one verified minimum-core lane per provider, and the packed workspace core presented as `1.0.0-beta.0` - preserves existing 0.x minimum peer ranges while recording the verified floors separately for the future breaking release - additively accepts core 1.0 prereleases without claiming stable 1.x support yet - widens the Anthropic and OpenAI Agents peer ranges to include the upstream versions already used by this repository - runs the gate in TypeScript CI and immediately before Changesets publishing The release guard fails before publication and its regression test verifies build -> compatibility -> publish ordering plus failure propagation. ## Non-breaking scope No public API is removed or renamed, and the existing 0.x core peer floors remain unchanged. All peer-range changes are additive. The gate reports the nine floor corrections that should be made with the planned breaking release. ## Validation - `pnpm run check:provider-compatibility` (12 packed consumer lanes) - `pnpm run test:provider-compatibility` - `pnpm run test:release-workflow` - `pnpm run build:packages` (19 packages) - focused TypeScript compile and Oxlint checks - Prettier, Changesets validation, and `git diff --check`
27 lines
833 B
Bash
Executable File
27 lines
833 B
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
# changesets/action v2 reads Changesets v3's NDJSON events from
|
|
# CHANGESETS_OUTPUT. The CLI binary workflow owns @composio/cli GitHub Releases
|
|
# because those releases must include platform binary assets. Remove only that
|
|
# package's git-tag event so changesets/action publishes and releases every
|
|
# other package without creating an empty @composio/cli GitHub Release.
|
|
|
|
filtered_output_file=$(mktemp)
|
|
trap 'rm -f "$filtered_output_file"' EXIT
|
|
|
|
pnpm run build:packages
|
|
pnpm run check:provider-compatibility
|
|
|
|
set +e
|
|
pnpm changeset publish
|
|
status=$?
|
|
set -e
|
|
|
|
if [ -n "${CHANGESETS_OUTPUT:-}" ] && [ -f "$CHANGESETS_OUTPUT" ]; then
|
|
jq -c 'select(.packageName != "@composio/cli")' "$CHANGESETS_OUTPUT" >"$filtered_output_file"
|
|
mv "$filtered_output_file" "$CHANGESETS_OUTPUT"
|
|
fi
|
|
|
|
exit "$status"
|