Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 36 additions & 0 deletions .github/workflows/build-dev-binaries.yml
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,42 @@ jobs:
./target/no-debug/uvx
retention-days: 1

build-binary-linux-armv7-gnueabihf:
name: "linux armv7 gnueabihf"
timeout-minutes: 15
runs-on: github-ubuntu-24.04-x86_64-8
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false

- name: "Install mold"
run: ./scripts/install-mold.sh

- name: "Setup armv7"
run: |
sudo apt-get update
sudo apt-get install gcc-arm-linux-gnueabihf
rustup target add armv7-unknown-linux-gnueabihf

- uses: Swatinem/rust-cache@779680da715d629ac1d338a641029a2f4372abb5 # v2.8.2
with:
save-if: ${{ inputs.save-rust-cache == 'true' }}

- name: "Build"
env:
CARGO_TARGET_ARMV7_UNKNOWN_LINUX_GNUEABIHF_LINKER: arm-linux-gnueabihf-gcc
run: cargo build --profile no-debug --target armv7-unknown-linux-gnueabihf --bin uv --bin uvx

- name: "Upload binary"
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: uv-linux-armv7-gnueabihf-${{ github.sha }}
path: |
./target/armv7-unknown-linux-gnueabihf/no-debug/uv
./target/armv7-unknown-linux-gnueabihf/no-debug/uvx
retention-days: 1

build-binary-linux-musl:
name: "linux musl"
timeout-minutes: 10
Expand Down
42 changes: 42 additions & 0 deletions .github/workflows/test-integration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -179,6 +179,48 @@ jobs:
run: |
./uv pip install -v anyio

integration-test-linux-armv7-on-aarch64:
name: "armv7 on aarch64 linux"
timeout-minutes: 20
runs-on: github-ubuntu-24.04-aarch64-4
env:
UV_PYTHON_INSTALL_DIR: ${{ github.workspace }}/.python

steps:
- name: "Download binary"
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
with:
name: uv-linux-armv7-gnueabihf-${{ inputs.sha }}

- name: "Install armhf runtime"
run: |
sudo dpkg --add-architecture armhf
sudo apt-get update
sudo apt-get install -y libc6:armhf libgcc-s1:armhf

- name: "Prepare binary"
run: |
chmod +x ./uv
chmod +x ./uvx

- name: "Install Python via uv"
run: |
./uv python install -v 3.13.12

- name: "Verify hard-float variant selected"
run: |
python_path=$(./uv python find 3.13)
expected="$GITHUB_WORKSPACE/.python/cpython-3.13-linux-armv7-gnueabihf/bin/python3.13"
if [[ "$python_path" != "$expected" ]]; then
echo "Expected: $expected"
echo "Found: $python_path"
exit 1
fi

- name: "Create a virtual environment"
run: |
./uv venv -c -p 3.13.12 --managed-python --no-python-downloads

integration-test-free-threaded-windows-x86_64:
name: "free-threaded on windows"
timeout-minutes: 10
Expand Down
Loading