Skip to content

Commit 78acb47

Browse files
authored
chore(sync): backmerge main into develop after v2.9.2 + release fixes (#71)
* release: merge develop into main (#61) * ci: add separate main-to-develop backmerge workflow for non-hotfix merges * ci: handle fork develop branch names in backmerge sync guard * docs: refresh release docs metadata, module paths, and Claude integration link * docs(deploy): restore CLAUDE_CODE_WHITELIST.md at canonical path * docs(reference): add API_REFERENCE.md compatibility shim * docs(reference): mirror full api-reference content to API_REFERENCE.md * governance: establish two-repo public promotion contract and automation * governance: transition to single-repo public release model * docs(reference): convert API_REFERENCE.md to compatibility stub * docs(reference): remove API_REFERENCE.md and normalize canonical API links * chore: sync develop into main (docs + release governance updates) (#53) (#54) * ci: add separate main-to-develop backmerge workflow for non-hotfix merges * ci: handle fork develop branch names in backmerge sync guard * docs: refresh release docs metadata, module paths, and Claude integration link * docs(deploy): restore CLAUDE_CODE_WHITELIST.md at canonical path * docs(reference): add API_REFERENCE.md compatibility shim * docs(reference): mirror full api-reference content to API_REFERENCE.md * governance: establish two-repo public promotion contract and automation * governance: transition to single-repo public release model * docs(reference): convert API_REFERENCE.md to compatibility stub * docs(reference): remove API_REFERENCE.md and normalize canonical API links * docs(quickstart): prioritize project-local usage and separate contributor clone path * docs: add agent onboarding snippets and align discovery contract * feat(skills): ship official task-orchestrator skill package * fix(release): include agent skill package in public subset allowlist * chore(release): align docs/version for v2.9.1 * docs(changelog): add v2.9.2 marker required by (#65) release docs gate * docs(readme): align version marker for v2.9.2 docs gate (#66) * fix(release): use portable python resolver in release scripts (#69) * fix(release): auto-insert missing docs version markers during packaging (#70) * fix(release): use portable python resolver in release scripts * fix(release): auto-insert missing docs version markers during packaging
1 parent 66e57a8 commit 78acb47

5 files changed

Lines changed: 558 additions & 480 deletions

File tree

scripts/build-public-artifact.sh

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,6 @@
44
set -euo pipefail
55

66
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
7+
source "$SCRIPT_DIR/lib/python-resolver.sh"
78

8-
python3 "$SCRIPT_DIR/public_manifest_tool.py" build "$@"
9+
tm_python_run "$SCRIPT_DIR/public_manifest_tool.py" build "$@"

scripts/lib/python-resolver.sh

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
#!/usr/bin/env bash
2+
3+
# Resolve a Python 3-capable interpreter portably across Linux/macOS/WSL/Windows Git Bash.
4+
# Preference order: python3 -> python -> py -3
5+
6+
tm_python_run() {
7+
if command -v python3 >/dev/null 2>&1; then
8+
python3 "$@"
9+
return
10+
fi
11+
if command -v python >/dev/null 2>&1; then
12+
python "$@"
13+
return
14+
fi
15+
if command -v py >/dev/null 2>&1; then
16+
py -3 "$@"
17+
return
18+
fi
19+
20+
echo "No Python interpreter found. Install Python 3 and ensure one of 'python3', 'python', or 'py' is on PATH." >&2
21+
return 127
22+
}
23+
24+
tm_python_label() {
25+
if command -v python3 >/dev/null 2>&1; then
26+
echo "python3"
27+
return
28+
fi
29+
if command -v python >/dev/null 2>&1; then
30+
echo "python"
31+
return
32+
fi
33+
if command -v py >/dev/null 2>&1; then
34+
echo "py -3"
35+
return
36+
fi
37+
echo "<missing-python>"
38+
}
39+

0 commit comments

Comments
 (0)