diff --git a/ci/Jenkinsfile b/ci/Jenkinsfile index 02676b378b29..2fc7c0788ef5 100644 --- a/ci/Jenkinsfile +++ b/ci/Jenkinsfile @@ -68,6 +68,26 @@ def gobuild_step(list) { } } +def sharness_step = { run, osname, makeargs -> + timeout(time: sharness_timeout, unit: 'MINUTES') { + run "make gx-deps" + + try { + run "make -j12 ${makeargs} test/sharness/test-results/sharness.xml CONTINUE_ON_S_FAILURE=1 TEST_NO_FUSE=1 TEST_NO_DOCKER=1" + + try { + // archive trash directories if any + run "tar -czf sharnessTrashDirs-${osname}.tar.gz test/sharness/trash\\ *" + archiveArtifacts artifacts: "sharnessTrashDirs-${osname}.tar.gz", fingerprint: true + } catch (_) {} + } catch (err) { + throw err + } finally { + junit allowEmptyResults: true, testResults: 'test/sharness/test-results/sharness.xml' + } + } +} + /* PIPELINE */ ansiColor('xterm') { withEnv(['TERM=xterm-color']) { @@ -140,36 +160,12 @@ ansiColor('xterm') { withEnv(['TERM=xterm-color']) { }, linuxSharness: { setupStep('linux') { run -> - timeout(time: sharness_timeout, unit: 'MINUTES') { - run 'go get -v github.com/jstemmer/go-junit-report' - run "make gx-deps" - - try { - run "make -j12 -Otarget test/sharness/test-results/sharness.xml CONTINUE_ON_S_FAILURE=1 TEST_NO_FUSE=1 TEST_NO_DOCKER=1" - } catch (err) { - throw err - } finally { - junit allowEmptyResults: true, testResults: 'test/sharness/test-results/sharness.xml' - } - } + sharness_step(run, 'linux', '-Otarget') } }, macOS: { setupStep('macos') { run -> - timeout(time: gotest_timeout, unit: 'MINUTES') { - run 'go get -v github.com/jstemmer/go-junit-report' - run "make gx-deps" - - try { - run test + ' -tags="nofuse" 2>&1 | tee output' - run 'cat output | go-junit-report > junit-report-macos.xml' - } catch (err) { - throw err - } finally { - /* IGNORE TEST FAILS */ - /* junit 'junit-report-*.xml' */ - } - } + sharness_step(run, 'macos', '') } }, macSharness: {