diff --git a/.github/workflows/desktop-release.yml b/.github/workflows/desktop-release.yml index 43e5fda9..4d2f7089 100644 --- a/.github/workflows/desktop-release.yml +++ b/.github/workflows/desktop-release.yml @@ -4,18 +4,9 @@ on: workflow_dispatch: inputs: tag: - description: "Release tag to create or update (defaults to v)" + description: "Existing release tag to upload desktop assets to (defaults to v)" required: false type: string - release_name: - description: 'Release name (defaults to "CloudCLI Desktop ")' - required: false - type: string - prerelease: - description: "Mark the GitHub release as a prerelease" - required: true - default: false - type: boolean jobs: resolve-release: @@ -25,7 +16,6 @@ jobs: contents: read outputs: tag: ${{ steps.release.outputs.tag }} - release_name: ${{ steps.release.outputs.release_name }} server_bundle_tag: ${{ steps.release.outputs.server_bundle_tag }} steps: - name: Checkout @@ -37,7 +27,6 @@ jobs: id: release env: TAG_INPUT: ${{ inputs.tag }} - RELEASE_NAME_INPUT: ${{ inputs.release_name }} run: | VERSION="$(node -p "require('./package.json').version")" TAG="$TAG_INPUT" @@ -50,17 +39,8 @@ jobs: exit 1 fi - RELEASE_NAME="$RELEASE_NAME_INPUT" - if [ -z "$RELEASE_NAME" ]; then - RELEASE_NAME="CloudCLI Desktop ${TAG}" - fi - RELEASE_NAME_DELIMITER="release_name_${GITHUB_RUN_ID}_${GITHUB_RUN_ATTEMPT}" - { echo "tag=$TAG" - echo "release_name<<$RELEASE_NAME_DELIMITER" - printf '%s\n' "$RELEASE_NAME" - echo "$RELEASE_NAME_DELIMITER" echo "server_bundle_tag=cloudcli-local-server-${TAG}" } >> "$GITHUB_OUTPUT" @@ -270,6 +250,17 @@ jobs: test -n "$(find release/local-server -maxdepth 1 -name 'cloudcli-local-server-*.tar.gz.sha256' -print -quit)" find release -maxdepth 2 -type f -print | sort + - name: Verify target GitHub release exists + env: + GH_REPO: ${{ github.repository }} + GH_TOKEN: ${{ github.token }} + RELEASE_TAG: ${{ needs.resolve-release.outputs.tag }} + run: | + if ! gh release view "$RELEASE_TAG" >/dev/null; then + echo "GitHub release $RELEASE_TAG does not exist. Run the normal Release workflow first, then rerun Desktop Release." >&2 + exit 1 + fi + - name: Publish local server runtime assets uses: softprops/action-gh-release@b4309332981a82ec1c5618f44dd2e27cc8bfbfda # v3.0.0 with: @@ -288,18 +279,11 @@ jobs: files: | release/local-server/* - - name: Publish GitHub release assets - uses: softprops/action-gh-release@b4309332981a82ec1c5618f44dd2e27cc8bfbfda # v3.0.0 - with: - tag_name: ${{ needs.resolve-release.outputs.tag }} - target_commitish: ${{ github.sha }} - name: ${{ needs.resolve-release.outputs.release_name }} - body: | - Download the CloudCLI Desktop installer for your platform. - - The local server runtime used by local mode is installed automatically by the desktop app. You do not need to download any server bundle manually. - prerelease: ${{ inputs.prerelease }} - fail_on_unmatched_files: false - overwrite_files: true - files: | - release/desktop/* + - name: Upload desktop assets to existing GitHub release + env: + GH_REPO: ${{ github.repository }} + GH_TOKEN: ${{ github.token }} + RELEASE_TAG: ${{ needs.resolve-release.outputs.tag }} + run: | + mapfile -d '' DESKTOP_ASSETS < <(find release/desktop -maxdepth 1 -type f -print0 | sort -z) + gh release upload "$RELEASE_TAG" "${DESKTOP_ASSETS[@]}" --clobber diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a1253ca9..6b090c72 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -20,82 +20,7 @@ permissions: # to immutable commit SHAs. The trailing comments keep the original major tag # visible for maintenance context. jobs: - build-macos-semantic-helper: - strategy: - fail-fast: false - matrix: - include: - - runs_on: macos-15 - target_dir: darwin-arm64 - - runs_on: macos-15-intel - target_dir: darwin-x64 - runs-on: ${{ matrix.runs_on }} - permissions: - contents: read - steps: - - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 - with: - persist-credentials: false - - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6 - with: - node-version: 22 - - name: Build macOS semantic helper - run: node scripts/build-computer-semantics.mjs - env: - CLOUDCLI_SEMANTICS_BUILD_REQUIRED: "1" - - name: Verify macOS semantic helper target - run: test -x "server/modules/computer-use/semantics/bin/${{ matrix.target_dir }}/CloudCLISemantics" - - name: Stage macOS semantic helper artifact - run: | - mkdir -p "semantic-helper-artifact/${{ matrix.target_dir }}" - cp "server/modules/computer-use/semantics/bin/${{ matrix.target_dir }}/CloudCLISemantics" "semantic-helper-artifact/${{ matrix.target_dir }}/" - - uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6 - with: - name: semantic-helper-${{ matrix.target_dir }} - path: semantic-helper-artifact/* - if-no-files-found: error - - build-windows-semantic-helper: - strategy: - fail-fast: false - matrix: - include: - - runs_on: windows-2025 - target_dir: win32-x64 - - runs_on: windows-11-arm - target_dir: win32-arm64 - runs-on: ${{ matrix.runs_on }} - permissions: - contents: read - steps: - - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 - with: - persist-credentials: false - - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6 - with: - node-version: 22 - - name: Build Windows semantic helper - run: node scripts/build-computer-semantics.mjs - env: - CLOUDCLI_SEMANTICS_BUILD_REQUIRED: "1" - - name: Verify Windows semantic helper target - shell: bash - run: test -f "server/modules/computer-use/semantics/bin/${{ matrix.target_dir }}/CloudCLISemantics.exe" - - name: Stage Windows semantic helper artifact - shell: bash - run: | - mkdir -p "semantic-helper-artifact/${{ matrix.target_dir }}" - cp "server/modules/computer-use/semantics/bin/${{ matrix.target_dir }}/CloudCLISemantics.exe" "semantic-helper-artifact/${{ matrix.target_dir }}/" - - uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6 - with: - name: semantic-helper-${{ matrix.target_dir }} - path: semantic-helper-artifact/* - if-no-files-found: error - release: - needs: - - build-macos-semantic-helper - - build-windows-semantic-helper runs-on: ubuntu-latest permissions: contents: write @@ -118,23 +43,6 @@ jobs: - run: npm ci - - uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6 - with: - pattern: semantic-helper-* - path: server/modules/computer-use/semantics/bin - merge-multiple: true - - - name: Restore semantic helper permissions - run: find server/modules/computer-use/semantics/bin -path '*/darwin-*/CloudCLISemantics' -type f -exec chmod 755 {} + - - - name: Verify bundled semantic helpers - run: | - test -x server/modules/computer-use/semantics/bin/darwin-arm64/CloudCLISemantics - test -x server/modules/computer-use/semantics/bin/darwin-x64/CloudCLISemantics - test -f server/modules/computer-use/semantics/bin/win32-x64/CloudCLISemantics.exe - test -f server/modules/computer-use/semantics/bin/win32-arm64/CloudCLISemantics.exe - find server/modules/computer-use/semantics/bin -maxdepth 2 -type f -print - - name: Release run: | ARGS="--ci --increment=${{ inputs.increment }}" diff --git a/CHANGELOG.md b/CHANGELOG.md index f0f59e84..6627fe6c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,18 @@ All notable changes to CloudCLI UI will be documented in this file. +## [1.35.1](https://github.com/siteboon/claudecodeui/compare/v1.35.0...v1.35.1) (2026-07-01) + +### Bug Fixes + +* preview video on new tab ([#933](https://github.com/siteboon/claudecodeui/issues/933)) ([2ebe64f](https://github.com/siteboon/claudecodeui/commit/2ebe64f21874f45f6c8747310be874ae7342c61c)) +* remove obsolete semantic helper release jobs ([1e16f1f](https://github.com/siteboon/claudecodeui/commit/1e16f1f0854e347aa333434638d64f2b167d9a9d)) +* resolve mobile shell issues ([#923](https://github.com/siteboon/claudecodeui/issues/923)) ([b6cf333](https://github.com/siteboon/claudecodeui/commit/b6cf33308da996f8169580a4b5b74e3c5f38e447)) + +### Maintenance + +* remove computer use ([6761f31](https://github.com/siteboon/claudecodeui/commit/6761f31a56fe82d82c7e0c079b4891e7d5a81817)) + ## [1.35.0](https://github.com/siteboon/claudecodeui/compare/v1.34.0...v1.35.0) (2026-06-29) ### New Features diff --git a/package-lock.json b/package-lock.json index 516badd3..8c702fee 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@cloudcli-ai/cloudcli", - "version": "1.35.0", + "version": "1.35.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@cloudcli-ai/cloudcli", - "version": "1.35.0", + "version": "1.35.1", "hasInstallScript": true, "license": "AGPL-3.0-or-later", "dependencies": { diff --git a/package.json b/package.json index 7c19017c..57a84a54 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@cloudcli-ai/cloudcli", - "version": "1.35.0", + "version": "1.35.1", "productName": "CloudCLI", "description": "A web-based UI for Claude Code CLI", "type": "module",