mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-02-03 18:20:29 +01:00
gitlab-ci: test re-buildability of distribution tarballs
Adds tests for making a distribution tarball, and then attempting to build NM from its contents. Files have been left out from the distribution in the past by accident (e.g.75027879,b2931c96) and hopefully this test will catch this type of errors. https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1862
This commit is contained in:
parent
4c76d49f1f
commit
61f0531509
4 changed files with 80 additions and 34 deletions
|
|
@ -57,11 +57,11 @@ variables:
|
|||
#
|
||||
# This is done by running `ci-fairy generate-template` and possibly bumping
|
||||
# ".default_tag".
|
||||
ALPINE_TAG: 'tag-7da44bbacc09'
|
||||
CENTOS_TAG: 'tag-df11907da86a'
|
||||
DEBIAN_TAG: 'tag-86a16c2d74d8'
|
||||
FEDORA_TAG: 'tag-df11907da86a'
|
||||
UBUNTU_TAG: 'tag-86a16c2d74d8'
|
||||
ALPINE_TAG: 'tag-947df94197e7'
|
||||
CENTOS_TAG: 'tag-2f354aa44865'
|
||||
DEBIAN_TAG: 'tag-fb7953849851'
|
||||
FEDORA_TAG: 'tag-2f354aa44865'
|
||||
UBUNTU_TAG: 'tag-fb7953849851'
|
||||
|
||||
ALPINE_EXEC: 'bash .gitlab-ci/alpine-install.sh'
|
||||
CENTOS_EXEC: 'bash .gitlab-ci/fedora-install.sh'
|
||||
|
|
@ -391,6 +391,8 @@ t_fedora:39:
|
|||
- meson+clang
|
||||
- rpm+autotools
|
||||
- rpm+meson
|
||||
- tarball+autotools
|
||||
- tarball+meson
|
||||
- tarball
|
||||
- subtree
|
||||
variables:
|
||||
|
|
|
|||
|
|
@ -157,6 +157,8 @@ t_{{distro.name}}:{{version}}:
|
|||
- meson+clang
|
||||
- rpm+autotools
|
||||
- rpm+meson
|
||||
- tarball+autotools
|
||||
- tarball+meson
|
||||
- tarball
|
||||
- subtree
|
||||
{% endif %}
|
||||
|
|
|
|||
|
|
@ -63,6 +63,8 @@ check_run_assert() {
|
|||
meson+clang
|
||||
rpm+autotools
|
||||
rpm+meson
|
||||
tarball+autotools
|
||||
tarball+meson
|
||||
tarball
|
||||
subtree
|
||||
|
||||
|
|
@ -127,6 +129,42 @@ if check_run_clean tarball && [ "$NM_BUILD_TARBALL" = 1 ]; then
|
|||
do_clean
|
||||
fi
|
||||
|
||||
if check_run_clean tarball+autotools; then
|
||||
BUILD_TYPE=autotools CC=gcc WITH_DOCS=1 CONFIGURE_ONLY=1 contrib/scripts/nm-ci-run.sh
|
||||
pushd ./build
|
||||
# dist & build with autotools
|
||||
make distcheck -j$(nproc)
|
||||
|
||||
# build with meson
|
||||
DISTSRC="./distsrc-$RANDOM"
|
||||
mkdir $DISTSRC
|
||||
tar xvf ./NetworkManager-1*.tar.xz -C $DISTSRC --strip-components=1
|
||||
pushd $DISTSRC
|
||||
BUILD_TYPE=meson CC=gcc WITH_DOCS=1 ../../contrib/scripts/nm-ci-run.sh
|
||||
popd
|
||||
popd
|
||||
do_clean
|
||||
fi
|
||||
|
||||
if check_run_clean tarball+meson; then
|
||||
BUILD_TYPE=meson CC=gcc WITH_DOCS=1 CONFIGURE_ONLY=1 contrib/scripts/nm-ci-run.sh
|
||||
pushd ./build
|
||||
# dist with meson
|
||||
meson dist
|
||||
|
||||
# build with autotools
|
||||
DISTSRC="./distsrc-$RANDOM"
|
||||
mkdir $DISTSRC
|
||||
tar xvf ./meson-dist/NetworkManager-1*.tar.xz -C $DISTSRC --strip-components=1
|
||||
pushd $DISTSRC
|
||||
BUILD_TYPE=autotools CC=gcc WITH_DOCS=1 ../../contrib/scripts/nm-ci-run.sh
|
||||
popd
|
||||
rm -rf $DISTSRC
|
||||
popd
|
||||
do_clean
|
||||
fi
|
||||
|
||||
|
||||
###############################################################################
|
||||
|
||||
test_subtree() {
|
||||
|
|
|
|||
|
|
@ -191,24 +191,26 @@ run_autotools() {
|
|||
\
|
||||
#end
|
||||
|
||||
make -j 6
|
||||
make install
|
||||
if [ "$CONFIGURE_ONLY" != 1 ]; then
|
||||
make -j 6
|
||||
make install
|
||||
|
||||
export NM_TEST_CLIENT_CHECK_L10N=1
|
||||
export NM_TEST_CLIENT_CHECK_L10N=1
|
||||
|
||||
if ! make check -j 6 -k ; then
|
||||
_print_test_logs "first-test"
|
||||
echo ">>>> RUN SECOND TEST (start)"
|
||||
NMTST_DEBUG="debug,TRACE,no-expect-message" make check -k || :
|
||||
echo ">>>> RUN SECOND TEST (done)"
|
||||
_print_test_logs "second-test"
|
||||
die "autotools test failed"
|
||||
fi
|
||||
if ! make check -j 6 -k ; then
|
||||
_print_test_logs "first-test"
|
||||
echo ">>>> RUN SECOND TEST (start)"
|
||||
NMTST_DEBUG="debug,TRACE,no-expect-message" make check -k || :
|
||||
echo ">>>> RUN SECOND TEST (done)"
|
||||
_print_test_logs "second-test"
|
||||
die "autotools test failed"
|
||||
fi
|
||||
|
||||
if _with_valgrind; then
|
||||
if ! NMTST_USE_VALGRIND=1 make check -j 3 -k ; then
|
||||
_print_test_logs "(valgrind test)"
|
||||
die "autotools+valgrind test failed"
|
||||
if _with_valgrind; then
|
||||
if ! NMTST_USE_VALGRIND=1 make check -j 3 -k ; then
|
||||
_print_test_logs "(valgrind test)"
|
||||
die "autotools+valgrind test failed"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
popd
|
||||
|
|
@ -222,7 +224,7 @@ run_meson() {
|
|||
else
|
||||
_WITH_WERROR_VAL=""
|
||||
fi
|
||||
meson build \
|
||||
meson setup build \
|
||||
\
|
||||
-Dprefix="$PWD/INST" \
|
||||
\
|
||||
|
|
@ -262,21 +264,23 @@ run_meson() {
|
|||
|
||||
export NM_TEST_CLIENT_CHECK_L10N=1
|
||||
|
||||
ninja -C build -v
|
||||
ninja -C build install
|
||||
if [ "$CONFIGURE_ONLY" != 1 ]; then
|
||||
ninja -C build -v
|
||||
ninja -C build install
|
||||
|
||||
if ! meson test -C build -v --print-errorlogs ; then
|
||||
echo ">>>> RUN SECOND TEST (start)"
|
||||
NMTST_DEBUG="debug,TRACE,no-expect-message" \
|
||||
meson test -C build -v --print-errorlogs || :
|
||||
echo ">>>> RUN SECOND TEST (done)"
|
||||
die "meson test failed"
|
||||
fi
|
||||
if ! meson test -C build -v --print-errorlogs ; then
|
||||
echo ">>>> RUN SECOND TEST (start)"
|
||||
NMTST_DEBUG="debug,TRACE,no-expect-message" \
|
||||
meson test -C build -v --print-errorlogs || :
|
||||
echo ">>>> RUN SECOND TEST (done)"
|
||||
die "meson test failed"
|
||||
fi
|
||||
|
||||
if _with_valgrind; then
|
||||
if ! NMTST_USE_VALGRIND=1 meson test -C build -v --print-errorlogs ; then
|
||||
_print_test_logs "(valgrind test)"
|
||||
die "meson+valgrind test failed"
|
||||
if _with_valgrind; then
|
||||
if ! NMTST_USE_VALGRIND=1 meson test -C build -v --print-errorlogs ; then
|
||||
_print_test_logs "(valgrind test)"
|
||||
die "meson+valgrind test failed"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue