[libsoup/pgriffis/fedora-i686-ci: 19/19] ci: Run tests on i686




commit 36bf84c4a46a190de37c8294bd7313c0382ad4dd
Author: Patrick Griffis <pgriffis igalia com>
Date:   Thu Sep 30 11:02:01 2021 -0500

    ci: Run tests on i686
    
    - Update to F35 (makes this much easier so we don't have to build anything).
    - Workaround libsoup-doc disappearing?!?!
    - Install i686 dependencies
    - Add cross file for meson

 .gitlab-ci.yml             | 13 +++++++++-
 .gitlab-ci/Dockerfile      | 60 +++++++++++++---------------------------------
 .gitlab-ci/fedora-i686.ini | 19 +++++++++++++++
 .gitlab-ci/run-docker.sh   |  2 +-
 4 files changed, 48 insertions(+), 46 deletions(-)
---
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 50a9a4fe..64ed5d29 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,4 +1,4 @@
-image: registry.gitlab.gnome.org/gnome/libsoup/master:v15
+image: registry.gitlab.gnome.org/gnome/libsoup/master:v16
 
 stages:
   - build
@@ -69,6 +69,17 @@ fedora-asan:
     paths:
       - "_build/meson-logs/testlog.txt"
 
+fedora-i686:
+  extends: .build
+  script:
+    - meson _build -Dauto_features=enabled --cross-file=.gitlab-ci/fedora-i686.ini
+    - meson compile -C _build
+    - meson test --no-suite autobahn-quick --no-suite autobahn -C _build --verbose
+  artifacts:
+    when: on_failure
+    paths:
+      - "_build/meson-logs/testlog.txt"
+
 # fedora-fuzzing:
 #   stage: build
 #   allow_failure: true
diff --git a/.gitlab-ci/Dockerfile b/.gitlab-ci/Dockerfile
index 71546c1d..19bc73cf 100644
--- a/.gitlab-ci/Dockerfile
+++ b/.gitlab-ci/Dockerfile
@@ -1,76 +1,48 @@
-FROM fedora:34
+FROM fedora:35
 
 RUN dnf update -y \
     && dnf install -y \
                       autoconf-archive \
-                      brotli-devel \
+                      brotli-devel.{x86_64,i686} \
                       clang-analyzer \
                       'dnf-command(builddep)' \
                       git \
                       glib2-doc \
-                      gnutls-devel \
+                      glib2-devel.{x86_64,i686} \
+                      glib-networking.{x86_64,i686} \
+                      gnutls-devel.{x86_64,i686} \
                       gobject-introspection-devel \
                       gtk-doc \
                       httpd \
                       krb5-devel \
                       lcov \
                       libasan \
-                      libpsl-devel \
-                      libnghttp2-devel \
+                      libpsl-devel.{x86_64,i686} \
+                      libnghttp2-devel.{x86_64,i686} \
                       lsof \
                       make \
                       meson \
                       mod_ssl \
                       python2.7 \
+                      python3-pip \
                       redhat-rpm-config \
                       samba-winbind-clients \
-                      sqlite-devel \
-                      sysprof-devel \
+                      sqlite-devel.{x86_64,i686} \
+                      sysprof-capture-devel.{x86_64,i686} \
                       vala \
                       valgrind \
                       which \
-    && dnf builddep -y glib2 vala \
+                      {pkgconf-pkg-config,glib-networking}.i686 \
+                      {glib2,elfutils-libelf}.i686 \
+                      {glibc,zlib,libselinux,libmount,libblkid,pcre,pcre2}-devel.i686 \
+    && dnf download glib2-devel.i686 libsoup-doc \
+    && rpm -i libsoup-doc*.rpm \
+    && rm *.rpm \
     && dnf clean all \
     && python2.7 -m ensurepip \
     && pip2.7 install virtualenv autobahntestsuite \
     && pip3 install quart
 
-# We need glib 2.70
-RUN git clone https://gitlab.gnome.org/GNOME/glib.git \
-    && pushd glib \
-    && git checkout 2.69.1 \
-    && meson _build --prefix=/usr -Dgtk_doc=true \
-    && ninja -C _build install \
-    && popd \
-    && rm -rf glib
-
-RUN git clone https://gitlab.gnome.org/GNOME/glib-networking.git \
-    && pushd glib-networking \
-    && git checkout f7b3250d3e3fce4ea02b00610d9f2148ade4a6ce \
-    && meson _build --prefix=/usr \
-    && ninja -C _build install \
-    && popd \
-    && rm -rf glib-networking
-
-# Fedora 34 has a really outdated vala
-RUN git clone https://gitlab.gnome.org/GNOME/vala.git \
-    && pushd vala \
-    && git checkout 0.50.10 \
-    && ./autogen.sh --prefix=/usr \
-    && make install \
-    && popd \
-    && rm -rf vala
-
-# We install the docs for libsoup2 to host (idk why libsoup-docs package doesn't work)
-RUN git clone https://gitlab.gnome.org/GNOME/libsoup.git \
-    && pushd libsoup \
-    && git checkout libsoup-2-74 \
-    && meson _build --prefix=/usr -Dgtk_doc=true \
-    && ninja -C _build libsoup-2.4-doc \
-    && cp -R _build/docs/reference/html /usr/share/gtk-doc/html/libsoup-2.4 \
-    && popd \
-    && rm -rf libsoup
-
 ARG HOST_USER_ID=5555
 ENV HOST_USER_ID ${HOST_USER_ID}
 RUN useradd -u $HOST_USER_ID -ms /bin/bash user
diff --git a/.gitlab-ci/fedora-i686.ini b/.gitlab-ci/fedora-i686.ini
new file mode 100644
index 00000000..fa7ec9d9
--- /dev/null
+++ b/.gitlab-ci/fedora-i686.ini
@@ -0,0 +1,19 @@
+[host_machine]
+system = 'linux'
+cpu_family = 'x86'
+cpu = 'i686'
+endian = 'little'
+
+[built-in options]
+c_args = ['-m32']
+c_link_args = ['-m32']
+cpp_args = ['-m32']
+cpp_link_args = ['-m32']
+
+[binaries]
+c = 'gcc'
+cpp = 'g++'
+ar = 'ar'
+strip = 'strip'
+pkgconfig = 'i686-redhat-linux-gnu-pkg-config'
+windres = 'windres' 
diff --git a/.gitlab-ci/run-docker.sh b/.gitlab-ci/run-docker.sh
index 882b35f4..f92dddab 100755
--- a/.gitlab-ci/run-docker.sh
+++ b/.gitlab-ci/run-docker.sh
@@ -2,7 +2,7 @@
 
 set -e
 
-TAG="registry.gitlab.gnome.org/gnome/libsoup/master:v15"
+TAG="registry.gitlab.gnome.org/gnome/libsoup/master:v16"
 
 SUDO_CMD="sudo"
 if docker -v |& grep -q podman; then


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]