feat: Add Arabic support, Docker Compose, and retry mechanisms #3
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
| name: Build and test wheels linux/arm64 | |
| on: | |
| push: | |
| branches: [master] | |
| pull_request: | |
| branches: [master] | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| linux-build-arm64: | |
| name: Build wheel for linux arm64 | |
| runs-on: ubuntu-22.04 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Prepare snap7 archive | |
| uses: ./.github/actions/prepare_snap7 | |
| - name: Set up QEMU | |
| uses: docker/setup-qemu-action@v3 | |
| with: | |
| platforms: arm64 | |
| - name: Build wheel for aarch64 | |
| uses: ./.github/actions/manylinux_2_28_aarch64 | |
| with: | |
| script: ./.github/build_scripts/build_package.sh | |
| platform: manylinux_2_28_aarch64 | |
| makefile: aarch64-linux-gnu.mk | |
| python: /opt/python/cp38-cp38/bin/python | |
| wheeldir: dist/ | |
| - name: Upload artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: dist-linux-arm64 | |
| path: dist/*.whl | |
| linux-test-arm64: | |
| name: Testing wheel for arm64 | |
| needs: linux-build-arm64 | |
| runs-on: ubuntu-22.04 | |
| strategy: | |
| matrix: | |
| python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"] | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Download artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: dist-linux-arm64 | |
| path: dist | |
| - name: Set up QEMU | |
| uses: docker/setup-qemu-action@v3 | |
| with: | |
| platforms: arm64 | |
| - name: Run tests in docker:arm64v8 | |
| run: | | |
| docker run --rm --interactive -v $PWD/tests:/tests \ | |
| -v $PWD/pyproject.toml:/pyproject.toml \ | |
| -v $PWD/dist:/dist \ | |
| --platform linux/arm64 \ | |
| "arm64v8/python:${{ matrix.python-version }}-bookworm" /bin/bash -s <<EOF | |
| pip install --upgrade pip uv | |
| uv venv | |
| uv pip install pytest | |
| uv pip install dist/*.whl | |
| # Use --no-project to prevent uv from rebuilding from source | |
| uv run --no-project pytest -m "server or util or client or mainloop or partner" | |
| EOF |