summaryrefslogtreecommitdiff
path: root/.gitlab-ci.yml
blob: b29b36da0ee16c5c899d5065fd1eb28fcd3dd39e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
variables:
    LAST_ABI_BREAK: 5cd4856c207e169aa535a9e32f3361b61af639b2
    COMMON_DEPS:
      glibc-langpack-fr
      glibc-langpack-cs
      glibc-langpack-en
      glib2-devel
      json-glib-devel
      gtk-doc
      meson
      git
      gcc
      gcc-c++
      glibc-devel
      libabigail
    SOUP2_DEPS:
      libsoup-devel
    SOUP3_DEPS:
      libnghttp2-devel
      sqlite-devel
      libpsl-devel

.build:
  image: fedora:latest
  script:
    - meson _build -Dsoup2=${SOUP2_ENABLED}
    - ninja -C _build install
    - ninja -C _build test
  artifacts:
    name: "geocode-glib-${CI_JOB_NAME}-${CI_COMMIT_REF_NAME}"
    when: on_failure
    paths:
      - "**/meson-logs/*"

build-fedora-soup2:
  extends: .build
  variables:
    SOUP2_ENABLED: 'true'
  before_script:
    # Undo delangification present in the Fedora Docker images
    - rm -f /etc/rpm/macros.image-language-conf
    - dnf reinstall -y glib2 glibc
    - dnf install -y $COMMON_DEPS $SOUP2_DEPS
  script:
    - meson _build
    - ninja -C _build install
    - ninja -C _build test
    - curl https://gitlab.freedesktop.org/hadess/check-abi/-/raw/main/contrib/check-abi-fedora.sh | bash
    - check-abi --new-parameters="-Dsoup2=true" ${LAST_ABI_BREAK} $(git rev-parse HEAD)

build-fedora-soup3:
  extends: .build
  variables:
    SOUP2_ENABLED: 'false'
  before_script:
    # Undo delangification present in the Fedora Docker images
    - rm -f /etc/rpm/macros.image-language-conf
    - dnf reinstall -y glib2 glibc
    - dnf install -y $COMMON_DEPS $SOUP3_DEPS
    # Tasks specific to soup3 (glib 2.70, libsoup 3)
    - git clone https://gitlab.gnome.org/GNOME/glib.git && pushd glib
    - git checkout 2.69.3
    - meson _build --prefix=/usr
    - ninja -C _build install
    - popd
    - git clone --depth=1 https://gitlab.gnome.org/GNOME/libsoup.git && pushd libsoup
    - meson _build --prefix=/usr -Dtls_check=false
    - ninja -C _build install
    - popd
    - curl https://gitlab.freedesktop.org/hadess/check-abi/-/raw/main/contrib/check-abi-fedora.sh | bash
    # To build the old version
    - dnf install -y $SOUP2_DEPS
    - check-abi --new-parameters="-Dsoup2=false" ${LAST_ABI_BREAK} $(git rev-parse HEAD)