pipeline { agent { dockerfile { label 'linux' dir 'ci' } } parameters { string( name: 'PROPTEST_CASES', description: 'Test cases to be executed', defaultValue: params.PROPTEST_CASES ?: '1000000' ) } environment { /* Avoid cache poisoning by other jobs. */ GOCACHE = "${env.WORKSPACE_TMP}/go-build" GOPATH = "${env.WORKSPACE_TMP}/go" PROPTEST_CASES = "${params.PROPTEST_CASES}" } options { disableConcurrentBuilds() buildDiscarder(logRotator( numToKeepStr: '20', daysToKeepStr: '30', )) } stages { stage('Fuzztest') { steps { sh 'cargo test --test fuzz_test' } post { failure { archiveArtifacts artifacts: '**/*.proptest-regressions' } } } } post { failure { script { def discord = load "${WORKSPACE}/ci/discord.groovy" discord.sendMessage(header: 'Nightly Fuzztest Failed. Regression files archived as job artifacts') } } success { script { def discord = load "${WORKSPACE}/ci/discord.groovy" discord.sendMessage(header: 'Nightly Fuzztest Passed') } } cleanup { cleanWs() } } }