Codebase list gnome-system-monitor / 8c8bb88c-c643-4398-b432-0467799041ff/main .gitlab-ci.yml
8c8bb88c-c643-4398-b432-0467799041ff/main

Tree @8c8bb88c-c643-4398-b432-0467799041ff/main (Download .tar.gz)

.gitlab-ci.yml @8c8bb88c-c643-4398-b432-0467799041ff/mainraw · history · blame

# Test whether building gnome-system-monitor works on fedora and ubuntu.
# Tests against the latest libtop master version.

stages:
  - build

variables:
  FEDORA_LIBGTOP_DEPENDENCIES: # packages required to build libgtop on fedora.
    gettext-devel
    gobject-introspection-devel
    gtk-doc
    texinfo-tex
  FEDORA_DEPENDENCIES: # packages required to build the system monitor on fedora.
    appstream
    gcc-c++
    git
    glibmm24-devel
    gtkmm30-devel
    itstool
    libhandy1-devel
    librsvg2-devel
    libxml2-devel
    meson
  UBUNTU_LIBGTOP_DEPENDENCIES: # packages required to build libgtop on ubuntu.
    automake
    autopoint
    gettext
    gtk-doc-tools
    libgirepository1.0-dev
    libtool
    make
    texinfo
    texlive
  UBUNTU_LIBHANDY_DEPENDENCIES: # packages required to build libhandy on ubuntu.
    libgladeui-2-13
    valac
  UBUNTU_DEPENDENCIES: # packages required to build the system monitor on ubuntu.
    appstream-util
    git
    itstool
    libglibmm-2.4-dev
    libgtkmm-3.0-dev
    librsvg2-dev
    libsystemd-dev
    libxml2-dev
    meson

build-fedora:
  image: fedora:latest
  stage: build
  except:
    - tags
  before_script:
    - dnf update -y --nogpgcheck
    - dnf install -y --nogpgcheck $FEDORA_LIBGTOP_DEPENDENCIES $FEDORA_DEPENDENCIES
  script:
    - git clone https://gitlab.gnome.org/gnome/libgtop.git/ # build and install libgtop
    - cd libgtop
    - mkdir _build
    - cd _build
    - ../autogen.sh --disable-dependency-tracking --prefix=/usr --libdir=/usr/lib64
    - make
    - make install
    - cd ../.. # build and install gnome-system-monitor
    - meson _build -Dsystemd=false
    - ninja -C _build
    - ninja -C _build install

build-ubuntu:
  image: ubuntu:jammy
  stage: build
  except:
    - tags
  before_script:
    - apt-get update
    - DEBIAN_FRONTEND=noninteractive apt-get install -y $UBUNTU_LIBGTOP_DEPENDENCIES $UBUNTU_LIBHANDY_DEPENDENCIES $UBUNTU_DEPENDENCIES
  script:
    - git clone https://gitlab.gnome.org/gnome/libgtop.git/ # build and install libgtop
    - cd libgtop
    - mkdir _build
    - cd _build
    - ../autogen.sh
    - make
    - make install
    - cd ../.. # build and install libhandy because the version in the ubuntu package repository is too outdated.
    - git clone https://gitlab.gnome.org/gnome/libhandy.git/
    - cd libhandy
    - meson _build
    - ninja -C _build
    - ninja -C _build install
    - cd .. # build and install gnome-system-monitor
    - meson _build
    - ninja -C _build
    - ninja -C _build install