Skip to content

Release: merge release into main - #64

Merged
b-re-w merged 20 commits into
mainfrom
release
Oct 3, 2026
Merged

b-re-w merged 20 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 (57b287b) into release. Markdown outside README.md and docs/ subfolders is removed by .github/scripts/release/sync-release.sh.

b-re-w added 9 commits October 3, 2026 19:43
User directive, via the lead (#62). The root now holds only the modules, docs/, gradle/, .github/
and the files tools need there:

- toolchain/ -> toolchain-gradle-plugin/ (:toolchain-gradle-plugin; plugin id unchanged)
- tcl/ -> toolchain-cli/ (:toolchain-cli)
- usage-example/ -> sample/, its Python package under sample/src/commonMain/python/; still its
  own build (python-multiplatform's Kotlin), now run with the root wrapper (./gradlew -p sample),
  so its copied wrapper is gone and the root wrapper moves to Gradle 8.11.1 (AGP 8.10 needs it)
- tools/release/ -> .github/scripts/release/
- tools/xcode/stage-python-payload.sh deleted: an iOS app without python-multiplatform has no
  runtime to feed; the guide keeps the safe hand-wiring snippet
- kotlin-js-store/ deleted (the root build has no JS/wasm target since #52); the sample's wasm
  yarn lock is sample/gradle/wasm-yarn.lock via WasmYarnRootExtension's lockFile*Property
- .fleet/ and the never-built pyproject.toml deleted

Workflows, Xcode phases, README (en/ko, with the new artifactIds), guide, SPEC, PROJECT.md and
AGENTS.md follow; AGENTS.md also gains "Do not add top-level folders" (python-multiplatform #116).
The old layout is the tag archive/pre-restructure.

Closes #62
Correction from the lead: tcl is toolchain-lite, and the root pyproject.toml is its PyPI build
(toolchain-lite 0.0.1 on PyPI carries its description and URLs). The restructure wrongly
deleted pyproject.toml and renamed tcl/ to toolchain-cli/.

- pyproject.toml is restored unchanged; AGENTS.md section 12 and SPEC's outside-intent item 5
  now say what it is. Its name (toolchain, not toolchain-lite) and missing flit module belong to
  the toolchain-lite publishing work.
- toolchain-cli/ is tcl/ again (:tcl, artifactId ...:tcl unchanged); every path, command, CI
  matrix entry and the README coordinates table follow. SPEC keeps its original tcl/ path
  abbreviation.
Refactor: Restructure the repository root
User directives (2026-10-03, via the lead):
- Apache-2.0 everywhere: LICENSE (the Apache 2.0 text, as in pypackpack), the README badges and
  footers (en/ko), the guide footers, pyproject (license = "Apache-2.0" with license-files; the
  MIT classifier removed; flit_core >= 3.12 for that form).
- Every em-dash in the docs, the guide and the code is replaced by a colon, a semicolon,
  parentheses or a full stop; **Status: X** lines read "**Status: X.** ..."; empty table cells
  are -. Dash pairs that wrapped across lines were rewritten by hand.
- AGENTS.md section 18: no em-dash; examples use uv, ppp or tcl, never pip install; the licence
  statement.

Closes #65
…ain.sh

- CI file names (lead, 2026-10-03): tests live in test.yml; a separate file is test-<target>.yml,
  and iOS needs one (macOS runner, path filters, informational). The job id stays ios-e2e, so
  the check keeps its name.
- main is protected by the maintainer's settings only, locked (user, 2026-10-03), as in
  pypackpack #55 and python-multiplatform #122/#127: main-source-guard.yml and protect-main.sh
  deleted, release-sync's guard-status step and statuses: write gone, the release README and
  AGENTS.md say only that the maintainer protects main and merges the release PR.

Closes #67
Chore: Relicense to Apache-2.0; no em-dashes; writing rules in AGENTS.md
CI: ios-e2e.yml → test-ios.yml; drop main-source-guard and protect-main.sh
b-re-w added 2 commits October 4, 2026 00:08
User decision (via the lead): publish toolchain-lite 0.1.0, Apache-2.0, in pypackpack 0.2.0's
shape (pypackpack #53).

- tcl --help / -h and tcl --version; tcl gets its own version, 0.1.0, read from a resource the
  build generates (CliArgsTest; the version test compares against the build's version).
- A GraalVM native image of tcl (graalvm buildtools 0.10.6, pypackpack's settings: slf4j
  initialized at build time, macOS minimum 11.0).
- pyproject.toml is toolchain-lite 0.1.0, Apache-2.0, setuptools, with the launcher package
  toolchain_lite (tcl/src/main/python) and its own PyPI page (docs/pypi/README.md, absolute links).
  The old flit stub named a module that never existed.
- publish-pypi.yml and .github/scripts/pypi/, adapted from pypackpack: published-Release trigger,
  trusted publishing from environment pypi (v* tags only), gates tag == pyproject == tcl version,
  version new on PyPI, fresh-venv smoke (tcl --help, --version, python -m toolchain_lite,
  tcl install six). Each wheel job publishes packpack from pypackpack develop first.
- SPEC 2.2 and 2.3, AGENTS 12, the guide's tcl and Status pages.

Closes #69
CI: Release toolchain-lite 0.1.0 on PyPI as native tcl wheels
Lead decision (option A): this repository also releases the Gradle plugin, so toolchain-lite's
Release tags are toolchain-lite-v<version> and bare v* stays the plugin's. publish-pypi.yml requires
that tag and skips itself for any other Release; the pypi environment accepts only
toolchain-lite-v* tags.

Closes #71
b-re-w added 2 commits October 4, 2026 00:31
…se test scratch

Lead directive (item B, 2026-10-04) and the writing standard (pythonx-compose
docs/style/writing.md):
- README.md and README_ko.md link the guide site, the Korean/English README and LICENSE by
  absolute URL; AGENTS section 17 says README links are absolute.
- Status words: 구현 / 부분 / 계획 (37 occurrences of 구현됨).
- AGENTS section 2's table: CI-only scripts in .github/scripts/, no benchmarks/ or tools/.
- test-sync-release.sh resolves the repository root three levels up since #62 moved it, so its
  scratch is the root .tmp/ again, not .github/.tmp/.

Closes #74
CI: Tag toolchain-lite releases toolchain-lite-v<version>
Docs: Absolute README links, status words, AGENTS layout table, release test scratch
b-re-w and others added 4 commits October 4, 2026 01:18
User correction (via the lead): the #62 restructure relayed the lead's proposal table as a user
directive, and the user never approved the name toolchain-gradle-plugin, nor tcl as a root folder.

- toolchain-gradle-plugin/ -> toolchain/ (:toolchain; plugin id unchanged; the implementation
  artifact is ...:toolchain again). Settings, CI, sample comments and docs follow.
- tcl/ leaves the root: its sources are toolchain's src/cliMain/kotlin, the PyPI launcher
  src/cliMain/python, tests src/cliTest/kotlin (as pypackpack's CLI, pypackpack #74). The cli
  source sets depend on packpack and coroutines only and never extend main's configurations,
  which carry the Gradle API through java-gradle-plugin; the plugin publication carries no tcl,
  and test.yml checks the jar and the POM.
- toolchain/build.gradle.kts gets the cliTest task, runTcl (./gradlew :toolchain:runTcl
  --args=...), tclVersion 0.1.0 and the GraalVM native image (:toolchain:nativeCompile, same
  arguments as before). The plugin keeps rootProject.version.
- test.yml runs :toolchain:test (job toolchain) and :toolchain:cliTest (job tcl);
  publish-pypi.yml reads tclVersion and builds :toolchain:nativeCompile; build_wheel.py and
  pyproject's package-dir point at toolchain/src/cliMain/python. PyPI name toolchain-lite and the
  command tcl are unchanged.

Closes #78
The native plugin defaults the main binary to a shared library when java-library is applied,
and java-gradle-plugin applies it to this module: the dry run produced tcl.dll and no tcl.exe.
Refactor: Restore toolchain/ and move tcl into it as cli source sets
@b-re-w
b-re-w merged commit 2c89525 into main Oct 3, 2026
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