Skip to content

Commit 2d32beb

Browse files
authored
Fix CLI package publish workflow (#94)
1 parent bac25a4 commit 2d32beb

1 file changed

Lines changed: 17 additions & 2 deletions

File tree

.github/workflows/publish.yml

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,11 @@ jobs:
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

Comments
 (0)