2222
2323 if [[ "$TAG" == mcp_dart_cli-v* ]]; then
2424 echo "working_directory=packages/mcp_dart_cli" >> "$GITHUB_OUTPUT"
25+ echo "package=mcp_dart_cli" >> "$GITHUB_OUTPUT"
2526 echo "📦 Package: mcp_dart_cli"
2627 elif [[ "$TAG" == v* ]]; then
2728 echo "working_directory=." >> "$GITHUB_OUTPUT"
29+ echo "package=mcp_dart" >> "$GITHUB_OUTPUT"
2830 echo "📦 Package: mcp_dart"
2931 else
3032 echo "❌ Unknown tag format: $TAG"
@@ -33,10 +35,23 @@ jobs:
3335
3436 - uses : dart-lang/setup-dart@v1
3537
38+ - name : Prepare nested package publish directory
39+ id : publish-dir
40+ run : |
41+ if [[ "${{ steps.package-info.outputs.package }}" == "mcp_dart_cli" ]]; then
42+ PUBLISH_ROOT="$RUNNER_TEMP/mcp_dart_publish"
43+ rm -rf "$PUBLISH_ROOT"
44+ mkdir -p "$PUBLISH_ROOT"
45+ rsync -a --exclude .git --exclude .dart_tool --exclude pubspec.lock ./ "$PUBLISH_ROOT/"
46+ echo "working_directory=$PUBLISH_ROOT/${{ steps.package-info.outputs.working_directory }}" >> "$GITHUB_OUTPUT"
47+ else
48+ echo "working_directory=${{ steps.package-info.outputs.working_directory }}" >> "$GITHUB_OUTPUT"
49+ fi
50+
3651 - name : Install dependencies
37- working-directory : ${{ steps.package-info .outputs.working_directory }}
52+ working-directory : ${{ steps.publish-dir .outputs.working_directory }}
3853 run : dart pub get
3954
4055 - name : Publish to pub.dev
41- working-directory : ${{ steps.package-info .outputs.working_directory }}
56+ working-directory : ${{ steps.publish-dir .outputs.working_directory }}
4257 run : dart pub publish --force
0 commit comments