Skip to content

Commit f08745d

Browse files
committed
CI: Build static and shared, publish headers and libjq too
1 parent 1f1e619 commit f08745d

File tree

1 file changed

+24
-12
lines changed

1 file changed

+24
-12
lines changed

.github/workflows/ci.yml

Lines changed: 24 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -91,12 +91,15 @@ jobs:
9191
--disable-docs \
9292
--disable-valgrind \
9393
--with-oniguruma=builtin \
94+
--enable-shared \
9495
--enable-static \
9596
--enable-all-static \
9697
CFLAGS="-O2 -pthread -fstack-protector-all"
9798
make -j"$(nproc)"
9899
file ./jq
99-
cp ./jq jq-${{ env.SUFFIX }}
100+
mkdir jq-${{ env.SUFFIX }}
101+
cp ./jq src/jv.h src/jq.h .libs/libjq* libjq.pc jq-${{ env.SUFFIX }}
102+
rm -f jq-${{ env.SUFFIX }}/libjq.la jq-${{ env.SUFFIX }}/libjq.lai
100103
- name: Test
101104
# Only run tests for amd64 matching the CI machine arch
102105
if: ${{ matrix.arch == 'amd64' }}
@@ -157,13 +160,16 @@ jobs:
157160
--disable-docs \
158161
--disable-valgrind \
159162
--with-oniguruma=builtin \
163+
--enable-shared \
160164
--enable-static \
161165
--enable-all-static \
162166
CFLAGS="-O2 -pthread -fstack-protector-all"
163167
make -j"$(sysctl -n hw.logicalcpu)"
164168
strip ./jq
165169
file ./jq
166-
cp ./jq jq-${{ env.SUFFIX }}
170+
mkdir jq-${{ env.SUFFIX }}
171+
cp ./jq src/jv.h src/jq.h .libs/libjq* jq-${{ env.SUFFIX }}
172+
rm -f jq-${{ env.SUFFIX }}/libjq.la jq-${{ env.SUFFIX }}/libjq.lai
167173
- name: Test
168174
# Only run tests for amd64 matching the CI machine arch
169175
if: ${{ matrix.arch == 'amd64' }}
@@ -233,13 +239,15 @@ jobs:
233239
--disable-docs \
234240
--disable-valgrind \
235241
--with-oniguruma=builtin \
236-
--disable-shared \
242+
--enable-shared \
237243
--enable-static \
238244
--enable-all-static \
239245
CFLAGS="-O2 -pthread -fstack-protector-all"
240246
make -j$(nproc)
241247
file ./jq.exe
242-
cp ./jq.exe jq-${{ env.SUFFIX }}.exe
248+
mkdir jq-${{ env.SUFFIX }}
249+
cp ./jq.exe src/jv.h src/jq.h .libs/libjq* jq-${{ env.SUFFIX }}
250+
rm -f jq-${{ env.SUFFIX }}/libjq.la jq-${{ env.SUFFIX }}/libjq.lai
243251
- name: Test
244252
run: |
245253
make check VERBOSE=yes
@@ -257,7 +265,7 @@ jobs:
257265
uses: actions/upload-artifact@v4
258266
with:
259267
name: jq-${{ env.SUFFIX }}
260-
path: jq-${{ env.SUFFIX }}.exe
268+
path: jq-${{ env.SUFFIX }}
261269
if-no-files-found: error
262270
retention-days: 7
263271

@@ -308,14 +316,15 @@ jobs:
308316
- name: Move executables
309317
run: |
310318
mkdir -p linux/{386,amd64,arm64,mips64le,ppc64le,riscv64,s390x}
311-
mv jq-linux-i386 linux/386/jq
312-
mv jq-linux-amd64 linux/amd64/jq
313-
mv jq-linux-arm64 linux/arm64/jq
314-
mv jq-linux-mips64el linux/mips64le/jq
315-
mv jq-linux-ppc64el linux/ppc64le/jq
316-
mv jq-linux-riscv64 linux/riscv64/jq
317-
mv jq-linux-s390x linux/s390x/jq
319+
mv jq-linux-i386/* linux/386/
320+
mv jq-linux-amd64/* linux/amd64/
321+
mv jq-linux-arm64/* linux/arm64/
322+
mv jq-linux-mips64el/* linux/mips64le/
323+
mv jq-linux-ppc64el/* linux/ppc64le/
324+
mv jq-linux-riscv64/* linux/riscv64/
325+
mv jq-linux-s390x/* linux/s390x/
318326
chmod +x linux/*/jq
327+
ls -F linux/{386,amd64,arm64,mips64le,ppc64le,riscv64,s390x}
319328
- name: Create Dockerfile
320329
run: |
321330
cat <<'EOF' >Dockerfile
@@ -373,6 +382,9 @@ jobs:
373382
TAG_NAME: ${{ github.ref_name }}
374383
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
375384
run: |
385+
# These are for backwards compatibility with previous
386+
# releases' URI local parts that get baked into users'
387+
# recipes.
376388
cp jq-linux-amd64 jq-linux64
377389
cp jq-macos-amd64 jq-osx-amd64
378390
cp jq-windows-amd64.exe jq-win64.exe

0 commit comments

Comments
 (0)