Codebase list libglib-testing / c7c744cc-f319-4347-adf7-1e012a1ff4b1/main .gitlab-ci.yml
c7c744cc-f319-4347-adf7-1e012a1ff4b1/main

Tree @c7c744cc-f319-4347-adf7-1e012a1ff4b1/main (Download .tar.gz)

.gitlab-ci.yml @c7c744cc-f319-4347-adf7-1e012a1ff4b1/mainraw · history · blame

image: debian:unstable

before_script:
  - apt update -qq
  - apt install -y -qq build-essential meson pkg-config gtk-doc-tools
                       libxml2-utils gobject-introspection dbus
                       libgirepository1.0-dev libglib2.0-dev
                       lcov
  - export LANG=C.UTF-8

stages:
  - build
  - test
  - deploy

build-job:
  stage: build
  script:
    - meson --prefix /usr --libdir /usr/lib64 --buildtype debug --werror _build .
    - ninja -C _build
  except:
    - tags
  artifacts:
    when: on_failure
    name: "libglib-testing-_${CI_COMMIT_REF_NAME}"
    paths:
      - "${CI_PROJECT_DIR}/_build/meson-logs"

test:
  stage: test
  script:
    - meson _build . -Db_coverage=true
    - ninja -C _build test
    - ninja -C _build coverage
  coverage: '/^\s+lines\.+:\s+([\d.]+\%)\s+/'

# FIXME: Run gtkdoc-check when we can. See:
# https://github.com/mesonbuild/meson/issues/3580

dist-job:
  stage: build
  only:
    - tags
  script:
    - meson --prefix /usr --libdir /usr/lib64 --buildtype release _build .
    - ninja -C _build dist
  artifacts:
    paths:
      - "${CI_PROJECT_DIR}/_build/meson-dist/libglib-testing-*.tar.xz"

pages:
  stage: deploy
  only:
    - master
  script:
    - meson -Db_coverage=true -Ddocumentation=true _build .
    - ninja -C _build test libglib-testing-doc
    - ninja -C _build coverage
    - mkdir -p public/
    - mv _build/libglib-testing/docs/html/ public/docs/
    - mv _build/meson-logs/coveragereport/ public/coverage/
  artifacts:
    paths:
      - public