Skip to content

Commit

Permalink
Fix upload; adjust CI jobs
Browse files Browse the repository at this point in the history
  • Loading branch information
zanieb committed Jan 22, 2025
1 parent ef45b12 commit 43bb866
Showing 1 changed file with 27 additions and 255 deletions.
282 changes: 27 additions & 255 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -542,7 +542,7 @@ jobs:
uses: actions/upload-artifact@v4
with:
name: uv-windows-aarch64-${{ github.sha }}
path: target/aarch64-pc-windows-msvc/debug/uv.exe
path: ${{ env.UV_WORKSPACE }}/target/aarch64-pc-windows-msvc/debug/uv.exe
retention-days: 1

cargo-build-msrv:
Expand Down Expand Up @@ -697,7 +697,7 @@ jobs:
eval "$(./uv generate-shell-completion bash)"
eval "$(./uvx --generate-shell-completion bash)"
smoke-test-windows:
smoke-test-windows-x86_64:
timeout-minutes: 10
needs: build-binary-windows-x86_64
name: "smoke test | windows x86_64"
Expand All @@ -717,6 +717,26 @@ jobs:
(& ./uv generate-shell-completion powershell) | Out-String | Invoke-Expression
(& ./uvx --generate-shell-completion powershell) | Out-String | Invoke-Expression
smoke-test-windows-aarch64:
timeout-minutes: 10
needs: build-binary-windows-aarch64
name: "smoke test | windows aarch64"
runs-on: windows-latest
steps:
- name: "Download binary"
uses: actions/download-artifact@v4
with:
name: uv-windows-aarch64-${{ github.sha }}

- name: "Smoke test"
working-directory: ${{ env.UV_WORKSPACE }}
run: |
./uv venv -v
./uv pip install ruff -v
./uvx -v ruff --version
(& ./uv generate-shell-completion powershell) | Out-String | Invoke-Expression
(& ./uvx --generate-shell-completion powershell) | Out-String | Invoke-Expression
integration-test-conda:
timeout-minutes: 10
needs: build-binary-linux
Expand Down Expand Up @@ -888,54 +908,6 @@ jobs:
./uv run python -c ""
./uv run -p 3.13t python -c ""
integration-test-free-threaded-windows-aarch64:
timeout-minutes: 10
needs: build-binary-windows-aarch64
name: "integration test | free-threaded on windows"
runs-on: github-windows-11-aarch64-4
env:
# Avoid debug build stack overflows.
UV_STACK_SIZE: 3000000 # 3 megabyte, triple the default on windows

steps:
- name: "Download binary"
uses: actions/download-artifact@v4
with:
name: uv-windows-aarch64-${{ github.sha }}

- name: "Install free-threaded Python via uv"
run: |
./uv python install -v 3.13t
- name: "Create a virtual environment (stdlib)"
run: |
& (./uv python find 3.13t) -m venv .venv
- name: "Check version (stdlib)"
run: |
.venv/Scripts/python --version
- name: "Create a virtual environment (uv)"
run: |
./uv venv -p 3.13t --python-preference only-managed
- name: "Check version (uv)"
run: |
.venv/Scripts/python --version
- name: "Check is free-threaded"
run: |
.venv/Scripts/python -c "import sys; exit(1) if sys._is_gil_enabled() else exit(0)"
- name: "Check install"
run: |
./uv pip install -v anyio
- name: "Check uv run"
run: |
./uv run python -c ""
./uv run -p 3.13t python -c ""
integration-test-pypy-linux:
timeout-minutes: 10
needs: build-binary-linux
Expand Down Expand Up @@ -1063,66 +1035,6 @@ jobs:
run: |
.\uv.exe pip install anyio
integration-test-pypy-windows-aarch64:
timeout-minutes: 10
needs: build-binary-windows-aarch64
name: "integration test | pypy on windows"
runs-on: github-windows-11-aarch64-4

steps:
- name: "Download binary"
uses: actions/download-artifact@v4
with:
name: uv-windows-aarch64-${{ github.sha }}

- name: "Install PyPy"
run: .\uv.exe python install pypy3.9

- name: "Create a virtual environment"
run: |
.\uv.exe venv -p pypy3.9 --python-preference only-managed
- name: "Check for executables"
shell: python
run: |
import sys
from pathlib import Path
def binary_exist(binary):
binaries_path = Path(".venv\\Scripts")
if (binaries_path / binary).exists():
return True
print(f"Executable '{binary}' not found in folder '{binaries_path}'.")
all_found = True
expected_binaries = [
"pypy3.9.exe",
"pypy3.9w.exe",
"pypy3.exe",
"pypyw.exe",
"python.exe",
"python3.9.exe",
"python3.exe",
"pythonw.exe",
]
for binary in expected_binaries:
if not binary_exist(binary):
all_found = False
if not all_found:
print("One or more expected executables were not found.")
sys.exit(1)
- name: "Check version"
run: |
& .venv\Scripts\pypy3.9.exe --version
& .venv\Scripts\pypy3.exe --version
& .venv\Scripts\python.exe --version
- name: "Check install"
run: |
.\uv.exe pip install anyio
integration-test-graalpy-linux:
timeout-minutes: 10
needs: build-binary-linux
Expand Down Expand Up @@ -1255,66 +1167,6 @@ jobs:
run: |
.\uv.exe pip install anyio
integration-test-graalpy-windows-aarch64:
timeout-minutes: 10
needs: build-binary-windows-aarch64
name: "integration test | graalpy on windows"
runs-on: github-windows-11-aarch64-4

steps:
- uses: timfel/setup-python@fc9bcb4a04f5b1ea7d678c2ca7ea1c479a2468d7
with:
python-version: "graalpy24.1"

