From 796a8fa11997d860e5526dd804ff82871a849ea9 Mon Sep 17 00:00:00 2001 From: hideouts-io <83608068+hideouts-io@users.noreply.github.com> Date: Mon, 28 Sep 2026 02:21:39 -0700 Subject: [PATCH] Maintain the Python app on the python branch - CI, CodeQL, dependency review, and the frozen-app smoke test run for the python branch (they were limited to main, which now holds the Swift app). - Releases: only v0.* tags build this app, and its releases are not marked Latest, so the Swift 1.x release stays the default download. - README: explains the two apps and branches; release badge and links point to 0.x releases. hideouts.io --- .github/workflows/ci.yml | 2 +- .github/workflows/codeql.yml | 4 ++-- .github/workflows/dependency-review.yml | 2 +- .github/workflows/frozen-macos-smoke.yml | 2 +- .github/workflows/release-macos.yml | 8 +++++--- README.md | 10 ++++++++-- 6 files changed, 18 insertions(+), 10 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 48ab2d1..94503cc 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -3,7 +3,7 @@ name: CI on: push: branches: - - main + - python pull_request: workflow_dispatch: diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index b7098f6..bb34e78 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -3,10 +3,10 @@ name: CodeQL on: push: branches: - - main + - python pull_request: branches: - - main + - python schedule: - cron: "23 8 * * 1" workflow_dispatch: diff --git a/.github/workflows/dependency-review.yml b/.github/workflows/dependency-review.yml index 84f4b16..c3bf758 100644 --- a/.github/workflows/dependency-review.yml +++ b/.github/workflows/dependency-review.yml @@ -3,7 +3,7 @@ name: Dependency review on: pull_request: branches: - - main + - python permissions: contents: read diff --git a/.github/workflows/frozen-macos-smoke.yml b/.github/workflows/frozen-macos-smoke.yml index bbdf52c..21c19c7 100644 --- a/.github/workflows/frozen-macos-smoke.yml +++ b/.github/workflows/frozen-macos-smoke.yml @@ -17,7 +17,7 @@ on: - "tests/**" push: branches: - - main + - python workflow_dispatch: permissions: diff --git a/.github/workflows/release-macos.yml b/.github/workflows/release-macos.yml index ee703c4..27440f9 100644 --- a/.github/workflows/release-macos.yml +++ b/.github/workflows/release-macos.yml @@ -1,9 +1,10 @@ name: Release macOS applications +# The Python app is released as 0.x from the python branch; 1.x tags belong to the Swift app on main. on: push: tags: - - "v*" + - "v0.*" permissions: contents: read @@ -87,6 +88,7 @@ jobs: GH_TOKEN: ${{ github.token }} run: | gh release create "$GITHUB_REF_NAME" release-assets/* \ - --title "iOS Developer Toolkit $GITHUB_REF_NAME" \ + --title "iOS Developer Toolkit $GITHUB_REF_NAME (Python)" \ + --latest=false \ --generate-notes \ - --notes "Native Apple Silicon and Intel macOS application bundles with CycloneDX SBOMs and GitHub build-provenance/SBOM attestations. Both builds are ad-hoc signed and are not Apple-notarized. Verify SHA256SUMS.txt and the GitHub attestation before opening." + --notes "Python/PySide6 app (0.x line, branch python). The native Swift app is the 1.x line. Native Apple Silicon and Intel macOS application bundles with CycloneDX SBOMs and GitHub build-provenance/SBOM attestations. Both builds are ad-hoc signed and are not Apple-notarized. Verify SHA256SUMS.txt and the GitHub attestation before opening." diff --git a/README.md b/README.md index 8002948..89850a7 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ ### iOS Developer Toolkit: a guided pymobiledevice3 GUI, Developer Disk Image mounter, and evidence workbench for macOS [![CI](https://github.com/hideouts-io/iOS-Developer-Toolkit/actions/workflows/ci.yml/badge.svg)](https://github.com/hideouts-io/iOS-Developer-Toolkit/actions/workflows/ci.yml) -[![Latest release](https://img.shields.io/github/v/release/hideouts-io/iOS-Developer-Toolkit?display_name=tag)](https://github.com/hideouts-io/iOS-Developer-Toolkit/releases/latest) +[![Latest Python release](https://img.shields.io/github/v/release/hideouts-io/iOS-Developer-Toolkit?display_name=tag&filter=v0.*&label=python%20release)](https://github.com/hideouts-io/iOS-Developer-Toolkit/releases?q=v0.&expanded=true) ![Platform](https://img.shields.io/badge/platform-macOS-000000?logo=apple&logoColor=white) ![Devices](https://img.shields.io/badge/device-iPhone%20%7C%20iPad-0969da) ![Python](https://img.shields.io/badge/Python-3.10%2B-3776ab?logo=python&logoColor=white) @@ -15,6 +15,12 @@ ![pymobiledevice3](https://img.shields.io/badge/pymobiledevice3-11.15.1-8250df) [![License](https://img.shields.io/badge/license-MIT-2da44e)](LICENSE) +> **Two apps, one repository.** This is the **Python/PySide6 app (0.x)**, developed on the +> [`python`](https://github.com/hideouts-io/iOS-Developer-Toolkit/tree/python) branch and released as +> `v0.x`. The **native Swift app (1.x)** is on +> [`main`](https://github.com/hideouts-io/iOS-Developer-Toolkit) and needs no Python or +> `pymobiledevice3`. Both are maintained; workspace profiles exported here can be imported into 1.x. + > **Scope:** iOS Developer Toolkit is a macOS front end for authorized Apple-device development, diagnostics, testing, backup, and evidence-preservation workflows. It does not jailbreak iOS, bypass a passcode, disable the sandbox, defeat code signing, decrypt protected traffic, or provide unrestricted filesystem access. ![iOS Developer Toolkit Home workspace](docs/screenshots/home.png) @@ -263,7 +269,7 @@ Check the Mac architecture before downloading: uname -m ``` -Download the matching ZIP and `SHA256SUMS.txt` from the [latest release page](https://github.com/hideouts-io/iOS-Developer-Toolkit/releases/latest) and place them in the same directory. Verify only the archive for the current Mac; the manifest contains entries for both architectures, so checking the complete manifest after downloading only one ZIP would correctly report the other archive as missing. +Download the matching ZIP and `SHA256SUMS.txt` from the [latest 0.x release](https://github.com/hideouts-io/iOS-Developer-Toolkit/releases?q=v0.&expanded=true) and place them in the same directory. Verify only the archive for the current Mac; the manifest contains entries for both architectures, so checking the complete manifest after downloading only one ZIP would correctly report the other archive as missing. ```bash toolkit_arch="$(uname -m)"