Skip to content

Nightly-Linux-Arm64 #11

Nightly-Linux-Arm64

Nightly-Linux-Arm64 #11

name: "Nightly-Linux-Arm64"
on:
workflow_dispatch:
schedule:
- cron: '0 21 * * *'
timezone: 'America/Los_Angeles'
jobs:
build-linux-wheel:
name: "Build Python Wheel ${{ matrix.python-version }}"
runs-on: ubuntu-22.04_ARM64-8core
strategy:
matrix:
python-version: ["3.10", "3.11", "3.12", "3.13"]
steps:
- name: Install required packages
# git-lfs is not installed in the image
run: sudo apt-get update && sudo apt-get install -y git-lfs
- name: Checkout code.
uses: actions/checkout@v4
with:
lfs: true
- name: Build Python Wheel
run: |
PYTHON_VERSION=${{ matrix.python-version }}
DATE=$(TZ=America/Los_Angeles date +'%Y%m%d')
bazel build \
--repo_env=HERMETIC_PYTHON_VERSION=${PYTHON_VERSION} \
--@rules_python//python/config_settings:python_version=${PYTHON_VERSION} \
--define=PYPI_NIGHTLY=1 \
--define=PYPI_NIGHTLY_DATE=${DATE} \
--define=litert_link_capi_so=true \
--define=resolve_symbols_in_exec=false \
--config=linux_arm64 \
-c opt //python/litert_lm:wheel
- name: Install uv
uses: astral-sh/setup-uv@v5
- name: Test Python Wheel
run: |
PYTHON_VERSION=${{ matrix.python-version }}
uv venv --python=${PYTHON_VERSION}
# Install the built wheel
WHEEL_PATH=$(find bazel-bin/python/litert_lm -name "*.whl" | head -n 1)
uv pip install $WHEEL_PATH
# Run the verification script
uv run python python/litert_lm/examples/simple_main.py
- name: Publish to PyPI
env:
UV_PUBLISH_TOKEN: ${{ secrets.PYPI_UPLOAD_TOKEN }}
run: |
WHEEL_PATH=$(find bazel-bin/python/litert_lm -name "*.whl" | head -n 1)
uv publish $WHEEL_PATH