diff options
-rw-r--r-- | build-gluster-org/jobs/32-bit-build-smoke.yml | 52 | ||||
-rw-r--r-- | build-gluster-org/jobs/tsan.yml | 41 | ||||
-rw-r--r-- | build-gluster-org/scripts/32-bit-build-smoke.sh | 10 | ||||
-rw-r--r-- | build-gluster-org/scripts/glusterd2-containers.sh | 1 | ||||
-rw-r--r-- | build-gluster-org/scripts/tsan.sh | 30 |
5 files changed, 134 insertions, 0 deletions
diff --git a/build-gluster-org/jobs/32-bit-build-smoke.yml b/build-gluster-org/jobs/32-bit-build-smoke.yml new file mode 100644 index 0000000..fe86453 --- /dev/null +++ b/build-gluster-org/jobs/32-bit-build-smoke.yml @@ -0,0 +1,52 @@ +- job: + name: 32-bit-build-smoke + node: smoke7 + description: smoke job for 32 bit build + project-type: freestyle + concurrent: true + + scm: + - glusterfs + + properties: + - discard-after-x: + x: 30 + - one-build-per-node + + triggers: + - gerrit: + trigger-on: + - patchset-created-event: + exclude-drafts: false + exclude-trivial-rebase: false + exclude-no-code-change: false + - draft-published-event + - comment-added-contains-event: + comment-contains-value: "recheck smoke" + server-name: review.gluster.org_for-smoke-jobs + skip-vote: + failed: true + unstable: true + notbuilt: true + projects: + - project-compare-type: 'PLAIN' + project-pattern: 'glusterfs' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**' + + parameters: + - string: + default: refs/heads/master + description: 'For review 12345 and patch set 6, this will be refs/changes/45/12345/6. Default: Tip of master' + name: GERRIT_REFSPEC + - string: + default: master + description: 'Name of the branch you want to build from. We usually build from master' + name: GERRIT_BRANCH + + builders: + - shell: !include-raw: ../scripts/32-bit-build-smoke.sh + + wrappers: + - timestamps diff --git a/build-gluster-org/jobs/tsan.yml b/build-gluster-org/jobs/tsan.yml new file mode 100644 index 0000000..2125f79 --- /dev/null +++ b/build-gluster-org/jobs/tsan.yml @@ -0,0 +1,41 @@ +- job: + name: tsan + node: fedora + description: Threaded data corruption detector job for glusterfs + project-type: freestyle + concurrent: true + + scm: + - glusterfs + + properties: + - discard-after-x: + x: 30 + - one-build-per-node + + triggers: + - timed: "H 15 * * *" + + builders: + - shell: !include-raw: ../scripts/tsan.sh + + publishers: + - post-tasks: + - matches: + - log-text: Build was aborted + script: !include-raw: ../scripts/regression-abort.sh + - gluster-logs + + parameters: + - string: + default: refs/heads/master + description: 'For review 12345 and patch set 6, this will be refs/changes/45/12345/6. Default: Tip of master' + name: GERRIT_REFSPEC + - string: + default: master + description: 'Name of the branch you want to build from. We usually build from master' + name: GERRIT_BRANCH + + wrappers: + - timestamps + diff --git a/build-gluster-org/scripts/32-bit-build-smoke.sh b/build-gluster-org/scripts/32-bit-build-smoke.sh new file mode 100644 index 0000000..9fdaf72 --- /dev/null +++ b/build-gluster-org/scripts/32-bit-build-smoke.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +nproc=$(getconf _NPROCESSORS_ONLN) +sudo mock -r fedora-28-i386 --config-opts=dnf_warning=False --init +sudo mock -r fedora-28-i386 --config-opts=dnf_warning=False --install langpacks-en glibc-langpack-en automake autoconf libtool flex bison openssl-devel libxml2-devel python-devel libaio-devel libibverbs-devel librdmacm-devel readline-devel lvm2-devel glib2-devel userspace-rcu-devel libcmocka-devel libacl-devel sqlite-devel fuse-devel redhat-rpm-config clang clang-analyzer git rpcgen libtirpc-devel +sudo mock -r fedora-28-i386 --config-opts=dnf_warning=False --copyin $WORKSPACE /src +sudo mock -r fedora-28-i386 --config-opts=dnf_warning=False --chroot "cd /src && ./autogen.sh" +sudo mock -r fedora-28-i386 --config-opts=dnf_warning=False --chroot "cd /src && ./configure --enable-gnfs --enable-debug" +sudo mock -r fedora-28-i386 --config-opts=dnf_warning=False --chroot "cd src && make install CFLAGS='-Wall -Werror' -j ${nproc}" +sudo mock -r fedora-28-i386 --config-opts=dnf_warning=False --clean diff --git a/build-gluster-org/scripts/glusterd2-containers.sh b/build-gluster-org/scripts/glusterd2-containers.sh index d5a8637..e2c61cc 100644 --- a/build-gluster-org/scripts/glusterd2-containers.sh +++ b/build-gluster-org/scripts/glusterd2-containers.sh @@ -8,3 +8,4 @@ if [ "$PUSH_TO_HUB" = true ]; then buildah push --authfile $AUTH_JSON "localhost/$IMG_NAME:$IMG_VERSION" "docker://docker.io/gluster/glusterd2-nightly:$IMG_VERSION" buildah push --authfile $AUTH_JSON "localhost/$IMG_NAME:$IMG_VERSION" "docker://docker.io/gluster/glusterd2-nightly:latest" fi +buildah rmi --all diff --git a/build-gluster-org/scripts/tsan.sh b/build-gluster-org/scripts/tsan.sh new file mode 100644 index 0000000..5570bcb --- /dev/null +++ b/build-gluster-org/scripts/tsan.sh @@ -0,0 +1,30 @@ +#!/bin/bash +nproc=$(getconf _NPROCESSORS_ONLN) +SRC=$(pwd); +P=/build; + +sudo -E bash /opt/qa/cleanup.sh +# Clean up other Gluster dirs +sudo rm -rf /var/lib/glusterd/* /build/install /build/scratch >/dev/null 2>&1 +# Remove the many left over socket files in /var/run +sudo rm -f /var/run/????????????????????????????????.socket >/dev/null 2>&1 +# Remove GlusterFS log files from previous runs +sudo rm -rf /var/log/glusterfs/* /var/log/glusterfs/.cmd_log_history >/dev/null 2>&1 +JDIRS="/var/log/glusterfs /var/lib/glusterd /var/run/gluster /d /d/archived_builds /d/backends /d/build /d/logs /home/jenkins/root" +sudo mkdir -p $JDIRS +sudo chown jenkins:jenkins $JDIRS +chmod 755 $JDIRS + +set -e +./autogen.sh; +rm -rf $P/scratch; +mkdir -p $P/scratch; +cd $P/scratch; +rm -rf $P/install; +$SRC/configure --prefix=$P/install --with-mountutildir=$P/install/sbin \ + --with-initdir=$P/install/etc --localstatedir=/var \ + --enable-debug --enable-gnfs --silent --enable-tsan +make install -j ${nproc} +cd $SRC; +export TSAN_OPTIONS=log_path=/var/log/glusterfs/tsan-output.log +sudo -E bash /opt/qa/regression.sh |