From e3e8d12c7d743448aa67ba9ecd62bb0ec60a0359 Mon Sep 17 00:00:00 2001 From: Peter Schwips <121677584+peterschwps@users.noreply.github.com> Date: Wed, 8 Jul 2026 07:46:04 +0200 Subject: [PATCH] feat: replaced the macos binary with a pypi installation Unsigned, non-notarized binaries are killed by Gatekeeper on current macOS versions, and proper signing requires an Apple Developer account. macOS users install the CLI via uv tool install (or pipx) from PyPI instead. The Windows executable stays. --- .github/workflows/release.yml | 36 ++++++----------------------------- README.md | 18 +++++++++--------- 2 files changed, 15 insertions(+), 39 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 3c015a1..f11743f 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -59,19 +59,11 @@ jobs: tag_name: ${{ github.ref_name }} files: dist/* - binaries: - name: Build ${{ matrix.platform }} binary - runs-on: ${{ matrix.os }} + binary-windows: + name: Build Windows binary + runs-on: windows-latest permissions: contents: write - strategy: - fail-fast: false - matrix: - include: - - os: windows-latest - platform: windows - - os: macos-latest - platform: macos steps: - uses: actions/checkout@v7 @@ -85,35 +77,19 @@ jobs: - name: Install PyInstaller run: uv pip install pyinstaller - - name: Build executable (Windows) - if: matrix.platform == 'windows' + - name: Build executable run: > uv run --no-sources pyinstaller --onefile main.py --name DatasphereAutomation --icon src/datasphere_cli/static/datasphere.ico - - name: Build executable (macOS) - if: matrix.platform == 'macos' - run: > - uv run --no-sources pyinstaller --onefile main.py - --name DatasphereAutomation - - name: Package artifact with version shell: bash run: | VERSION="${GITHUB_REF_NAME#v}" mkdir -p dist_out - if [ "${{ matrix.platform }}" = "windows" ]; then - cp "dist/DatasphereAutomation.exe" \ - "dist_out/DatasphereAutomation-${VERSION}-windows.exe" - else - # Package the binary into a compressed DMG image - mkdir -p dmg_root - cp "dist/DatasphereAutomation" dmg_root/ - hdiutil create -volname "Datasphere CLI" \ - -srcfolder dmg_root -ov -format UDZO \ - "dist_out/DatasphereAutomation-${VERSION}-macos.dmg" - fi + cp "dist/DatasphereAutomation.exe" \ + "dist_out/DatasphereAutomation-${VERSION}-windows.exe" - name: Upload binary to GitHub Release uses: softprops/action-gh-release@v3 diff --git a/README.md b/README.md index 4025e6f..70c7b61 100644 --- a/README.md +++ b/README.md @@ -80,22 +80,22 @@ provides scripts for managing: ---- -### Option B: macOS (Release, DMG) +### Option B: macOS (PyPI) -1. Download the latest release asset: - `DatasphereAutomation--macos.dmg`. +1. Install the CLI as a tool with [uv](https://docs.astral.sh/uv/) + (or use pipx): -2. Open the DMG and copy `DatasphereAutomation` to a location of your - choice (e.g. your home directory). + ```bash + uv tool install datasphere-cli + ``` -3. Remove Gatekeeper quarantine and run it from the terminal: +2. Run it from the terminal: ```bash - xattr -d com.apple.quarantine DatasphereAutomation - ./DatasphereAutomation + datasphere ``` -**Note:** The Mac app can't be opened via double-click. +Update to the latest release with `uv tool upgrade datasphere-cli`. ----