Skip to content

Commit 3175aa5

Browse files
authored
Merge pull request #3 from svesh/feature/unified-cli
Replaces make/default CLIs with a unified ytsprint binary and overhauls CI/Docker to build/publish per-arch artifacts (incl. native Windows), with updated docs, tests, and artifact names. CLI: Replace make-sprint and default-sprint with unified ytsprint (--sync default, --create), new entrypoint ytsprint/cli.py. Update version/info helpers to unified CLI; generate single Windows version file. Build/CI: GitHub Actions: add pip caching; switch Windows builds to native (x64/x86) matrix; refine macOS; Linux uses scripts/internal/prepare-linux-deps.sh and caches pip. Rename artifacts to ytsprint-<os>-<arch>; update release attachments. Split Docker into runtime Dockerfile (copy prebuilt ytsprint) and builder Dockerfile.build; add per-arch Docker build + multi-arch manifest jobs. Scripts: Add scripts/build-linux-docker.sh, scripts/build-runtime.sh, scripts/windows-build.ps1, scripts/internal/prepare-linux-deps.sh. Remove Wine build/install scripts and build-with-docker.sh; refactor linux/macos build scripts for unified binary. Docker: Runtime image runs ytsprint, exposes 9108, selects binary by TARGETARCH. Docs: Rewrite README to unified CLI; add CHANGELOG 2.1.0 notes. Tests: Add tests for unified CLI and daemon runner; adjust existing tests and typing; keep coverage ≥80%. Config: pyproject.toml: enable strict Pyright, include tests, switch console script to ytsprint. .dockerignore allows build scripts and dist/ binaries for Docker builds; expand generated-files list. requirements.txt: relax some pinning for linters.
2 parents 491c0af + 5ce88bd commit 3175aa5

35 files changed

Lines changed: 1730 additions & 1450 deletions

.dockerignore

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,3 +58,11 @@ Dockerfile
5858
*.bak
5959
*_old.py
6060
*.sh
61+
62+
# Allow build scripts and runtime artifacts for Docker builds
63+
!scripts/*.sh
64+
!scripts/*.ps1
65+
!scripts/**/*.sh
66+
!dist/ytsprint-linux-*
67+
!Dockerfile
68+
!Dockerfile.build

.github/generated-files.yml

Lines changed: 34 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -5,25 +5,43 @@ version: 1
55

66
# Files that are partially or fully AI-generated
77
ai_generated:
8-
- "ytsprint/lib_yt_api.py"
9-
- "ytsprint/lib_date_utils.py"
10-
- "ytsprint/lib_sprint.py"
11-
- "ytsprint/lib_daemon.py"
12-
- "ytsprint/version.py"
13-
- "tests/test_yt_api.py"
14-
- "tests/test_default_sprint.py"
15-
- "tests/test_default_sprint_errors.py"
16-
- "tests/test_default_sprint_main_daemon.py"
17-
- "tests/test_make_sprint_cli.py"
18-
- "tests/test_cli_args.py"
19-
- "tests/test_version.py"
20-
- "Dockerfile"
218
- ".dockerignore"
9+
- ".gitignore"
10+
- ".pymarkdownlnt.json"
11+
- ".python-version"
12+
- ".yamllint.yaml"
13+
- ".github/generated-files.yml"
14+
- ".github/workflows/build-binaries.yml"
15+
- "AGENTS.md"
16+
- "CHANGELOG.md"
17+
- "Dockerfile"
18+
- "Dockerfile.build"
19+
- "LICENSE"
20+
- "OSX_BUILD.md"
21+
- "README.md"
22+
- "pyproject.toml"
23+
- "requirements.txt"
24+
- "scripts/build-linux-docker.sh"
25+
- "scripts/build-runtime.sh"
26+
- "scripts/internal/prepare-linux-deps.sh"
2227
- "scripts/linux-build.sh"
23-
- "scripts/wine-build.sh"
28+
- "scripts/linters.sh"
2429
- "scripts/macos-build.sh"
25-
- "scripts/push-multi-ghcr.sh"
26-
- ".github/workflows/build-binaries.yml"
30+
- "scripts/windows-build.ps1"
31+
- "tests/conftest.py"
32+
- "tests/test_cli.py"
33+
- "tests/test_daemon_runner.py"
34+
- "tests/test_default_sprint.py"
35+
- "tests/test_default_sprint_errors.py"
36+
- "tests/test_version.py"
37+
- "tests/test_yt_api.py"
38+
- "ytsprint/__init__.py"
39+
- "ytsprint/cli.py"
40+
- "ytsprint/lib_daemon.py"
41+
- "ytsprint/lib_date_utils.py"
42+
- "ytsprint/lib_sprint.py"
43+
- "ytsprint/lib_yt_api.py"
44+
- "ytsprint/version.py"
2745

2846
# Documentation that mentions AI collaboration
2947
documentation:

0 commit comments

Comments
 (0)