summaryrefslogtreecommitdiff
path: root/.gitlab-ci.yml
blob: ec5b51ea8071e21f86520fcf0fbd4c60b40bb58a (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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
include:
  - project: freedesktop/ci-templates
    ref: 290b79e0e78eab67a83766f4e9691be554fc4afd
    file:
    - templates/ubuntu.yml

stages:
  - container prep
  - build

.common_variables:
  variables:
    FDO_UPSTREAM_REPO: mobile-broadband/libmbim
    FDO_DISTRIBUTION_VERSION: '18.04'
    FDO_DISTRIBUTION_TAG: '2021-07-22.1'
    FDO_DISTRIBUTION_PACKAGES: ca-certificates git gcc autoconf automake libtool
                               libgirepository1.0-dev libglib2.0-dev autopoint
                               gtk-doc-tools libglib2.0-doc gobject-introspection
                               bash-completion valac meson ninja-build

build container:
  extends:
  - .fdo.container-build@ubuntu
  - .common_variables
  stage: container prep
  only:
    - master
    - branches
    - merge_requests
    - tags
    - pushes

build-meson:
  stage: build
  extends:
  - .fdo.distribution-image@ubuntu
  - .common_variables
  only:
    - master
    - merge_requests
    - tags
    - schedules
  script:
    - meson setup _debug_build --prefix=/usr -Dwerror=true
    - ninja -C _debug_build
    - ninja -C _debug_build install
    - meson setup _release_build --prefix=/usr --buildtype=release -Dwerror=true
    - ninja -C _release_build
    - ninja -C _release_build install

build-autotools-clean-distclean:
  stage: build
  extends:
  - .fdo.distribution-image@ubuntu
  - .common_variables
  only:
    - master
    - merge_requests
    - tags
    - schedules
  script:
    - NOCONFIGURE=1 ./autogen.sh
    - ./configure --prefix=/usr --disable-gtk-doc --disable-introspection
    - make
    - make clean
    - make
    - make distclean
    - ./configure --prefix=/usr --disable-gtk-doc --disable-introspection
    - make

build-autotools-vpath:
  stage: build
  extends:
  - .fdo.distribution-image@ubuntu
  - .common_variables
  only:
    - master
    - merge_requests
    - tags
    - schedules
  script:
    - NOCONFIGURE=1 ./autogen.sh
    - mkdir build
    - cd build
    - ../configure --prefix=/usr --disable-gtk-doc --disable-introspection
    - make

build-autotools-default:
  stage: build
  extends:
  - .fdo.distribution-image@ubuntu
  - .common_variables
  only:
    - merge_requests
    - schedules
  script:
    - NOCONFIGURE=1 ./autogen.sh
    - ./configure --prefix=/usr --enable-gtk-doc --enable-introspection
    - make
    - make check
    - make install
    - make distcheck

build-autotools-default-artifacts:
  stage: build
  extends:
  - .fdo.distribution-image@ubuntu
  - .common_variables
  only:
    - master
    - tags
  script:
    - !reference [build-autotools-default, script]
    - sha256sum $CI_PROJECT_NAME-*.tar.xz | awk '{print $1;}' > pkg_hash.txt
  artifacts:
    name: "$CI_PROJECT_NAME-$CI_COMMIT_TAG"
    paths:
      - /builds/$CI_PROJECT_ROOT_NAMESPACE/$CI_PROJECT_NAME/$CI_PROJECT_NAME-*.tar.xz
      - /builds/$CI_PROJECT_ROOT_NAMESPACE/$CI_PROJECT_NAME/pkg_hash.txt
    expire_in: 2 days