Skip to content

Nightly-Mac-Arm64

Nightly-Mac-Arm64 #11

name: "Nightly-Mac-Arm64"
on:
workflow_dispatch:
schedule:
- cron: '0 21 * * *'
timezone: 'America/Los_Angeles'
jobs:
build-mac-wheel:
name: "Build Python Wheel ${{ matrix.python-version }}"
runs-on: macos-latest
strategy:
matrix:
python-version: ["3.10", "3.11", "3.12", "3.13"]
steps:
- 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 --config=macos_arm64 \
--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} \
-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