diff --git a/ci-build.sh b/ci-build.sh index 82ff76ff..ede9d1f8 100755 --- a/ci-build.sh +++ b/ci-build.sh @@ -44,49 +44,75 @@ ARCH="$(uname | tr '[:upper:]' '[:lower:]')" case "$ARCH" in linux*) + # Reduced set of configurations for faster CI + # Uncomment additional configurations for more thorough testing tests=( + # 1. Full build (all features enabled) "--enable-notifications --enable-icons-and-clipboard --enable-otr --enable-pgp --enable-omemo --enable-plugins --enable-c-plugins --enable-python-plugins --with-xscreensaver --enable-omemo-qrcode --enable-gdk-pixbuf" + # 2. Minimal build (all optional features disabled) "--disable-notifications --disable-icons-and-clipboard --disable-otr --disable-pgp --disable-omemo --disable-plugins --disable-c-plugins - --disable-python-plugins --without-xscreensaver" - "--disable-notifications" - "--disable-icons-and-clipboard" - "--disable-otr" - "--disable-pgp" - "--disable-omemo --disable-omemo-qrcode" - "--disable-pgp --disable-otr" - "--disable-pgp --disable-otr --disable-omemo" - "--disable-plugins" - "--disable-python-plugins" - "--disable-c-plugins" - "--disable-c-plugins --disable-python-plugins" - "--without-xscreensaver" - "--disable-gdk-pixbuf" - "") + --disable-python-plugins --without-xscreensaver --disable-omemo-qrcode --disable-gdk-pixbuf" + # 3. No encryption (disable otr, pgp, omemo) + "--disable-pgp --disable-otr --disable-omemo --disable-omemo-qrcode" + # 4. No plugins + "--disable-plugins --disable-c-plugins --disable-python-plugins" + # 5. Default configuration + "" + # --- Additional configurations (uncomment if needed) --- + # "--enable-notifications --enable-otr --enable-pgp --enable-omemo + # --enable-plugins --enable-c-plugins --enable-python-plugins" + # "--enable-notifications --enable-otr" + # "--enable-notifications --enable-otr --enable-pgp" + # "--enable-notifications --enable-otr --enable-pgp --enable-omemo" + # "--enable-notifications --enable-otr --enable-pgp --enable-omemo --enable-omemo-qrcode" + # "--enable-notifications --enable-otr --enable-pgp --enable-omemo --enable-omemo-qrcode + # --enable-icons-and-clipboard" + # "--enable-notifications --enable-otr --enable-pgp --enable-omemo --enable-omemo-qrcode + # --enable-icons-and-clipboard --enable-gdk-pixbuf" + # "--enable-notifications --enable-otr --enable-pgp --enable-omemo --enable-omemo-qrcode + # --enable-icons-and-clipboard --enable-gdk-pixbuf --with-xscreensaver" + # "--enable-notifications --enable-otr --enable-pgp --enable-omemo --enable-omemo-qrcode + # --enable-icons-and-clipboard --enable-gdk-pixbuf --with-xscreensaver --enable-plugins" + # "--enable-notifications --enable-otr --enable-pgp --enable-omemo --enable-omemo-qrcode + # --enable-icons-and-clipboard --enable-gdk-pixbuf --with-xscreensaver --enable-plugins + # --enable-c-plugins" + ) source /etc/profile.d/debuginfod.sh 2>/dev/null || true ;; darwin*) + # Reduced set of configurations for faster CI + # Uncomment additional configurations for more thorough testing tests=( + # 1. Full build (all features enabled) "--enable-notifications --enable-icons-and-clipboard --enable-otr --enable-pgp --enable-omemo --enable-plugins --enable-c-plugins --enable-python-plugins" + # 2. Minimal build (all optional features disabled) "--disable-notifications --disable-icons-and-clipboard --disable-otr --disable-pgp --disable-omemo --disable-plugins --disable-c-plugins --disable-python-plugins" - "--disable-notifications" - "--disable-icons-and-clipboard" - "--disable-otr" - "--disable-pgp" - "--disable-omemo" - "--disable-pgp --disable-otr" + # 3. No encryption (disable otr, pgp, omemo) "--disable-pgp --disable-otr --disable-omemo" - "--disable-plugins" - "--disable-python-plugins" - "--disable-c-plugins" - "--disable-c-plugins --disable-python-plugins" - "") + # 4. No plugins + "--disable-plugins --disable-c-plugins --disable-python-plugins" + # 5. Default configuration + "" + # --- Additional configurations (uncomment if needed) --- + # "--enable-notifications --enable-otr --enable-pgp --enable-omemo + # --enable-plugins --enable-c-plugins --enable-python-plugins" + # "--enable-notifications --enable-otr" + # "--enable-notifications --enable-otr --enable-pgp" + # "--enable-notifications --enable-otr --enable-pgp --enable-omemo" + # "--enable-notifications --enable-otr --enable-pgp --enable-omemo + # --enable-plugins" + # "--enable-notifications --enable-otr --enable-pgp --enable-omemo + # --enable-plugins --enable-c-plugins" + # "--enable-notifications --enable-otr --enable-pgp --enable-omemo + # --enable-icons-and-clipboard" + ) ;; openbsd*) MAKE="gmake" @@ -96,25 +122,36 @@ case "$ARCH" in # src/event/server_events.c:1454:19: error: universal character names are only valid in C++ and C99 CC="egcc -std=gnu99 -fexec-charset=UTF-8" + # Reduced set of configurations for faster CI + # Uncomment additional configurations for more thorough testing tests=( + # 1. Full build (all features enabled) "--enable-notifications --enable-icons-and-clipboard --enable-otr --enable-pgp --enable-omemo --enable-plugins --enable-c-plugins --enable-python-plugins" + # 2. Minimal build (all optional features disabled) "--disable-notifications --disable-icons-and-clipboard --disable-otr --disable-pgp --disable-omemo --disable-plugins --disable-c-plugins --disable-python-plugins" - "--disable-notifications" - "--disable-icons-and-clipboard" - "--disable-otr" - "--disable-pgp" - "--disable-omemo" - "--disable-pgp --disable-otr" + # 3. No encryption (disable otr, pgp, omemo) "--disable-pgp --disable-otr --disable-omemo" - "--disable-plugins" - "--disable-python-plugins" - "--disable-c-plugins" - "--disable-c-plugins --disable-python-plugins" - "") + # 4. No plugins + "--disable-plugins --disable-c-plugins --disable-python-plugins" + # 5. Default configuration + "" + # --- Additional configurations (uncomment if needed) --- + # "--enable-notifications --enable-otr --enable-pgp --enable-omemo + # --enable-plugins --enable-c-plugins --enable-python-plugins" + # "--enable-notifications --enable-otr" + # "--enable-notifications --enable-otr --enable-pgp" + # "--enable-notifications --enable-otr --enable-pgp --enable-omemo" + # "--enable-notifications --enable-otr --enable-pgp --enable-omemo + # --enable-plugins" + # "--enable-notifications --enable-otr --enable-pgp --enable-omemo + # --enable-plugins --enable-c-plugins" + # "--enable-notifications --enable-otr --enable-pgp --enable-omemo + # --enable-icons-and-clipboard" + ) ;; esac