4040 output : columnar.so
4141 test : true
4242 - os : ubuntu-22.04-arm
43- container : alpine:latest
4443 artifact : columnar-linux-musl-arm64
4544 output : columnar.so
45+ musl_docker : true
4646 test : true
4747 - os : macos-15
4848 artifact : columnar-macos-universal
@@ -133,9 +133,18 @@ jobs:
133133 add-to-path : false
134134
135135 - name : build desktop extension
136- if : ${{ !matrix.android_abi && !matrix.apple_sdk && runner.os != 'Windows' }}
136+ if : ${{ !matrix.android_abi && !matrix.apple_sdk && !matrix.musl_docker && runner.os != 'Windows' }}
137137 run : make extension ${{ matrix.make_args || '' }}
138138
139+ - name : build and test Linux musl arm64 extension
140+ if : matrix.musl_docker
141+ run : |
142+ docker run --rm \
143+ -v "${{ github.workspace }}:/workspace" \
144+ -w /workspace \
145+ alpine:latest \
146+ sh -lc 'apk add --no-cache build-base sqlite git zlib-dev && make clean extension test && sqlite3 :memory: ".load ./dist/columnar" "SELECT columnar_version();"'
147+
139148 - name : build Windows extension
140149 if : runner.os == 'Windows'
141150 shell : msys2 {0}
@@ -165,7 +174,7 @@ jobs:
165174 -dynamiclib columnar.c -o dist/columnar.dylib
166175
167176 - name : test extension
168- if : matrix.test && runner.os != 'Windows'
177+ if : matrix.test && !matrix.musl_docker && runner.os != 'Windows'
169178 run : make test ${{ matrix.make_args || '' }}
170179
171180 - name : test Windows extension
@@ -174,7 +183,7 @@ jobs:
174183 run : make test
175184
176185 - name : smoke load built artifact
177- if : matrix.test && runner.os != 'Windows'
186+ if : matrix.test && !matrix.musl_docker && runner.os != 'Windows'
178187 run : ' sqlite3 :memory: ".load ./dist/columnar" "SELECT columnar_version();"'
179188
180189 - name : smoke load Windows artifact
0 commit comments