diff --git a/.github/workflows/armv7-contamination-deb-mirror.yml b/.github/workflows/armv7-contamination-deb-mirror.yml index e5b24da..f52eb03 100644 --- a/.github/workflows/armv7-contamination-deb-mirror.yml +++ b/.github/workflows/armv7-contamination-deb-mirror.yml @@ -20,7 +20,7 @@ env: jobs: build-armv7-contaminated: - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 strategy: fail-fast: false matrix: @@ -60,7 +60,7 @@ jobs: PACKAGECLOUD_TOKEN: ${{ secrets.PACKAGECLOUD_TOKEN }} - name: Upload binary package artifacts - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: ${{ matrix.package }}.${{ matrix.type }} path: ./*.${{ matrix.type }} diff --git a/.github/workflows/misc-upstream-deb-mirror.yml b/.github/workflows/misc-upstream-deb-mirror.yml index e9dd30b..b78fede 100644 --- a/.github/workflows/misc-upstream-deb-mirror.yml +++ b/.github/workflows/misc-upstream-deb-mirror.yml @@ -17,7 +17,7 @@ env: jobs: build-upstream: - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 strategy: fail-fast: false matrix: @@ -84,19 +84,19 @@ jobs: echo "ARTIFACT_PREFIX=$(basename -s .dsc "$(find . -name "*.dsc")")" >> $GITHUB_ENV - name: Upload binary package artifacts - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: ${{ matrix.distro}}_${{ env.ARTIFACT_PREFIX }}.deb path: ./artifacts/*.deb - name: Upload source package artifacts - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: ${{ matrix.distro}}_${{ env.ARTIFACT_PREFIX }}.deb-src path: ./artifacts/*.tar.xz - name: Upload package build metadata artifacts - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: ${{ matrix.distro}}_${{ env.ARTIFACT_PREFIX }}.metadata path: | diff --git a/.github/workflows/pypi-deb-build.yml b/.github/workflows/pypi-deb-build.yml index 9aede90..e72c563 100644 --- a/.github/workflows/pypi-deb-build.yml +++ b/.github/workflows/pypi-deb-build.yml @@ -22,7 +22,7 @@ env: jobs: build-from-pypi: - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 strategy: fail-fast: false matrix: @@ -56,7 +56,7 @@ jobs: steps: - name: Checkout code - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Build in ARM Docker container run: | @@ -80,21 +80,21 @@ jobs: echo "ARTIFACT_PREFIX=$(basename -s .dsc "$(find . -name "*.dsc")")" >> $GITHUB_ENV - name: Upload binary package artifacts - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: ${{ matrix.distro }}.deb path: "./${{ matrix.package[0] }}/${{ matrix.distro }}/*.deb" if-no-files-found: error - name: Upload source package artifacts - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: ${{ matrix.distro}}.deb-src path: "./${{ matrix.package[0] }}/${{ matrix.distro }}/*.tar.xz" if-no-files-found: error - name: Upload package build metadata artifacts - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: ${{ matrix.distro }}.metadata path: | diff --git a/.github/workflows/pypi-deb-docker-builder.yml b/.github/workflows/pypi-deb-docker-builder.yml index e74f003..07cf060 100644 --- a/.github/workflows/pypi-deb-docker-builder.yml +++ b/.github/workflows/pypi-deb-docker-builder.yml @@ -13,13 +13,13 @@ env: jobs: build-push-docker-hub: - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 strategy: matrix: base_image: ['bullseye', 'bookworm'] steps: - name: Checkout code - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: fetch-depth: 0 diff --git a/.github/workflows/pypi-wheel-build.yml b/.github/workflows/pypi-wheel-build.yml index f44ef4f..853708b 100644 --- a/.github/workflows/pypi-wheel-build.yml +++ b/.github/workflows/pypi-wheel-build.yml @@ -11,26 +11,28 @@ on: env: DOCKER_IMAGE_NAME: "pitop/pypi-build" - DOCKER_IMAGE_BRANCH: "master" + # TODO: revert to "master" before merging + DOCKER_IMAGE_BRANCH: "new-bluez-version" jobs: build-debs-from-wheels: - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 strategy: fail-fast: false matrix: distro: ["bullseye", "bookworm"] architecture: [{docker: "linux/arm/v7", debian: "armhf"},{docker: "linux/arm64", debian: "arm64"},{docker: "linux/amd64", debian: "all"}] package: - - ["bluez-peripheral", "", ""] - - ["dbus-fast", "", ""] - - ["imutils", "", ""] - - ["python-osc", "", ""] - - ["typing-extensions", "", ""] + # package name, version, build dependencies + - ["bluez-peripheral", "0.2.0a4", ""] # this is a pre-release version so we need to specify it to avoid downloading the latest release + - ["dbus-fast", "latest", ""] + - ["imutils", "latest", ""] + - ["python-osc", "latest", ""] + - ["typing-extensions", "latest", ""] steps: - name: Checkout code - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Build in ARM Docker container run: | @@ -44,13 +46,12 @@ jobs: ${{ env.DOCKER_IMAGE_NAME }}:${{ matrix.distro }}-${{ env.DOCKER_IMAGE_BRANCH}} \ bash -c "sudo apt update && \ sudo chown -R nonroot:nonroot . && \ - ./pypi-build/scripts/pypi-build-wheel.sh ${{ matrix.package[0] }} artifacts/${{ matrix.package[0] }}/${{ matrix.architecture.debian }}/${{ matrix.distro }}/ && \ + ./pypi-build/scripts/pypi-build-wheel.sh ${{ matrix.package[0] }} ${{ matrix.package[1] }} artifacts/${{ matrix.package[0] }}/${{ matrix.architecture.debian }}/${{ matrix.distro }}/ && \ ls -lR artifacts" - name: Upload wheel - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: - name: "wheels" + name: "wheels_${{ matrix.package[0] }}_${{ matrix.architecture.debian }}_${{ matrix.distro }}" path: "artifacts/" - if-no-files-found: error - + if-no-files-found: error \ No newline at end of file diff --git a/.github/workflows/wheel-deb-build.yml b/.github/workflows/wheel-deb-build.yml index 984eca2..0133fb8 100644 --- a/.github/workflows/wheel-deb-build.yml +++ b/.github/workflows/wheel-deb-build.yml @@ -16,17 +16,17 @@ env: jobs: build-debs-from-wheels: - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 strategy: fail-fast: false matrix: architecture: [{docker: "linux/arm/v7", debian: "armhf"},{docker: "linux/arm64", debian: "arm64"},{docker: "linux/amd64", debian: "all"}] - package: ["python3-onnxruntime", "python3-typing-extensions", "python3-bluez-peripheral", "python3-osc", "python3-imutils"] + package: ["python3-onnxruntime", "python3-typing-extensions", "python3-bluez-peripheral", "python3-osc", "python3-imutils", "python3-dbus-fast"] distro: ["bullseye", "bookworm"] steps: - name: Checkout code - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Check wheel exists for architecture run: | @@ -71,17 +71,17 @@ jobs: - name: Upload binary package artifacts if: env.WHEEL_FILES_FOUND == '1' - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: - name: ${{ matrix.distro }}.deb + name: ${{ matrix.package }}-${{ matrix.architecture.debian }}-${{ matrix.distro }}.deb path: ./wheels/${{ matrix.package }}/${{ matrix.architecture.debian }}/${{ matrix.distro }}/output/*.deb if-no-files-found: error - name: Upload source package artifacts if: env.WHEEL_FILES_FOUND == '1' - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: - name: ${{ matrix.distro }}.deb-src + name: ${{ matrix.package }}-${{ matrix.architecture.debian }}-${{ matrix.distro }}.deb-src path: ./wheels/${{ matrix.package }}/${{ matrix.architecture.debian }}/${{ matrix.distro }}/output/*.tar.* if-no-files-found: error diff --git a/README.md b/README.md index a511337..c489cf8 100644 --- a/README.md +++ b/README.md @@ -38,7 +38,7 @@ User libraries: * Re packaged since we require a newer version than what's available on RPi repos. * [`python3-bluez-peripheral`](https://pypi.org/project/bluez-peripheral) * Dependency of `further-link`. -* [`python3-dbus-next`](https://pypi.org/project/dbus-next) +* [`python3-dbus-fast`](https://pypi.org/project/dbus-fast) * Dependency of `python3-bluez-peripheral`. * [`python3-nmcli`](https://pypi.org/project/nmcli) * Dependency of `pt-os-web-portal` to interact with `NetworkManager` . diff --git a/pypi-build/scripts/pypi-build-wheel.sh b/pypi-build/scripts/pypi-build-wheel.sh index 022900d..0761912 100755 --- a/pypi-build/scripts/pypi-build-wheel.sh +++ b/pypi-build/scripts/pypi-build-wheel.sh @@ -26,9 +26,18 @@ function extract_tarball() { } function download_tar_from_pypi() { - # Download tarball - if ! pypi-download "${1}"; then - echo "Failed to download ${1} from PyPI" + local PACKAGE_NAME="$1" + local VERSION="${2:-latest}" + + echo "Downloading ${PACKAGE_NAME} from PyPI, version: ${VERSION}" + + local CMD=(pypi-download "$PACKAGE_NAME") + if [ "$VERSION" != "latest" ]; then + CMD+=(--release "$VERSION") + fi + + if ! "${CMD[@]}"; then + echo "Failed to download ${PACKAGE_NAME} from PyPI" exit 1 fi } @@ -36,9 +45,10 @@ function download_tar_from_pypi() { function main() { local PACKAGE_NAME="${1}" - local ARTIFACT_FOLDER="${2:-artifacts}" + local VERSION="${2}" + local ARTIFACT_FOLDER="${3:-artifacts}" - download_tar_from_pypi "${PACKAGE_NAME}" + download_tar_from_pypi "${PACKAGE_NAME}" "${VERSION}" TARBALL=$(find . -name "*.tar.gz" | head -n 1) FOLDER=$(basename "${TARBALL}" .tar.gz) @@ -57,8 +67,8 @@ function main() { if [ $# -lt 1 ]; then - echo "Usage: $0 " + echo "Usage: $0 " exit 1 fi -main "$1" "$2" +main "$1" "$2" "$3" diff --git a/wheels/python3-bluez-peripheral/all/bookworm/bluez_peripheral-0.2.0a1-py3-none-any.whl b/wheels/python3-bluez-peripheral/all/bookworm/bluez_peripheral-0.2.0a1-py3-none-any.whl deleted file mode 100644 index ddc86ea..0000000 Binary files a/wheels/python3-bluez-peripheral/all/bookworm/bluez_peripheral-0.2.0a1-py3-none-any.whl and /dev/null differ diff --git a/wheels/python3-bluez-peripheral/all/bookworm/bluez_peripheral-0.2.0a4-py3-none-any.whl b/wheels/python3-bluez-peripheral/all/bookworm/bluez_peripheral-0.2.0a4-py3-none-any.whl new file mode 100644 index 0000000..fa03bad Binary files /dev/null and b/wheels/python3-bluez-peripheral/all/bookworm/bluez_peripheral-0.2.0a4-py3-none-any.whl differ diff --git a/wheels/python3-bluez-peripheral/all/bullseye/bluez_peripheral-0.2.0a1-py3-none-any.whl b/wheels/python3-bluez-peripheral/all/bullseye/bluez_peripheral-0.2.0a1-py3-none-any.whl deleted file mode 100644 index ddc86ea..0000000 Binary files a/wheels/python3-bluez-peripheral/all/bullseye/bluez_peripheral-0.2.0a1-py3-none-any.whl and /dev/null differ diff --git a/wheels/python3-bluez-peripheral/all/bullseye/bluez_peripheral-0.2.0a4-py3-none-any.whl b/wheels/python3-bluez-peripheral/all/bullseye/bluez_peripheral-0.2.0a4-py3-none-any.whl new file mode 100644 index 0000000..af2d0f3 Binary files /dev/null and b/wheels/python3-bluez-peripheral/all/bullseye/bluez_peripheral-0.2.0a4-py3-none-any.whl differ diff --git a/wheels/python3-bluez-peripheral/arm64/bookworm/bluez_peripheral-0.2.0a4-py3-none-any.whl b/wheels/python3-bluez-peripheral/arm64/bookworm/bluez_peripheral-0.2.0a4-py3-none-any.whl new file mode 100644 index 0000000..d7a1efa Binary files /dev/null and b/wheels/python3-bluez-peripheral/arm64/bookworm/bluez_peripheral-0.2.0a4-py3-none-any.whl differ diff --git a/wheels/python3-bluez-peripheral/arm64/bullseye/bluez_peripheral-0.2.0a4-py3-none-any.whl b/wheels/python3-bluez-peripheral/arm64/bullseye/bluez_peripheral-0.2.0a4-py3-none-any.whl new file mode 100644 index 0000000..c0455fd Binary files /dev/null and b/wheels/python3-bluez-peripheral/arm64/bullseye/bluez_peripheral-0.2.0a4-py3-none-any.whl differ diff --git a/wheels/python3-bluez-peripheral/armhf/bookworm/bluez_peripheral-0.2.0a4-py3-none-any.whl b/wheels/python3-bluez-peripheral/armhf/bookworm/bluez_peripheral-0.2.0a4-py3-none-any.whl new file mode 100644 index 0000000..aede20e Binary files /dev/null and b/wheels/python3-bluez-peripheral/armhf/bookworm/bluez_peripheral-0.2.0a4-py3-none-any.whl differ diff --git a/wheels/python3-bluez-peripheral/armhf/bullseye/bluez_peripheral-0.2.0a4-py3-none-any.whl b/wheels/python3-bluez-peripheral/armhf/bullseye/bluez_peripheral-0.2.0a4-py3-none-any.whl new file mode 100644 index 0000000..5c47711 Binary files /dev/null and b/wheels/python3-bluez-peripheral/armhf/bullseye/bluez_peripheral-0.2.0a4-py3-none-any.whl differ diff --git a/wheels/python3-dbus-fast/all/bookworm/dbus_fast-2.15.0-cp311-cp311-manylinux_2_36_x86_64.whl b/wheels/python3-dbus-fast/all/bookworm/dbus_fast-2.15.0-cp311-cp311-manylinux_2_36_x86_64.whl deleted file mode 100644 index 263ef84..0000000 Binary files a/wheels/python3-dbus-fast/all/bookworm/dbus_fast-2.15.0-cp311-cp311-manylinux_2_36_x86_64.whl and /dev/null differ diff --git a/wheels/python3-dbus-fast/all/bookworm/dbus_fast-2.44.3-cp311-cp311-manylinux_2_36_x86_64.whl b/wheels/python3-dbus-fast/all/bookworm/dbus_fast-2.44.3-cp311-cp311-manylinux_2_36_x86_64.whl new file mode 100644 index 0000000..db022e3 Binary files /dev/null and b/wheels/python3-dbus-fast/all/bookworm/dbus_fast-2.44.3-cp311-cp311-manylinux_2_36_x86_64.whl differ diff --git a/wheels/python3-dbus-fast/all/bullseye/dbus_fast-2.15.0-cp39-cp39-manylinux_2_31_x86_64.whl b/wheels/python3-dbus-fast/all/bullseye/dbus_fast-2.15.0-cp39-cp39-manylinux_2_31_x86_64.whl deleted file mode 100644 index 36b3a5f..0000000 Binary files a/wheels/python3-dbus-fast/all/bullseye/dbus_fast-2.15.0-cp39-cp39-manylinux_2_31_x86_64.whl and /dev/null differ diff --git a/wheels/python3-dbus-fast/all/bullseye/dbus_fast-2.44.3-cp39-cp39-manylinux_2_31_x86_64.whl b/wheels/python3-dbus-fast/all/bullseye/dbus_fast-2.44.3-cp39-cp39-manylinux_2_31_x86_64.whl new file mode 100644 index 0000000..363413d Binary files /dev/null and b/wheels/python3-dbus-fast/all/bullseye/dbus_fast-2.44.3-cp39-cp39-manylinux_2_31_x86_64.whl differ diff --git a/wheels/python3-dbus-fast/arm64/bookworm/dbus_fast-2.15.0-cp311-cp311-manylinux_2_36_aarch64.whl b/wheels/python3-dbus-fast/arm64/bookworm/dbus_fast-2.15.0-cp311-cp311-manylinux_2_36_aarch64.whl deleted file mode 100644 index 6582a15..0000000 Binary files a/wheels/python3-dbus-fast/arm64/bookworm/dbus_fast-2.15.0-cp311-cp311-manylinux_2_36_aarch64.whl and /dev/null differ diff --git a/wheels/python3-dbus-fast/arm64/bookworm/dbus_fast-2.44.3-cp311-cp311-manylinux_2_36_aarch64.whl b/wheels/python3-dbus-fast/arm64/bookworm/dbus_fast-2.44.3-cp311-cp311-manylinux_2_36_aarch64.whl new file mode 100644 index 0000000..45a4433 Binary files /dev/null and b/wheels/python3-dbus-fast/arm64/bookworm/dbus_fast-2.44.3-cp311-cp311-manylinux_2_36_aarch64.whl differ diff --git a/wheels/python3-dbus-fast/arm64/bullseye/dbus_fast-2.15.0-cp39-cp39-manylinux_2_31_aarch64.whl b/wheels/python3-dbus-fast/arm64/bullseye/dbus_fast-2.15.0-cp39-cp39-manylinux_2_31_aarch64.whl deleted file mode 100644 index 05ff05e..0000000 Binary files a/wheels/python3-dbus-fast/arm64/bullseye/dbus_fast-2.15.0-cp39-cp39-manylinux_2_31_aarch64.whl and /dev/null differ diff --git a/wheels/python3-dbus-fast/arm64/bullseye/dbus_fast-2.44.3-cp39-cp39-manylinux_2_31_aarch64.whl b/wheels/python3-dbus-fast/arm64/bullseye/dbus_fast-2.44.3-cp39-cp39-manylinux_2_31_aarch64.whl new file mode 100644 index 0000000..9ef2065 Binary files /dev/null and b/wheels/python3-dbus-fast/arm64/bullseye/dbus_fast-2.44.3-cp39-cp39-manylinux_2_31_aarch64.whl differ diff --git a/wheels/python3-dbus-fast/armhf/bookworm/dbus_fast-2.15.0-cp311-cp311-manylinux_2_36_armv7l.whl b/wheels/python3-dbus-fast/armhf/bookworm/dbus_fast-2.15.0-cp311-cp311-manylinux_2_36_armv7l.whl deleted file mode 100644 index 5b46493..0000000 Binary files a/wheels/python3-dbus-fast/armhf/bookworm/dbus_fast-2.15.0-cp311-cp311-manylinux_2_36_armv7l.whl and /dev/null differ diff --git a/wheels/python3-dbus-fast/armhf/bookworm/dbus_fast-2.44.3-cp311-cp311-manylinux_2_36_armv7l.whl b/wheels/python3-dbus-fast/armhf/bookworm/dbus_fast-2.44.3-cp311-cp311-manylinux_2_36_armv7l.whl new file mode 100644 index 0000000..efc7637 Binary files /dev/null and b/wheels/python3-dbus-fast/armhf/bookworm/dbus_fast-2.44.3-cp311-cp311-manylinux_2_36_armv7l.whl differ diff --git a/wheels/python3-dbus-fast/armhf/bullseye/dbus_fast-2.15.0-cp39-cp39-manylinux_2_31_armv7l.whl b/wheels/python3-dbus-fast/armhf/bullseye/dbus_fast-2.15.0-cp39-cp39-manylinux_2_31_armv7l.whl deleted file mode 100644 index 3f37b91..0000000 Binary files a/wheels/python3-dbus-fast/armhf/bullseye/dbus_fast-2.15.0-cp39-cp39-manylinux_2_31_armv7l.whl and /dev/null differ diff --git a/wheels/python3-dbus-fast/armhf/bullseye/dbus_fast-2.44.3-cp39-cp39-manylinux_2_31_armv7l.whl b/wheels/python3-dbus-fast/armhf/bullseye/dbus_fast-2.44.3-cp39-cp39-manylinux_2_31_armv7l.whl new file mode 100644 index 0000000..c7bffbc Binary files /dev/null and b/wheels/python3-dbus-fast/armhf/bullseye/dbus_fast-2.44.3-cp39-cp39-manylinux_2_31_armv7l.whl differ