-
Notifications
You must be signed in to change notification settings - Fork 0
feat(cli): unify sprint tooling and extend build targets #3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
- replace make/default sprint entrypoints with single ytsprint CLI exposing --sync (default) and --create subcommands via argparse parsing - adjust CI, Docker, and Wine build scripts to publish both amd64 and x86 Windows artifacts and refresh local Docker helper - update tests, coverage, and docs (README, changelog 2.1.0) to match the unified workflow and keep modules above 80% coverage
- split docker-image workflow into matrix builds per architecture with a follow-up manifest job to publish multi-arch tags in parallel - allow the release job to run on every push, emitting artifact listings while reserving GitHub release publishing for version tags
- drop wine-based Windows tooling, add auto-arch PowerShell build and document the unified Linux/macos scripts for local and CI use - introduce dedicated Docker builder/runtime flows with staging helpers and expose Prometheus port in the runtime image - refresh workflow, docs, and changelog to describe the new scripts and artifact handling
…t export - Dockerfile.build: run scripts/internal/prepare-linux-deps.sh; copy scripts/linux-build.sh; export /app/dist to root - scripts/build-linux-docker.sh: detect artifact in / or /dist; fail fast with logs; chmod +x - scripts/internal/prepare-linux-deps.sh: install requirements, scons>=4.7, staticx==0.14.1; respect --break-system-packages - scripts/linux-build.sh: stop installing deps; check for pyinstaller/staticx presence; list dist - scripts/windows-build.ps1: fix repo root detection; clean staging exe; remove inline pip installs; avoid stale target exe - .github/workflows/build-binaries.yml: drop redundant pip upgrade/installs (pyright/isort/pymarkdownlnt/yamllint/pyinstaller) Result: more reproducible builds, fewer network calls, and consistent artifacts across platforms.
- README.md: restructure into User/Developer guides with clear sections - Add helpful references to CHANGELOG, AGENTS, OSX_BUILD - Improve download instructions with latest release link - Reorganize CLI examples and parameters - Update Docker runtime image references to ghcr.io/svesh/yt-sprint-tool - Expand Developer Guide with detailed build instructions - Add architecture overview and module descriptions - Include distribution artifacts reference and script documentation - Add linters and rules section with configuration references - CHANGELOG.md: add documentation restructuring entry - .github/generated-files.yml: comprehensive update of AI-generated files list - Remove obsolete test files and build scripts - Add current build scripts and configuration files - Include all project files in alphabetical order
quality: setup-python caches pip using requirements.txt linux: add actions/cache for ~/.cache/pip keyed by requirements.txt and scripts/internal/prepare-linux-deps.sh windows/macos: setup-python caches pip via built-in cache no change to build artifacts or runtime behavior docs: update CHANGELOG 2.1.0 with CI caching notes
linux: include ${{ matrix.arch }} in pip cache key and restore-keys
windows: replace setup-python cache with actions/cache for ~\AppData\Local\pip\Cache
using ${{ matrix.python_arch }} in key/restore-keys
macos: replace setup-python cache with actions/cache for ~/Library/Caches/pip
using ${{ matrix.arch }} in key/restore-keys
quality: keep setup-python pip cache (unchanged)
quality: setup-python caches pip using requirements.txt
windows/macos: enable setup-python pip cache; remove explicit actions/cache
linux: add actions/cache for ~/.cache/pip with ${{ matrix.arch }} in key; invalidate on requirements.txt and prepare-linux-deps.sh
no changes to build artifacts or runtime behavior
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Bug: CI Workflow Fails on PRs
The CI workflow won't run on pull requests after the pull_request trigger was removed. This prevents essential validation and build feedback for PRs, increasing the risk of merging issues.
.github/workflows/build-binaries.yml#L5-L6
yt-sprint-tool/.github/workflows/build-binaries.yml
Lines 5 to 6 in 5ce88bd
| branches: ['**'] | |
| tags: ['v*'] |
Note
Replaces make/default CLIs with a unified
ytsprintbinary and overhauls CI/Docker to build/publish per-arch artifacts (incl. native Windows), with updated docs, tests, and artifact names.make-sprintanddefault-sprintwith unifiedytsprint(--syncdefault,--create), new entrypointytsprint/cli.py.scripts/internal/prepare-linux-deps.shand caches pip.ytsprint-<os>-<arch>; update release attachments.Dockerfile(copy prebuiltytsprint) and builderDockerfile.build; add per-arch Docker build + multi-arch manifest jobs.scripts/build-linux-docker.sh,scripts/build-runtime.sh,scripts/windows-build.ps1,scripts/internal/prepare-linux-deps.sh.build-with-docker.sh; refactorlinux/macosbuild scripts for unified binary.ytsprint, exposes 9108, selects binary byTARGETARCH.pyproject.toml: enable strict Pyright, include tests, switch console script toytsprint..dockerignoreallows build scripts anddist/binaries for Docker builds; expand generated-files list.requirements.txt: relax some pinning for linters.Written by Cursor Bugbot for commit 5ce88bd. This will update automatically on new commits. Configure here.