summaryrefslogtreecommitdiff
path: root/.gitlab-ci.yml
blob: 429ed46489a068d1b7fcc86eddc4bcc565a8ace3 (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

stages:
  - containers
  - builds
  - sanity_checks

.git_build_vars: &git_build_vars |
  export MAKEFLAGS="-j$(getconf _NPROCESSORS_ONLN)"
  export SCRATCH_DIR="$PWD/scratch"
  export VROOT="$SCRATCH_DIR/vroot"
  export LIBDIR="$VROOT/lib"
  export LD_LIBRARY_PATH="$LIBDIR"
  export PATH="$VROOT/bin:$PATH"
  export PKG_CONFIG_PATH="$LIBDIR/pkgconfig"
  export CFLAGS="-Werror"

.native_git_build_job:
  extends: .gitlab_native_build_job
  before_script:
    - *git_build_vars
  script:
    - pushd "$PWD"
    - mkdir -p "$SCRATCH_DIR"
    - cd "$SCRATCH_DIR"
    - git clone --depth 1 https://gitlab.com/libvirt/libvirt.git
    - cd libvirt
    - meson build -Ddriver_libvirtd=disabled "--prefix=$VROOT" "--libdir=$LIBDIR"
    - ninja -C build install
    - popd
    - $PYTHON setup.py build
    - $PYTHON -m pip install .
    - $PYTHON setup.py test
    - $PYTHON setup.py sdist
    - if test -x /usr/bin/rpmbuild && test "$RPM" != "skip" ; then rpmbuild --nodeps -ta dist/libvirt-python*tar.gz ; fi

.native_build_job:
  extends: .gitlab_native_build_job
  before_script:
    - export MAKEFLAGS="-j$(getconf _NPROCESSORS_ONLN)"
    - export CFLAGS="-Werror"
  script:
    - $PYTHON setup.py build
    - $PYTHON -m pip install .
    - $PYTHON setup.py test
    - $PYTHON setup.py sdist
    - if test -x /usr/bin/rpmbuild && test "$RPM" != "skip" ; then rpmbuild --nodeps -ta dist/libvirt-python*tar.gz ; fi

include: '/ci/gitlab.yml'

api-coverage:
  image: $CI_REGISTRY_IMAGE/ci-centos-stream-8:latest
  stage: sanity_checks
  needs:
    - job: x86_64-centos-stream-8-git
      artifacts: true
  before_script:
    - *git_build_vars
  script:
    - LIBVIRT_API_COVERAGE=1 $PYTHON setup.py test
  rules:
    - if: '$CI_PIPELINE_SOURCE == "push"'
      allow_failure: true
    - if: '$CI_PIPELINE_SOURCE == "schedule"'