full list of benefits at: https://freedesktop.pages.freedesktop.org/ci-templates/templates.html#why-use-the-ci-templates But the main ones are: - reproducible (just download the container and run the `script` part to be in the same environment the CI was running) - no more before script that pulls hundreds of MB and spend useless time. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
194 lines
5.4 KiB
YAML
194 lines
5.4 KiB
YAML
include:
|
|
- project: freedesktop/ci-templates
|
|
ref: 290b79e0e78eab67a83766f4e9691be554fc4afd
|
|
file:
|
|
- templates/debian.yml
|
|
|
|
stages:
|
|
- container prep
|
|
- build
|
|
|
|
.common_variables:
|
|
variables:
|
|
FDO_UPSTREAM_REPO: mobile-broadband/ModemManager
|
|
FDO_DISTRIBUTION_VERSION: 'buster'
|
|
FDO_DISTRIBUTION_TAG: '2020-04-08.4'
|
|
FDO_DISTRIBUTION_PACKAGES: ca-certificates git gcc autoconf automake libtool libgettextpo-dev libgirepository1.0-dev libglib2.0-dev libgudev-1.0-dev python3-dbus python3-gi autopoint xsltproc dbus autoconf-archive gettext
|
|
gtk-doc-tools libglib2.0-doc gobject-introspection libsystemd-dev libpolkit-gobject-1-dev valac
|
|
|
|
build container:
|
|
extends:
|
|
- .fdo.container-build@debian
|
|
- .common_variables
|
|
stage: container prep
|
|
only:
|
|
- master
|
|
- branches
|
|
- merge_requests
|
|
- tags
|
|
- pushes
|
|
|
|
build-no-qmi:
|
|
stage: build
|
|
extends:
|
|
- .fdo.distribution-image@debian
|
|
- .common_variables
|
|
only:
|
|
- master
|
|
- merge_requests
|
|
- tags
|
|
- schedules
|
|
script:
|
|
- git clone --depth 1 https://gitlab.freedesktop.org/mobile-broadband/libmbim.git
|
|
- pushd libmbim
|
|
- NOCONFIGURE=1 ./autogen.sh
|
|
- ./configure --prefix=/usr
|
|
- make
|
|
- make install
|
|
- popd
|
|
- NOCONFIGURE=1 ./autogen.sh
|
|
- ./configure --prefix=/tmp/build-no-qmi --disable-gtk-doc --without-qmi
|
|
- make
|
|
- make check
|
|
- make install
|
|
|
|
build-no-mbim:
|
|
stage: build
|
|
extends:
|
|
- .fdo.distribution-image@debian
|
|
- .common_variables
|
|
only:
|
|
- master
|
|
- merge_requests
|
|
- tags
|
|
- schedules
|
|
script:
|
|
- git clone --depth 1 https://gitlab.freedesktop.org/mobile-broadband/libqmi.git
|
|
- pushd libqmi
|
|
- NOCONFIGURE=1 ./autogen.sh
|
|
- ./configure --prefix=/usr --disable-mbim-qmux --enable-collection=basic
|
|
- make
|
|
- make install
|
|
- popd
|
|
- NOCONFIGURE=1 ./autogen.sh
|
|
- ./configure --prefix=/tmp/build-no-mbim --disable-gtk-doc --without-mbim
|
|
- make
|
|
- make check
|
|
- make install
|
|
|
|
build-no-qmi-no-mbim:
|
|
stage: build
|
|
extends:
|
|
- .fdo.distribution-image@debian
|
|
- .common_variables
|
|
only:
|
|
- master
|
|
- merge_requests
|
|
- tags
|
|
- schedules
|
|
script:
|
|
- NOCONFIGURE=1 ./autogen.sh
|
|
- ./configure --prefix=/tmp/build-no-qmi-no-mbim --disable-gtk-doc --without-qmi --without-mbim
|
|
- make
|
|
- make check
|
|
- make install
|
|
|
|
build-qmi-newest-commands:
|
|
stage: build
|
|
extends:
|
|
- .fdo.distribution-image@debian
|
|
- .common_variables
|
|
only:
|
|
- master
|
|
- merge_requests
|
|
- tags
|
|
- schedules
|
|
script:
|
|
- git clone --depth 1 https://gitlab.freedesktop.org/mobile-broadband/libqmi.git
|
|
- pushd libqmi
|
|
- NOCONFIGURE=1 ./autogen.sh
|
|
- ./configure --prefix=/usr --disable-mbim-qmux --enable-collection=basic
|
|
- make
|
|
- make install
|
|
- popd
|
|
- NOCONFIGURE=1 ./autogen.sh
|
|
- ./configure --prefix=/tmp/build-qmi-newest-commands --disable-gtk-doc --without-mbim CFLAGS="-DWITH_NEWEST_QMI_COMMANDS"
|
|
- make
|
|
- make check
|
|
- make install
|
|
|
|
build-single-plugins:
|
|
stage: build
|
|
extends:
|
|
- .fdo.distribution-image@debian
|
|
- .common_variables
|
|
only:
|
|
- schedules
|
|
script:
|
|
- git clone --depth 1 https://gitlab.freedesktop.org/mobile-broadband/libmbim.git
|
|
- pushd libmbim
|
|
- NOCONFIGURE=1 ./autogen.sh
|
|
- ./configure --prefix=/usr
|
|
- make
|
|
- make install
|
|
- popd
|
|
- git clone --depth 1 https://gitlab.freedesktop.org/mobile-broadband/libqmi.git
|
|
- pushd libqmi
|
|
- NOCONFIGURE=1 ./autogen.sh
|
|
- ./configure --prefix=/usr --enable-mbim-qmux --enable-collection=basic
|
|
- make
|
|
- make install
|
|
- popd
|
|
- NOCONFIGURE=1 ./autogen.sh
|
|
- for plugin in generic altair-lte anydata broadmobi cinterion
|
|
dell dlink fibocom foxconn gosuncn haier huawei iridium
|
|
linktop longcheer mbm motorola mtk nokia nokia-icera
|
|
novatel novatel-lte option option-hso pantech
|
|
qcom-soc quectel samsung sierra-legacy sierra simtech
|
|
telit thuraya tplink ublox via wavecom x22x zte; do
|
|
./configure --prefix=/usr --disable-gtk-doc --disable-all-plugins --enable-plugin-$plugin;
|
|
make;
|
|
make clean;
|
|
done
|
|
|
|
build-default:
|
|
stage: build
|
|
extends:
|
|
- .fdo.distribution-image@debian
|
|
- .common_variables
|
|
only:
|
|
- master
|
|
- branches
|
|
- merge_requests
|
|
- tags
|
|
- schedules
|
|
- pushes
|
|
script:
|
|
- git clone --depth 1 https://gitlab.freedesktop.org/mobile-broadband/libmbim.git
|
|
- pushd libmbim
|
|
- NOCONFIGURE=1 ./autogen.sh
|
|
- ./configure --prefix=/usr
|
|
- make
|
|
- make install
|
|
- popd
|
|
- git clone --depth 1 https://gitlab.freedesktop.org/mobile-broadband/libqmi.git
|
|
- pushd libqmi
|
|
- NOCONFIGURE=1 ./autogen.sh
|
|
- ./configure --prefix=/usr --enable-mbim-qmux --enable-collection=basic
|
|
- make
|
|
- make install
|
|
- popd
|
|
- NOCONFIGURE=1 ./autogen.sh
|
|
- ./configure --prefix=/usr --enable-gtk-doc --with-polkit=strict --with-suspend-resume=systemd --with-systemdsystemunitdir=/lib/systemd/system
|
|
- make
|
|
- make check
|
|
- make install
|
|
- make distcheck
|
|
- sha256sum $CI_PROJECT_NAME-*.tar.xz | awk '{print $1;}' > pkg_hash.txt
|
|
artifacts:
|
|
name: "$CI_PROJECT_NAME-$CI_COMMIT_SHORT_SHA"
|
|
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
|