gparted/.gitlab-ci.yml
Mike Fleetwood b3f5213207 Print kernel version, etc in GitLab CI (#147)
Print the kernel version and supported file systems inside the GNOME
GitLab CI jobs as a debugging aid.  Kernel version helps identify the
CI job runner's distribution to identify kernel features.  Supported
file systems identifies which ones can be mounted, should that be
possible in future.  Print supported file systems before and after the
tests because checking for support may load additional modules.  See
calls to Utils::kernel_supports_fs() for: btrfs, jfs, nilfs2 and xfs.

Closes #147 - GitLab CI test failure from *.CreateAndGrow/jfs
2021-03-11 16:44:50 +00:00

123 lines
5 KiB
YAML

stages:
- build
- test
.centos_image_template: &centos_image_definition
# Use official CentOS image https://hub.docker.com/_/centos/.
image: centos:centos7
before_script:
- yum update -y
- yum install -y which gnome-common yelp-tools glib2-devel intltool
gcc-c++ libuuid-devel parted-devel gtkmm30-devel make
polkit file
# Extra packages only needed during the test stage.
# Install EPEL repo first for f2fs-tools and ntfsprogs.
- yum install -y epel-release
- yum install -y btrfs-progs e2fsprogs exfatprogs f2fs-tools dosfstools
mtools hfsplus-tools util-linux cryptsetup device-mapper
lvm2 ntfsprogs udftools xfsprogs xfsdump
xorg-x11-server-Xvfb kmod
- cat /proc/version
- cat /etc/os-release
- systemd-machine-id-setup
.ubuntu_image_template: &ubuntu_image_definition
# Use official Ubuntu image https://hub.docker.com/_/ubuntu/.
image: ubuntu:latest
before_script:
- export DEBIAN_FRONTEND=noninteractive
- apt-get update
- apt-get install -y build-essential gnome-common yelp-tools
libglib2.0-dev-bin uuid-dev libparted-dev
libgtkmm-3.0-dev policykit-1
# Extra packages only needed during the test stage.
- apt-get install -y btrfs-progs e2fsprogs f2fs-tools dosfstools mtools
hfsutils hfsprogs jfsutils util-linux cryptsetup-bin
dmsetup lvm2 nilfs-tools ntfs-3g reiser4progs
reiserfsprogs udftools xfsprogs xfsdump xvfb kmod
- cat /proc/version
- cat /etc/os-release
.build_stage_template: &build_stage_definition
stage: build
script:
- ./autogen.sh
- nproc=`grep -c '^processor' /proc/cpuinfo` || nproc=1
- echo nproc=$nproc
- make -j $nproc
- make install
# Save all files on job failure for investigation.
artifacts:
when: on_failure
name: "$CI_PROJECT_NAME-ci-job-$CI_JOB_ID-$CI_JOB_NAME"
untracked: true
paths:
- ./
expire_in: 1 week
.test_stage_template: &test_stage_definition
stage: test
script:
- ./autogen.sh
- nproc=`grep -c '^processor' /proc/cpuinfo` || nproc=1
- echo nproc=$nproc
- make -j $nproc
# Exclude specific unit tests which fail without being able to create
# loop devices in Docker images.
- export GTEST_FILTER='-My/SupportedFileSystemsTest.Create/lvm2pv'
- GTEST_FILTER+=':My/SupportedFileSystemsTest.CreateAndReadUsage/btrfs'
- GTEST_FILTER+=':My/SupportedFileSystemsTest.CreateAndReadUsage/lvm2pv'
- GTEST_FILTER+=':My/SupportedFileSystemsTest.CreateAndReadUsage/nilfs2'
- GTEST_FILTER+=':My/SupportedFileSystemsTest.CreateAndReadLabel/btrfs'
- GTEST_FILTER+=':My/SupportedFileSystemsTest.CreateAndReadLabel/lvm2pv'
- GTEST_FILTER+=':My/SupportedFileSystemsTest.CreateAndReadLabel/nilfs2'
- GTEST_FILTER+=':My/SupportedFileSystemsTest.CreateAndReadUUID/btrfs'
- GTEST_FILTER+=':My/SupportedFileSystemsTest.CreateAndReadUUID/lvm2pv'
- GTEST_FILTER+=':My/SupportedFileSystemsTest.CreateAndReadUUID/nilfs2'
- GTEST_FILTER+=':My/SupportedFileSystemsTest.CreateAndWriteLabel/lvm2pv'
- GTEST_FILTER+=':My/SupportedFileSystemsTest.CreateAndWriteLabel/nilfs2'
- GTEST_FILTER+=':My/SupportedFileSystemsTest.CreateAndWriteUUID/lvm2pv'
- GTEST_FILTER+=':My/SupportedFileSystemsTest.CreateAndWriteUUID/nilfs2'
- GTEST_FILTER+=':My/SupportedFileSystemsTest.CreateAndCheck/lvm2pv'
- GTEST_FILTER+=':My/SupportedFileSystemsTest.CreateAndRemove/lvm2pv'
- GTEST_FILTER+=':My/SupportedFileSystemsTest.CreateAndGrow/btrfs'
- GTEST_FILTER+=':My/SupportedFileSystemsTest.CreateAndGrow/jfs'
- GTEST_FILTER+=':My/SupportedFileSystemsTest.CreateAndGrow/lvm2pv'
- GTEST_FILTER+=':My/SupportedFileSystemsTest.CreateAndGrow/nilfs2'
- GTEST_FILTER+=':My/SupportedFileSystemsTest.CreateAndGrow/xfs'
- GTEST_FILTER+=':My/SupportedFileSystemsTest.CreateAndShrink/btrfs'
- GTEST_FILTER+=':My/SupportedFileSystemsTest.CreateAndShrink/lvm2pv'
- GTEST_FILTER+=':My/SupportedFileSystemsTest.CreateAndShrink/nilfs2'
- fgrep -v nodev /proc/filesystems | sort
# Create needed /dev entries for unit tests in Docker images.
- tests/makedev.sh
- make check
- make distcheck
- fgrep -v nodev /proc/filesystems | sort
# Save all files on job failure for investigation.
artifacts:
when: on_failure
name: "$CI_PROJECT_NAME-ci-job-$CI_JOB_ID-$CI_JOB_NAME"
untracked: true
paths:
- ./
expire_in: 1 week
# Check GParted can be built and installed on CentOS and Ubuntu.
centos_build:
<<: *centos_image_definition
<<: *build_stage_definition
ubuntu_build:
<<: *ubuntu_image_definition
<<: *build_stage_definition
# Check GParted unit tests and distcheck pass on CentOS and Ubuntu.
centos_test:
<<: *centos_image_definition
<<: *test_stage_definition
ubuntu_test:
<<: *ubuntu_image_definition
<<: *test_stage_definition