|
6 | 6 | - "rc/**" |
7 | 7 | workflow_dispatch: |
8 | 8 |
|
| 9 | +x-cibw-linux-shared: &cibw-linux-shared |
| 10 | + CIBW_ARCHS_LINUX: ${{ matrix.cibw_archs_linux }} |
| 11 | + CIBW_SKIP: "pp* *-musllinux*" |
| 12 | + MACOSX_DEPLOYMENT_TARGET: "12.0" |
| 13 | + CIBW_BEFORE_ALL_LINUX: | |
| 14 | + set -euxo pipefail |
| 15 | + if command -v yum >/dev/null 2>&1; then |
| 16 | + yum install -y wget tar gzip pkgconfig libuuid-devel libblkid-devel |
| 17 | + elif command -v dnf >/dev/null 2>&1; then |
| 18 | + dnf install -y wget tar gzip pkgconfig libuuid-devel libblkid-devel |
| 19 | + else |
| 20 | + echo "No supported package manager found (expected yum or dnf)." ; exit 1 |
| 21 | + fi |
| 22 | + if (command -v dnf >/dev/null 2>&1 && dnf install -y java-17-openjdk-devel) \ |
| 23 | + || (command -v yum >/dev/null 2>&1 && yum install -y java-17-openjdk-devel); then |
| 24 | + export JAVA_HOME="$(dirname "$(dirname "$(readlink -f "$(command -v javac)")")")" |
| 25 | + else |
| 26 | + ARCH="$(uname -m)" |
| 27 | + mkdir -p /opt/java |
| 28 | + if [ "$ARCH" = "x86_64" ]; then |
| 29 | + JDK_URL="https://download.oracle.com/java/17/archive/jdk-17.0.12_linux-x64_bin.tar.gz" |
| 30 | + else |
| 31 | + # aarch64 |
| 32 | + JDK_URL="https://download.oracle.com/java/17/archive/jdk-17.0.12_linux-aarch64_bin.tar.gz" |
| 33 | + fi |
| 34 | + curl -L -o /tmp/jdk17.tar.gz "$JDK_URL" |
| 35 | + tar -xzf /tmp/jdk17.tar.gz -C /opt/java |
| 36 | + export JAVA_HOME=$(echo /opt/java/jdk-17.0.12*) |
| 37 | + fi |
| 38 | + export PATH="$JAVA_HOME/bin:$PATH" |
| 39 | + java -version |
| 40 | +
|
| 41 | + chmod +x mvnw || true |
| 42 | + ./mvnw -Pwith-cpp clean package \ |
| 43 | + -DskipTests -Dbuild.test=OFF \ |
| 44 | + -Dspotless.check.skip=true -Dspotless.apply.skip=true |
| 45 | + test -d cpp/target/build/lib && test -d cpp/target/build/include |
| 46 | + CIBW_TEST_COMMAND: > |
| 47 | + python -c "import tsfile, tsfile.tsfile_reader as r; print('import-ok:')" |
| 48 | + CIBW_BUILD_VERBOSITY: "1" |
| 49 | + |
9 | 50 | jobs: |
10 | 51 | build: |
11 | 52 | name: Build wheels on ${{ matrix.name }} |
@@ -100,97 +141,21 @@ jobs: |
100 | 141 | otool -l cpp/target/build/lib/libtsfile*.dylib | grep -A2 LC_VERSION_MIN_MACOSX || true |
101 | 142 | |
102 | 143 | - name: Build wheels via cibuildwheel (Linux cp39-cp313) |
103 | | - if: matrix.platform != 'macos' |
104 | | - env: |
105 | | - CIBW_ARCHS_LINUX: ${{ matrix.cibw_archs_linux }} |
106 | | -# CIBW_ARCHS_WINDOWS: ${{ matrix.cibw_archs_windows }} |
107 | | - |
| 144 | + if: matrix.platform == 'linux' |
| 145 | + env: |
| 146 | + <<: *cibw-linux-shared |
108 | 147 | CIBW_BUILD: "cp39-* cp310-* cp311-* cp312-* cp313-*" |
109 | | - CIBW_SKIP: "pp* *-musllinux*" |
110 | | - |
111 | 148 | CIBW_MANYLINUX_X86_64_IMAGE: "manylinux2014" |
112 | 149 | CIBW_MANYLINUX_AARCH64_IMAGE: "manylinux2014" |
113 | | - |
114 | | - MACOSX_DEPLOYMENT_TARGET: "12.0" |
115 | | - |
116 | | - CIBW_BEFORE_ALL_LINUX: | |
117 | | - set -euxo pipefail |
118 | | - if command -v yum >/dev/null 2>&1; then |
119 | | - yum install -y wget tar gzip pkgconfig libuuid-devel libblkid-devel |
120 | | - else |
121 | | - echo "Not a yum-based image?" ; exit 1 |
122 | | - fi |
123 | | - ARCH="$(uname -m)" |
124 | | - mkdir -p /opt/java |
125 | | - if [ "$ARCH" = "x86_64" ]; then |
126 | | - JDK_URL="https://download.oracle.com/java/17/archive/jdk-17.0.12_linux-x64_bin.tar.gz" |
127 | | - else |
128 | | - # aarch64 |
129 | | - JDK_URL="https://download.oracle.com/java/17/archive/jdk-17.0.12_linux-aarch64_bin.tar.gz" |
130 | | - fi |
131 | | - curl -L -o /tmp/jdk17.tar.gz "$JDK_URL" |
132 | | - tar -xzf /tmp/jdk17.tar.gz -C /opt/java |
133 | | - export JAVA_HOME=$(echo /opt/java/jdk-17.0.12*) |
134 | | - export PATH="$JAVA_HOME/bin:$PATH" |
135 | | - java -version |
136 | | -
|
137 | | - chmod +x mvnw || true |
138 | | - ./mvnw -Pwith-cpp clean package \ |
139 | | - -DskipTests -Dbuild.test=OFF \ |
140 | | - -Dspotless.check.skip=true -Dspotless.apply.skip=true |
141 | | - test -d cpp/target/build/lib && test -d cpp/target/build/include |
142 | | - |
143 | | - CIBW_TEST_COMMAND: > |
144 | | - python -c "import tsfile, tsfile.tsfile_reader as r; print('import-ok:')" |
145 | | - CIBW_BUILD_VERBOSITY: "1" |
146 | 150 | run: cibuildwheel --output-dir wheelhouse python |
147 | 151 |
|
148 | 152 | - name: Build wheels via cibuildwheel (Linux cp314) |
149 | | - if: matrix.platform != 'macos' |
| 153 | + if: matrix.platform == 'linux' |
150 | 154 | env: |
151 | | - CIBW_ARCHS_LINUX: ${{ matrix.cibw_archs_linux }} |
152 | | -# CIBW_ARCHS_WINDOWS: ${{ matrix.cibw_archs_windows }} |
153 | | - |
| 155 | + <<: *cibw-linux-shared |
154 | 156 | CIBW_BUILD: "cp314-*" |
155 | | - CIBW_SKIP: "pp* *-musllinux*" |
156 | | - |
157 | 157 | CIBW_MANYLINUX_X86_64_IMAGE: "manylinux_2_28" |
158 | 158 | CIBW_MANYLINUX_AARCH64_IMAGE: "manylinux_2_28" |
159 | | - |
160 | | - MACOSX_DEPLOYMENT_TARGET: "12.0" |
161 | | - |
162 | | - CIBW_BEFORE_ALL_LINUX: | |
163 | | - set -euxo pipefail |
164 | | - if command -v yum >/dev/null 2>&1; then |
165 | | - yum install -y wget tar gzip pkgconfig libuuid-devel libblkid-devel |
166 | | - elif command -v dnf >/dev/null 2>&1; then |
167 | | - dnf install -y wget tar gzip pkgconfig libuuid-devel libblkid-devel |
168 | | - else |
169 | | - echo "No supported package manager found (expected yum or dnf)." ; exit 1 |
170 | | - fi |
171 | | - ARCH="$(uname -m)" |
172 | | - mkdir -p /opt/java |
173 | | - if [ "$ARCH" = "x86_64" ]; then |
174 | | - JDK_URL="https://download.oracle.com/java/17/archive/jdk-17.0.12_linux-x64_bin.tar.gz" |
175 | | - else |
176 | | - # aarch64 |
177 | | - JDK_URL="https://download.oracle.com/java/17/archive/jdk-17.0.12_linux-aarch64_bin.tar.gz" |
178 | | - fi |
179 | | - curl -L -o /tmp/jdk17.tar.gz "$JDK_URL" |
180 | | - tar -xzf /tmp/jdk17.tar.gz -C /opt/java |
181 | | - export JAVA_HOME=$(echo /opt/java/jdk-17.0.12*) |
182 | | - export PATH="$JAVA_HOME/bin:$PATH" |
183 | | - java -version |
184 | | -
|
185 | | - chmod +x mvnw || true |
186 | | - ./mvnw -Pwith-cpp clean package \ |
187 | | - -DskipTests -Dbuild.test=OFF \ |
188 | | - -Dspotless.check.skip=true -Dspotless.apply.skip=true |
189 | | - test -d cpp/target/build/lib && test -d cpp/target/build/include |
190 | | -
|
191 | | - CIBW_TEST_COMMAND: > |
192 | | - python -c "import tsfile, tsfile.tsfile_reader as r; print('import-ok:')" |
193 | | - CIBW_BUILD_VERBOSITY: "1" |
194 | 159 | run: cibuildwheel --output-dir wheelhouse python |
195 | 160 |
|
196 | 161 | - name: Build wheels via cibuildwheel (macOS) |
|
0 commit comments