Browse Source

CI: add an Alpine build with MUSL

MUSL is another libc implementation which has its own unique issues
worth testing.

Ref: #11140
Closes #11178
Dan Fandrich 11 months ago
parent
commit
33849e4322
1 changed files with 35 additions and 0 deletions
  1. 35 0
      .cirrus.yml

+ 35 - 0
.cirrus.yml

@@ -257,3 +257,38 @@ macos_task:
     - make V=1 test-ci
   install_script:
     - sudo -H make V=1 install
+
+linux_musl_task:
+  skip: "changesIncludeOnly(
+    '**/CMakeLists.txt',
+    '.azure-pipelines.yml',
+    '.circleci/**',
+    '.github/**',
+    'appveyor.yml',
+    'CMake/**',
+    'packages/**',
+    'plan9/**',
+    'projects/**',
+    'winbuild/**'
+    )"
+  name: Linux MUSL
+  container:
+    image: alpine:3.18
+    memory: 800M
+
+  env:
+    CIRRUS_CLONE_DEPTH: 10
+    MAKEFLAGS: -j 2
+
+  pkginstall_script:
+    - apk add --no-cache build-base autoconf automake libtool perl openssl-dev libssh2-dev zlib-dev brotli-dev zstd-dev libidn2-dev openldap-dev heimdal-dev libpsl-dev py3-impacket py3-asn1 py3-six py3-pycryptodomex perl-time-hires openssh stunnel sudo
+  configure_script:
+    - autoreconf -fi
+    - ./configure --enable-warnings --enable-debug --enable-websockets --with-ssl --with-libssh2 --with-libidn2 --with-gssapi --enable-ldap --with-libpsl
+  compile_script:
+    - make V=1 && make V=1 examples && make -C tests V=1
+  test_script:
+    # TODO: ssh tests don't work, likely because we're running as root
+    - USER=nobody make V=1 test-ci
+  install_script:
+    - make V=1 install