Skip to content
Open
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
75 changes: 62 additions & 13 deletions Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ pipeline
values 'debian10', 'debian11', 'debian12', 'debian13',
'alma8', 'alma9',
'ubuntu1804', 'ubuntu2004', 'ubuntu2204', 'ubuntu2404',
'rhel7', 'rhel8', 'rhel9',
'rhel7', 'rhel8', 'rhel9', 'rhel10',
'fedora44'
}
}
Expand All @@ -76,8 +76,14 @@ pipeline
when { expression { env.DISTRO == 'fedora44' } }
steps
{
updateKernelWithReboot()
checkout scm
script
{
catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE')
{
updateKernelWithReboot()
checkout scm
}
}
}
}
stage('Publish packages')
Expand All @@ -102,29 +108,68 @@ pipeline
{
steps
{
script { test_disks[env.DISTRO] = getTestDisks() }
lock(label: 'elastio-vmx', quantity: 1, resource : null)
script
{
sh "sudo make"
sh "sudo make install"
catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE')
{
try
{
script { test_disks[env.DISTRO] = getTestDisks() }
lock(label: 'elastio-vmx', quantity: 1, resource : null)
{
sh "sudo make"
sh "sudo make install"
}
}
catch (e)
{
env.SKIP_REST = "true"
throw e
}
}
}

}
}


stage('Run tests (loop device)') { steps { runTests(supported_fs, "") } }
stage('Run tests on LVM (loop device)') { steps { runTests(supported_fs, "--lvm") } }
stage('Run tests on RAID (loop device)') { steps { runTests(supported_fs, "--raid") } }
stage('Run tests (loop device)')
{
when {
expression { !(env.DISTRO == 'fedora44' && env.SKIP_REST == "true") }
}
steps { runTests(supported_fs, "") }
}
stage('Run tests on LVM (loop device)')
{
when {
expression { !(env.DISTRO == 'fedora44' && env.SKIP_REST == "true") }
}
steps { runTests(supported_fs, "--lvm") }
}
stage('Run tests on RAID (loop device)')
{
when {
expression { !(env.DISTRO == 'fedora44' && env.SKIP_REST == "true") }
}
steps { runTests(supported_fs, "--raid") }
}

stage('Run tests (qcow2 disk)')
{
when { branch pattern: '^(build|release|develop|master|staging).*', comparator: "REGEXP" }
when {
expression { !(env.DISTRO == 'fedora44' && env.SKIP_REST == "true") }
branch pattern: '^(build|release|develop|master|staging).*', comparator: "REGEXP"
}
steps { runTests(supported_fs, "-d ${test_disks[env.DISTRO][0]}1") }
}

stage('Run tests on LVM (qcow2 disks)')
{
when { branch pattern: '^(build|release|develop|master|staging).*', comparator: "REGEXP" }
when {
expression { !(env.DISTRO == 'fedora44' && env.SKIP_REST == "true") }
branch pattern: '^(build|release|develop|master|staging).*', comparator: "REGEXP"
}
steps { runTests(supported_fs, " -d ${test_disks[env.DISTRO][0]} -d ${test_disks[env.DISTRO][1]} --lvm") }
}

Expand All @@ -134,14 +179,18 @@ pipeline
// mount of the raid1 device with XFS even if elastio-snap is not loaded. See https://bugzilla.redhat.com/show_bug.cgi?id=1111290
when
{
expression { !(env.DISTRO == 'fedora44' && env.SKIP_REST == "true") }
branch pattern: '^(build|release|develop|master|staging).*', comparator: "REGEXP"
expression { env.DISTRO != 'debian8' }
}
steps { runTests(supported_fs, " -d ${test_disks[env.DISTRO][0]} -d ${test_disks[env.DISTRO][1]} --raid") }
}

stage('Run tests multipart (qcow2 disks)') {
when { branch pattern: '^(build|release|develop|master|staging).*', comparator: "REGEXP" }
when {
expression { !(env.DISTRO == 'fedora44' && env.SKIP_REST == "true") }
branch pattern: '^(build|release|develop|master|staging).*', comparator: "REGEXP"
}
steps { runTests(supported_fs, "-d ${test_disks[env.DISTRO][0]} -t test_multipart") }
}
}
Expand Down