44 push :
55 # Branches trigger builds only (no release)
66 # - main: production builds
7- # - beta: beta channel builds
7+ # - beta: beta channel builds
88 branches : [main, beta]
99 # Tags trigger full release workflow
1010 # - v1.2.3: stable release
@@ -218,11 +218,11 @@ jobs:
218218 VERSION=${VERSION#v}
219219 echo "VERSION=$VERSION" >> $GITHUB_OUTPUT
220220 echo "Tag version: $VERSION"
221-
221+
222222 # Verify version matches Cargo.toml
223223 CARGO_VERSION=$(grep -m1 '^version = ' Cargo.toml | sed 's/version = "\(.*\)"/\1/')
224224 echo "Cargo.toml version: $CARGO_VERSION"
225-
225+
226226 if [ "$VERSION" != "$CARGO_VERSION" ]; then
227227 echo "Warning: Tag version ($VERSION) does not match Cargo.toml version ($CARGO_VERSION)"
228228 echo "Updating Cargo.toml to match tag version"
@@ -238,9 +238,9 @@ jobs:
238238 run : |
239239 set -e
240240 VERSION=${{ steps.get_version.outputs.VERSION }}
241-
241+
242242 echo "Publishing workspace members to crates.io version $VERSION"
243-
243+
244244 # Function to publish a package, skip if already published
245245 publish_package() {
246246 local pkg=$1
@@ -263,7 +263,7 @@ jobs:
263263 exit 1
264264 fi
265265 }
266-
266+
267267 # Publish dependencies first, then the main crate
268268 # Order matters: publish dependencies before dependents
269269 publish_package stakai
@@ -272,13 +272,14 @@ jobs:
272272 publish_package stakpak-mcp-client
273273 publish_package stakpak-mcp-server
274274 publish_package stakpak-mcp-proxy
275+ publish_package stakpak-shell-tool-approvals
275276 publish_package stakpak-agent-core
276277 publish_package stakpak-gateway
277278 publish_package stakpak-server
278279 publish_package stakpak-tui
279280 # Finally publish the main CLI crate
280281 publish_package stakpak
281-
282+
282283 echo "All packages published successfully!"
283284 env :
284285 CARGO_REGISTRY_TOKEN : ${{ secrets.CRATES_IO_TOKEN }}
@@ -317,7 +318,7 @@ jobs:
317318 steps :
318319 - uses : actions/checkout@v4
319320 with :
320- fetch-depth : 0 # Need full history for git-cliff
321+ fetch-depth : 0 # Need full history for git-cliff
321322
322323 - name : Install git-cliff
323324 run : cargo install git-cliff
@@ -327,15 +328,15 @@ jobs:
327328 VERSION=${GITHUB_REF#refs/tags/}
328329 # Get the previous tag to generate notes between tags
329330 PREV_TAG=$(git describe --tags --abbrev=0 "$VERSION^" 2>/dev/null || echo "")
330-
331+
331332 if [ -z "$PREV_TAG" ]; then
332333 echo "No previous tag found, skipping release notes generation"
333334 exit 0
334335 fi
335-
336+
336337 # Generate notes between previous and current tag
337338 git-cliff "$PREV_TAG..$VERSION" --strip all > release_notes.md
338-
339+
339340 # Check if release notes are empty
340341 if [ ! -s release_notes.md ]; then
341342 echo "No commits found between $PREV_TAG and $VERSION"
@@ -347,19 +348,19 @@ jobs:
347348 - name : Update GitHub Release
348349 run : |
349350 VERSION=${GITHUB_REF#refs/tags/}
350-
351+
351352 # Check if release notes file exists and has content
352353 if [ ! -f release_notes.md ]; then
353354 echo "Release notes file not found, skipping update"
354355 exit 0
355356 fi
356-
357+
357358 # Check if file is empty or only contains whitespace
358359 if [ ! -s release_notes.md ] || ! grep -q '[^[:space:]]' release_notes.md; then
359360 echo "Release notes file is empty, skipping update"
360361 exit 0
361362 fi
362-
363+
363364 echo "Updating release notes for $VERSION"
364365 gh release edit "$VERSION" --notes-file release_notes.md || echo "Failed to update release notes, continuing anyway"
365366 env :
@@ -381,7 +382,7 @@ jobs:
381382 GITHUB_TOKEN : ${{ secrets.HOMEBREW_TAP_GITHUB_TOKEN }}
382383 VERSION : ${{ needs.setup.outputs.version }}
383384 run : |
384-
385+
385386 curl -L "https://github.com/${{ github.repository }}/releases/download/v${VERSION}/stakpak-darwin-x86_64.tar.gz" -o stakpak-darwin-x86_64.tar.gz
386387 curl -L "https://github.com/${{ github.repository }}/releases/download/v${VERSION}/stakpak-darwin-aarch64.tar.gz" -o stakpak-darwin-aarch64.tar.gz
387388 curl -L "https://github.com/${{ github.repository }}/releases/download/v${VERSION}/stakpak-linux-x86_64.tar.gz" -o stakpak-linux-x86_64.tar.gz
@@ -397,7 +398,7 @@ jobs:
397398 desc "Stakpak CLI tool"
398399 homepage "https://github.com/stakpak/stakpak"
399400 version "${VERSION}"
400-
401+
401402 on_macos do
402403 if Hardware::CPU.arm?
403404 url "https://github.com/${{ github.repository }}/releases/download/v${VERSION}/stakpak-darwin-aarch64.tar.gz"
@@ -407,7 +408,7 @@ jobs:
407408 sha256 "${SHA256_DARWIN_X64}"
408409 end
409410 end
410-
411+
411412 on_linux do
412413 if Hardware::CPU.arm?
413414 url "https://github.com/${{ github.repository }}/releases/download/v${VERSION}/stakpak-linux-aarch64.tar.gz"
@@ -417,7 +418,7 @@ jobs:
417418 sha256 "${SHA256_LINUX_X64}"
418419 end
419420 end
420-
421+
421422 def install
422423 bin.install "stakpak"
423424 end
0 commit comments