summaryrefslogtreecommitdiff
path: root/.gitlab-ci.yml
blob: c616dea6ebed0de1acff0261b0bd8728225c1f3e (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
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
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: '20.04'
    FDO_DISTRIBUTION_TAG: '2021-11-05.1.MBIM-1.26'
    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 help2man

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

build-meson-no-introspection:
  stage: build
  extends:
  - .fdo.distribution-image@ubuntu
  - .common_variables
  only:
    - master
    - merge_requests
    - tags
    - schedules
  script:
    - meson setup build --prefix=/usr -Dwerror=true -Dintrospection=false
    - ninja -C build
    - ninja -C build install

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

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

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