diff --git a/.github/workflows/build_wheel_dockerfile.yml b/.github/workflows/build_wheel_dockerfile.yml
index f20777b..629618b 100644
--- a/.github/workflows/build_wheel_dockerfile.yml
+++ b/.github/workflows/build_wheel_dockerfile.yml
@@ -93,6 +93,11 @@ jobs:
with:
driver-opts: network=host
+ - name: Create scoped tmpdir
+ run: |
+ mkdir -p /tmp/gha-run-${{ github.run_id }}-${{ github.run_attempt }}
+ echo "GHA_TMPDIR=/tmp/gha-run-${{ github.run_id }}-${{ github.run_attempt }}" >> $GITHUB_ENV
+
- name: Calculate previous build number
if: ${{ matrix.build_params['key'] != 1 }}
run: |
@@ -103,14 +108,14 @@ jobs:
if: ${{ matrix.build_params['key'] != 1 }}
with:
name: ${{ inputs.package }}-${{ inputs.version }}-cpython${{ inputs.python_version }}-dockerstage${{ env.PREVIOUS }}
- path: /tmp
+ path: ${{ env.GHA_TMPDIR }}
- name: Load image
if: ${{ matrix.build_params['key'] != 1 }}
run: |
- docker load --input /tmp/stage.tar
+ docker load --input ${{ env.GHA_TMPDIR }}/stage.tar
docker image ls -a
- rm /tmp/stage.tar
+ rm ${{ env.GHA_TMPDIR }}/stage.tar
- name: Push image to local registry
if: ${{ matrix.build_params['key'] != 1 }}
@@ -145,30 +150,35 @@ jobs:
tags: armv7l:latest
cache-from: type=gha,scope=${{ env.CACHE_TAG }}
cache-to: type=gha,mode=max,scope=${{ env.CACHE_TAG }}
- outputs: type=docker,dest=/tmp/stage.tar
+ outputs: type=docker,dest=${{ env.GHA_TMPDIR }}/stage.tar
- name: Upload artifact
uses: actions/upload-artifact@v4
if: ${{ matrix.build_params['key'] != fromJSON(needs.calculate_matrix.outputs.build_matrix_last) }}
with:
name: ${{ inputs.package }}-${{ inputs.version }}-cpython${{ inputs.python_version }}-dockerstage${{ matrix.build_params['key'] }}
- path: /tmp/stage.tar
+ path: ${{ env.GHA_TMPDIR }}/stage.tar
- name: Load image
if: ${{ matrix.build_params['key'] == fromJSON(needs.calculate_matrix.outputs.build_matrix_last) }}
run: |
- docker load --input /tmp/stage.tar
+ docker load --input ${{ env.GHA_TMPDIR }}/stage.tar
docker image ls -a
- rm /tmp/stage.tar
+ rm ${{ env.GHA_TMPDIR }}/stage.tar
- name: Extract output
if: ${{ matrix.build_params['key'] == fromJSON(needs.calculate_matrix.outputs.build_matrix_last) }}
run: |
- docker run -v /tmp/output:/host armv7l:latest bash -c "cp /export/* /host/"
+ docker run -v ${{ env.GHA_TMPDIR }}/output:/host armv7l:latest bash -c "cp /export/* /host/"
- name: Upload Artifacts
uses: actions/upload-artifact@v4
if: ${{ matrix.build_params['key'] == fromJSON(needs.calculate_matrix.outputs.build_matrix_last) }}
with:
name: ${{ inputs.package }}-${{ inputs.version }}-cpython${{ inputs.python_version }}
- path: /tmp/output/*.whl
+ path: ${{ env.GHA_TMPDIR }}/output/*.whl
+
+ - name: Remove scoped tmpdir
+ if: ${{ always() }}
+ run: |
+ sudo rm -rf ${{ env.GHA_TMPDIR }}
\ No newline at end of file
diff --git a/packages/lap/Dockerfile b/packages/lap/Dockerfile
new file mode 100644
index 0000000..958008d
--- /dev/null
+++ b/packages/lap/Dockerfile
@@ -0,0 +1,24 @@
+FROM ghcr.io/bjia56/armv7l-wheel-builder:main
+ARG PYTHON_VERSION
+ARG VERSION
+ARG OUTPUT_DIR
+
+ENV CC=/opt/rh/devtoolset-10/root/usr/bin/gcc
+ENV FC=/opt/rh/devtoolset-10/root/usr/bin/gfortran5
+ENV CXX=/opt/rh/devtoolset-10/root/usr/bin/g++
+ENV LD=/opt/rh/devtoolset-10/root/usr/bin/ld
+ENV PATH=/opt/rh/devtoolset-10/root/usr/bin:$PATH
+
+WORKDIR /
+RUN select_python ${PYTHON_VERSION}
+RUN python3 -m pip install numpy --extra-index-url https://bjia56.github.io/armv7l-wheels/ --prefer-binary
+RUN mkdir lap
+WORKDIR lap
+RUN python3 -m pip install lap==${VERSION}
+RUN cp $(pip cache list lap --format=abspath) .
+RUN auditwheel repair lap-*.whl && \
+ pip3 install ./wheelhouse/lap-*manylinux*armv7l.whl --extra-index-url https://bjia56.github.io/armv7l-wheels/ --prefer-binary && \
+ python3 -c "import lap; print(lap)"
+
+RUN mkdir -p ${OUTPUT_DIR} && \
+ cp ./wheelhouse/lap-*manylinux*armv7l.whl ${OUTPUT_DIR}
diff --git a/packages/lap/build.yaml b/packages/lap/build.yaml
new file mode 100644
index 0000000..ec7f2d1
--- /dev/null
+++ b/packages/lap/build.yaml
@@ -0,0 +1,13 @@
+strategy: dockerfile
+source:
+- file: ./Dockerfile
+
+python:
+ versions:
+ - "3.7"
+ - "3.8"
+ - "3.9"
+ - "3.10"
+
+package:
+ versions: latest
diff --git a/packages/lapx/Dockerfile b/packages/lapx/Dockerfile
new file mode 100644
index 0000000..fe92326
--- /dev/null
+++ b/packages/lapx/Dockerfile
@@ -0,0 +1,22 @@
+FROM ghcr.io/bjia56/armv7l-wheel-builder:main
+ARG PYTHON_VERSION
+ARG VERSION
+ARG OUTPUT_DIR
+
+COPY . /repo
+
+ENV CC=/opt/rh/devtoolset-10/root/usr/bin/gcc
+ENV FC=/opt/rh/devtoolset-10/root/usr/bin/gfortran5
+ENV CXX=/opt/rh/devtoolset-10/root/usr/bin/g++
+ENV LD=/opt/rh/devtoolset-10/root/usr/bin/ld
+ENV PATH=/opt/rh/devtoolset-10/root/usr/bin:$PATH
+
+WORKDIR /
+RUN select_python ${PYTHON_VERSION}
+RUN python3 -m pip install numpy --extra-index-url https://bjia56.github.io/armv7l-wheels/ --prefer-binary
+RUN mkdir lapx
+WORKDIR lapx
+RUN /repo/armv7l_build_wheels.sh ${PYTHON_VERSION} ${VERSION}
+
+RUN mkdir -p ${OUTPUT_DIR} && \
+ cp build${PYTHON_VERSION}/wheelhouse/lapx*manylinux*armv7l.whl ${OUTPUT_DIR}
\ No newline at end of file
diff --git a/packages/lapx/armv7l_build_wheels.sh b/packages/lapx/armv7l_build_wheels.sh
new file mode 100755
index 0000000..a8d01aa
--- /dev/null
+++ b/packages/lapx/armv7l_build_wheels.sh
@@ -0,0 +1,31 @@
+#!/bin/bash
+
+PYTHON3_VERSION=$1
+PACKAGE_VERSION=$2
+
+set -e
+
+build_wheel() (
+ PY_VER=$1
+ VER=$2
+ mkdir build$PY_VER
+ cd build$PY_VER
+ pip$PY_VER wheel --no-deps lapx==$VER
+)
+
+test_wheel() (
+ PY_VER=$1
+ cd build$PY_VER
+ pip$PY_VER install wheelhouse/lapx*manylinux*armv7l.whl
+ python$PY_VER -c "import lap; print(lap)"
+)
+
+repair_wheel() (
+ PY_VER=$1
+ cd build$PY_VER
+ auditwheel repair lapx*armv7l.whl
+)
+
+build_wheel $PYTHON3_VERSION $PACKAGE_VERSION
+repair_wheel $PYTHON3_VERSION
+test_wheel $PYTHON3_VERSION
diff --git a/packages/lapx/build.yaml b/packages/lapx/build.yaml
new file mode 100644
index 0000000..b554a05
--- /dev/null
+++ b/packages/lapx/build.yaml
@@ -0,0 +1,15 @@
+strategy: dockerfile
+source:
+- file: ./Dockerfile
+
+python:
+ versions:
+ - "3.7"
+ - "3.8"
+ - "3.9"
+ - "3.10"
+ - "3.11"
+ - "3.12"
+
+package:
+ versions: latest
diff --git a/packages/pandas/build.yaml b/packages/pandas/build.yaml
new file mode 100644
index 0000000..57c89d6
--- /dev/null
+++ b/packages/pandas/build.yaml
@@ -0,0 +1,11 @@
+strategy: pypi
+
+python:
+ versions:
+ - "3.9"
+ - "3.10"
+ - "3.11"
+ - "3.12"
+
+package:
+ versions: latest
diff --git a/pypi/av/index.html b/pypi/av/index.html
index cfea681..fd87393 100644
--- a/pypi/av/index.html
+++ b/pypi/av/index.html
@@ -115,6 +115,26 @@
av-12.0.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
+
+
+ av-12.1.0-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
+
+
+
+ av-12.1.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
+
+
+
+ av-12.1.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
+
+
+
+ av-12.1.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
+
+
+
+ av-12.1.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
+
pip install lap --extra-index-url https://bjia56.github.io/armv7l-wheels/
+