Skip to content

Release: merge release into main - #83

Open
github-actions[bot] wants to merge 30 commits into
mainfrom
release
Open

github-actions[bot] wants to merge 30 commits into
mainfrom
release

Conversation

@github-actions

@github-actions github-actions Bot commented Oct 3, 2026 •

Copy link
Copy Markdown
Contributor

Automated sync of develop (b59bc15) into release. Markdown outside README.md and docs/ subfolders is removed by .github/scripts/release/sync-release.sh.

b-re-w added 5 commits October 4, 2026 01:53
User decision (via the lead): the user created usage-example/ (2b91383, 2024-08-20), and the
rename to sample/ in #62 came only from the lead's proposal table, never approved. The folder
and every reference go back: settings, CI (-p usage-example, working-directory, artifact and
path filters), the Xcode phases, the build's rootProject.name and packaging fileName, the
Python package's name and greeting, KDoc, AGENTS, PROJECT, INTENT, SPEC, README en/ko and the
guide. The Python sources stay at usage-example/src/commonMain/python (the app-template layout),
and the build still runs with the root wrapper (./gradlew -p usage-example).

Closes #80
Refactor: Restore usage-example/ (not sample/)
…e 3.15 (#76)

PY3_14_7 and PY3_13_0 are gone and PUBLISHED is 3.15.0 only. A string
naming a CPython before 3.15 is refused inside buildPython as a
GIL-only build, pointing to 3.15t. 3.15.0 without t (PY3_15_0) stays
as a recorded temporary exception while python-multiplatform publishes
its GIL build. Test fixtures that used 3.14.7 as a version move to
3.15.0.
compileSdk: Drop GIL-only 3.14.7/3.13.0, refuse CPython before 3.15 (#76)
…python-gate zip (#90)

Without -Ptypedpython.wheelDir the check resolves
io.github.thisisthepy:python-multiplatform-ksp:3.13.0:typedpython-gate@zip
leniently from the project's repositories, unzips it and installs with
--require-hashes: typedpython as a direct file reference to the
unzipped wheel, pyrefly from PyPI pinned to every manifest hash. A host
with no pyrefly wheel in the manifest fails naming the platform. The
SPEC's index rule now reads: no index install for a name unclaimed on
PyPI; hash-pinned installs are allowed.
typedpythonCheck: Take the gate from python-multiplatform-ksp's typedpython-gate zip (#90)
…93)

The staged payload, a target's install directory and the typedpython
gate directory were cleared with deleteRecursively, which walks into a
link to a directory and empties its target. They now call
deleteWithoutFollowingLinks, the same function pypackpack#96 added.
Fix: Delete directories without following symbolic links out of them (#93)
The app now writes its report to Documents/python-smoke.txt besides
printing it. The job waits until SpringBoard runs, launches without
--console-pty, polls for the file and relaunches once if it never
appears. --console-pty lost the output three times when the app had
exited before the pty attached.
CI: Let a develop run in progress finish
iOS e2e: Read the smoke report from a file in the app's container (#92)
…rom Central first (#97)

com.gradle.plugin-publish adds the sources and javadoc jars and
publishPlugins; gradlePlugin carries website, VCS URL, display name,
description and tags, and both POMs carry url, license, developer and
SCM. Signing happens only with a key. A staging repository rehearses a
release and check_central_bundle.py checks it, marker included. Maven
Central now comes before mavenLocal, which is limited to our groups, so
a published packpack wins and an unreleased one still resolves.
Publishing: Prepare the plugin for the Plugin Portal; packpack from Central first (#97)
…adle.properties (#99)

publish-gradle-plugin.yml runs on a published v* Release in the
gradle-plugin-portal environment: the tag names the version, packpack is
on Maven Central, the version is new on the Portal, missing secrets are
named; the plugin and marker are staged and checked, then publishPlugins.
A manual run stops before the upload. The group, versions, plugin id and
packpack's coordinate live in gradle.properties only; the plugin class
no longer derives from the id.
Publishing: Release workflow for the Gradle plugin (#99)
…101)

The user's notebook expects its kernel to be the running app's
interpreter (2024: JupyterLab and ipykernel inside the app). Proposes one
socket per app for both notebook cells and hot reload, a proxy kernel on
the laptop with a stdlib-only agent in the app (pyzmq has no free-threaded
mobile wheels), the per-platform transport, the repository split, and a
desktop-first milestone.
Docs: Design the live connection from a notebook to the running app (#101)
It pushed every .py over adb and sent RELOAD_PYTHON, which nothing in the
app receives, and reported success. Until the live-connection channel
replaces it, the enabled task fails naming the reason and runs no adb;
disabled, it still prints its guide. SPEC, the guide's status page and
both READMEs now say hot reload does not work yet.
Fix: hotReloadPython fails saying hot reload does not work yet (#103)
b-re-w and others added 3 commits October 17, 2026 21:23
…sktop run passes port and token (#105)

The active Python build type's enableHotReload (the example build file's
debug) is the build-time switch for python-multiplatform's dev agent (its
SPEC L-12):

- stagePythonBundle* writes python_multiplatform_devagent.enable at the
  staged python/ root. It is an @input, and the clean sync removes it when
  the build type changes, so a release payload never keeps it.
- Compose's run and a JVM target's <target>Run get a free loopback port and
  a 32-byte URL-safe token before each run, as
  PYTHON_MULTIPLATFORM_DEV_AGENT=port=<n>;token=<t>, and in
  build/pythonDevAgent/<task>.json (owner-only on POSIX) for the laptop side.

usage-example declares debug with enableHotReload, so its build stages the
marker and its run tasks carry the launch action.
Live connection: stage the dev-agent marker for hot-reload builds; desktop run passes port and token

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant