-
Notifications
You must be signed in to change notification settings - Fork 34
fix(ci): upgrade pyapp #522
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
Open
cofin
wants to merge
48
commits into
main
Choose a base branch
from
fix/standalone-build
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Collaborator
cofin
commented
Jan 8, 2026
- Upgrades pyapp to v0.29.0 to support Python 3.12 defaults on macOS/Windows.
- Uses cargo-zigbuild for Linux GNU targets to ensure compatibility with older GLIBC (2.17).
- Upgrades pyapp to v0.29.0 to support Python 3.12 defaults on macOS/Windows.
- Uses cargo-zigbuild for Linux GNU targets to ensure compatibility with older GLIBC (2.17).
- Adds 'build-wheel' job to build the python package.
- Adds 'verify-binary-builds' job to verify binary compilation for all targets.
- Runs verification after all tests pass to ensure build stability without artifact upload.
- Adds explicit 'permissions: { contents: read }' to all workflows.
- Follows least privilege principle to address GitHub security warnings.
- Release workflow jobs that need write access already have specific overrides.
- Upgrades STABLE_PYTHON_VERSION and PYAPP_PYTHON_VERSION to 3.13.
- Resolves 'No default distribution source found' error on macOS aarch64.
- Python 3.13 is fully supported by pyapp v0.29.0 for all target platforms.
- Adds 'cat dist/requirements.txt' to ci and release workflows.
- Helps diagnose 'No module named dma' error by verifying wheel path in requirements.
- Removes x86_64-apple-darwin from binary build matrix.
- We are only supporting aarch64 for macOS binaries.
- Aligns with upstream support and simplifies the build matrix.
- Manually sets PYAPP_DISTRIBUTION_SOURCE for aarch64-apple-darwin.
- Bypasses automatic detection failure for Python 3.13 on this platform.
- Uses the URL verified from pyapp v0.29.0 source.
- Manually sets PYAPP_DISTRIBUTION_SOURCE for aarch64-unknown-linux-gnu.
- Resolves 'No default distribution source found' error on Linux ARM64.
- Uses the URL verified from pyapp v0.29.0 source.
- Manually sets PYAPP_DISTRIBUTION_SOURCE for x86_64-pc-windows-msvc.
- Skips offline binary test for aarch64-linux on x86_64 runners to avoid exec format error.
- Ensures build stability across all target platforms.
- Adds explicit test step for linux-musl targets using alpine container.
- Ensures static linking validity for musl binaries.
- Maintains existing glibc tests for standard linux targets.
- Removes PYAPP_SKIP_INSTALL='true' from ci and release workflows.
- Fixes 'No module named dma' by allowing pyapp to install the embedded wheel into the isolated python environment on first run.
- Adds tools/bundle_python.py to pre-install dependencies into the Python distribution.
- Updates ci.yaml and release.yaml to use this script for x86_64-unknown-linux-gnu.
- Sets PYAPP_SKIP_INSTALL=true for this target to enable offline execution.
- Bundles dependencies for both x86_64 and aarch64 Linux GNU targets.
- Sets PYAPP_SKIP_INSTALL=true and clears dependency file for bundled builds.
- Adds debugging step to inspect wheel contents.
- Sets default installation directory to ~/.dma.
- Removes the hardcoded pypi index from pyproject.toml. - Allows uv to respect system/environment defaults for package indexing. - May resolve issues with finding packages like setuptools in specific CI environments.
- Adds uv.toml to .gitignore.
- Allows developers to maintain local uv configuration (e.g., custom package indexes) without committing them to the repository.
- Adds tools/setup-local-env.sh to configure uv.toml for Google internal environments (Rodete).
- Updates Makefile to call this script during installation.
- Ensures developers on internal machines have the correct package index configured automatically.
- Corrects the index URL in setup-local-env.sh to point to pypi.org.
- Forces uv to use the public index by default in internal environments.
- Explains how to use uv.toml to override package indexes in internal environments.
- Provides instructions for sharing this context with other Gemini CLI instances.
- Exports PIP_INDEX_URL=https://pypi.org/simple if uv.toml is present. - Ensures pre-commit (which uses pip) works in internal environments where uv.toml is used to bypass internal registries.
- Move rich-click config to cli/__init__.py.
- Fix linting issues in tools/bundle_python.py.
- Add ignores for specific rules in pyproject.toml.
- Fix minor issues in tests.
- Removes commented-out code in bundle_python.py.
- Fixes unused variable warnings.
- Adds S202 and ERA001 to ruff ignores for tools.
- Renames _files back to files as it is actually used in the loop.
- Resolves RUF052 error.
- Switches aiosql adapters to synchronous variants (psycopg, pymysql, pymssql, oracledb) to match dma execution model.
- Resolves 'coroutine' attribute errors caused by aiosql v14/15 async defaults.
- Updates rich-click configuration to latest non-deprecated settings.
…ing in CI workflow
- Remove musl builds to simplify CI and avoid compatibility issues. - Update bundle_python.py to use 'uv pip install' for better dependency resolution. - Update platform tags to 'manylinux_2_28' to support recent package versions (duckdb, granian). - Force public PyPI index on Rodete to ensure package availability.
…d comprehensive tests
When using PYAPP_DISTRIBUTION_PATH with a custom Python distribution, PyApp requires PYAPP_DISTRIBUTION_PYTHON_PATH to locate the Python binary inside the embedded tarball. - Unix (Linux/macOS): python/bin/python3 - Windows: python/python.exe This matches the structure of python-build-standalone distributions.
DuckDB 1.4.x only provides wheels for manylinux_2_28 (glibc 2.28+), not manylinux_2_17. Update the PLATFORMS mapping in bundle_python.py to use the correct platform tag. - Upgrade duckdb minimum version from 1.0.0 to 1.4.3 - Change Linux platforms from manylinux_2_17 to manylinux_2_28 - Update test expectations accordingly
The DMA CLI doesn't have a --version flag, use --help instead.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.