Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions .github/workflows/cd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,14 @@ jobs:
skip: "*musllinux*"
arch: "x86_64"

# Native arm64 runner rather than QEMU on an x86_64 one: nothing is compiled here
# -- the wheel just repackages an upstream archive -- so emulation would buy
# nothing and cost a lot. musllinux is skipped for the same reason as above: the
# dcmqi binaries are linked against glibc.
- os: ubuntu-24.04-arm
skip: "*musllinux*"
arch: "aarch64"

# cibuildwheel's "auto" on Windows means AMD64 *and* x86, but dcmqi publishes no
# 32-bit binaries. The win32 wheel it produced could therefore only ever contain
# the 64-bit ones, so the architecture is pinned rather than probed.
Expand Down Expand Up @@ -122,6 +130,11 @@ jobs:
CIBW_ARCHS: "${{ matrix.arch }}"
CIBW_SKIP: ${{ matrix.skip }}
CIBW_ENVIRONMENT_MACOS: "MACOSX_DEPLOYMENT_TARGET=13.0"
# dcmqi builds its arm64 Linux package in manylinux_2_28_aarch64, and its binaries
# need glibc 2.28. Repairing them against an older image would fail rather than
# mistag, but pinning keeps the wheel's floor tied to how the binaries were built
# instead of to whatever cibuildwheel currently defaults to.
CIBW_MANYLINUX_AARCH64_IMAGE: "manylinux_2_28"

- name: Upload wheels
uses: actions/upload-artifact@v7
Expand Down
13 changes: 12 additions & 1 deletion .github/workflows/update-dcmqi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -76,11 +76,15 @@ jobs:
exit 1
fi

# Determine macOS asset pattern
# Which optional assets does this release publish? Both are probed rather than
# assumed, so this workflow keeps working against older releases: the macOS split
# into per-architecture archives arrived in dcmqi v1.5.1, arm64 Linux in v1.5.7.
has_mac_split=false
has_linux_arm64=false
for asset in $assets; do
case "$asset" in
*-mac-arm64*) has_mac_split=true ;;
*-linux-arm64*) has_linux_arm64=true ;;
esac
done

Expand All @@ -104,6 +108,13 @@ jobs:
echo "set(linux_sha256 \"${checksums[$linux_file]}\")"
echo ''

if [ "$has_linux_arm64" = true ]; then
linux_arm64_file="dcmqi-${latest_version}-linux-arm64.tar.gz"
echo "set(linux_arm64_filename \"$linux_arm64_file\")"
echo "set(linux_arm64_sha256 \"${checksums[$linux_arm64_file]}\")"
echo ''
fi

# macOS
if [ "$has_mac_split" = true ]; then
mac_arm64_file="dcmqi-${latest_version}-mac-arm64.tar.gz"
Expand Down
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ configuration defined in the `pyproject.toml` file.
## Packaged dcmqi version

This package wraps the official
[dcmqi v1.5.6](https://github.com/QIICR/dcmqi/releases/tag/v1.5.6) release.
[dcmqi v1.5.7](https://github.com/QIICR/dcmqi/releases/tag/v1.5.7) release.

## Platforms

Expand All @@ -41,6 +41,7 @@ The following platforms are supported by the binary wheels:
| OS | Arch |
| ----------- | ---------------- |
| Linux Intel | manylinux 64-bit |
| Linux Arm | manylinux arm64 |
| macOS 13+ | Apple Silicon |
| macOS 15+ | Intel |
| Windows | 64-bit |
Expand Down
21 changes: 12 additions & 9 deletions dcmqiUrls.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,19 @@
# Generated by .github/workflows/update-dcmqi.yml -- do not edit by hand.
# Which of these assets a build uses is decided in dcmqiArchive.cmake.

set(version "1.5.6")
set(version "1.5.7")

set(linux_filename "dcmqi-1.5.6-linux.tar.gz")
set(linux_sha256 "eb2743e5c24dec38aafe06612b18d200516f39b8f0d62592a926ca6e8cfb5187")
set(linux_filename "dcmqi-1.5.7-linux.tar.gz")
set(linux_sha256 "7c4f525a122ae5782b1cf7730d8deb9f7d43e218af13104377b615adbced2ddd")

set(macos_arm64_filename "dcmqi-1.5.6-mac-arm64.tar.gz")
set(macos_arm64_sha256 "20965b3afcd1d2a878fd3e09e3ee44de655e350d6fe43f9663c93348610f662e")
set(linux_arm64_filename "dcmqi-1.5.7-linux-arm64.tar.gz")
set(linux_arm64_sha256 "dcc605e05eafd6fc92981a16f5ca755f10b1ccceaad0cb2f4343930054ebe3ad")

set(macos_x86_64_filename "dcmqi-1.5.6-mac-x86_64.tar.gz")
set(macos_x86_64_sha256 "6678f2a60547c3a14a9f0376932217c3faee28158b6805c3b89d303df0640747")
set(macos_arm64_filename "dcmqi-1.5.7-mac-arm64.tar.gz")
set(macos_arm64_sha256 "ec17425d3eaa7b58db0924138569508c833e9774ef48052ca85d3e5a1b6cf9b9")

set(win64_filename "dcmqi-1.5.6-win64.zip")
set(win64_sha256 "72f4bf6bc6b265e5843c42436267fb59a8079ca765095f218300d019f9e15e3d")
set(macos_x86_64_filename "dcmqi-1.5.7-mac-x86_64.tar.gz")
set(macos_x86_64_sha256 "3d9b88d3e628c3fbcb78f704d08cf438835e248c00601c234002d103c94410ca")

set(win64_filename "dcmqi-1.5.7-win64.zip")
set(win64_sha256 "dfa86a419ab1ef4af1fbac20720d498a7ffd9f5a7f7f7dd1ad4ac9c138c6b791")
Loading