- name: "Download binary"
uses: actions/download-artifact@v4
with:
name: uv-windows-aarch64-${{ github.sha }}

- name: Graalpy info
run: Get-Command graalpy

- name: "Create a virtual environment"
run: |
$graalpy = (Get-Command graalpy).source
.\uv.exe venv -p $graalpy
- name: "Check for executables"
shell: python
run: |
import sys
from pathlib import Path
def binary_exist(binary):
binaries_path = Path(".venv\\Scripts")
if (binaries_path / binary).exists():
return True
print(f"Executable '{binary}' not found in folder '{binaries_path}'.")
all_found = True
expected_binaries = [
"graalpy.exe",
"python.exe",
"python3.exe",
]
for binary in expected_binaries:
if not binary_exist(binary):
all_found = False
if not all_found:
print("One or more expected executables were not found.")
sys.exit(1)
- name: "Check version"
run: |
& .venv\Scripts\graalpy.exe --version
& .venv\Scripts\python3.exe --version
& .venv\Scripts\python.exe --version
- name: "Check install"
run: |
.\uv.exe pip install anyio
integration-test-github-actions:
timeout-minutes: 10
needs: build-binary-linux
Expand Down Expand Up @@ -1821,10 +1673,10 @@ jobs:
- name: "Validate global Python install"
run: py -3.10 ./scripts/check_system_python.py --uv ./uv.exe

system-test-windows-python-310-aarch64:
system-test-windows-aarch64-python-313:
timeout-minutes: 10
needs: build-binary-windows-aarch64
name: "check system | python3.10 on windows aarch64"
name: "check system | python3.13 on windows aarch64"
runs-on: github-windows-11-aarch64-4
env:
# Avoid debug build stack overflows.
Expand All @@ -1834,7 +1686,7 @@ jobs:

- uses: actions/setup-python@v5
with:
python-version: "3.10"
python-version: "3.13"

- name: "Download binary"
uses: actions/download-artifact@v4
Expand All @@ -1845,9 +1697,9 @@ jobs:
run: echo $(which python)

- name: "Validate global Python install"
run: py -3.10 ./scripts/check_system_python.py --uv ./uv.exe
run: py -3.13 ./scripts/check_system_python.py --uv ./uv.exe

system-test-windows-x86-python-310:
system-test-windows-x86_64-python-310:
timeout-minutes: 10
needs: build-binary-windows-x86_64
name: "check system | python3.10 on windows x86"
Expand All @@ -1871,33 +1723,6 @@ jobs:
- name: "Validate global Python install"
run: python ./scripts/check_system_python.py --uv ./uv.exe

system-test-windows-aarch64-python-310:
timeout-minutes: 10
needs: build-binary-windows-aarch64
name: "check system | python3.10 on windows aarch64"
runs-on: github-windows-11-aarch64-4
env:
# Avoid debug build stack overflows.
UV_STACK_SIZE: 3000000 # 3 megabyte, triple the default on windows
steps:
- uses: actions/checkout@v4

- uses: actions/setup-python@v5
with:
python-version: "3.10"
architecture: "aarch64"

- name: "Download binary"
uses: actions/download-artifact@v4
with:
name: uv-windows-aarch64-${{ github.sha }}

- name: "Print Python path"
run: echo $(which python)

- name: "Validate global Python install"
run: python ./scripts/check_system_python.py --uv ./uv.exe

system-test-windows-x86_64-python-313:
timeout-minutes: 10
needs: build-binary-windows-x86_64
Expand All @@ -1923,34 +1748,6 @@ jobs:
- name: "Validate global Python install"
run: py -3.13 ./scripts/check_system_python.py --uv ./uv.exe

system-test-windows-aarch64-python-313:
timeout-minutes: 10
needs: build-binary-windows-aarch64
name: "check system | python3.13 on windows aarch64"
runs-on: github-windows-11-aarch64-4
env:
# Avoid debug build stack overflows.
UV_STACK_SIZE: 3000000 # 3 megabyte, triple the default on windows
steps:
- uses: actions/checkout@v4

- uses: actions/setup-python@v5
with:
python-version: "3.13"
allow-prereleases: true
cache: pip

- name: "Download binary"
uses: actions/download-artifact@v4
with:
name: uv-windows-aarch64-${{ github.sha }}

- name: "Print Python path"
run: echo $(which python)

- name: "Validate global Python install"
run: py -3.13 ./scripts/check_system_python.py --uv ./uv.exe

system-test-choco:
timeout-minutes: 10
needs: build-binary-windows-x86_64
Expand All @@ -1973,31 +1770,6 @@ jobs:
- name: "Validate global Python install"
run: py -3.9 ./scripts/check_system_python.py --uv ./uv.exe

system-test-choco-aarch64:
timeout-minutes: 10
needs: build-binary-windows-aarch64
name: "check system | python3.12 via chocolatey"
runs-on: github-windows-11-aarch64-4
env:
# Avoid debug build stack overflows.
UV_STACK_SIZE: 3000000 # 3 megabyte, triple the default on windows
steps:
- uses: actions/checkout@v4

- name: "Install Python"
run: choco install python3 --verbose --version=3.9.13

- name: "Download binary"
uses: actions/download-artifact@v4
with:
name: uv-windows-aarch64-${{ github.sha }}

- name: "Print Python path"
run: echo $(which python3)

- name: "Validate global Python install"
run: py -3.9 ./scripts/check_system_python.py --uv ./uv.exe

system-test-pyenv:
timeout-minutes: 10
needs: build-binary-linux
Expand Down

0 comments on commit 43bb866

Please sign in to comment.