diff --git a/jenkins/marvell-armhf/buildimage-mrvl-armhf-all/Jenkinsfile b/jenkins/marvell-armhf/buildimage-mrvl-armhf-all/Jenkinsfile new file mode 100644 index 000000000000..2bc4b4faedf6 --- /dev/null +++ b/jenkins/marvell-armhf/buildimage-mrvl-armhf-all/Jenkinsfile @@ -0,0 +1,66 @@ +pipeline { + agent { node { label 'jenkins-workers-slow' } } + + options { + buildDiscarder(logRotator(artifactDaysToKeepStr: '', artifactNumToKeepStr: '', daysToKeepStr: '', numToKeepStr: '30')) + } + + environment { + SONIC_TEAM_WEBHOOK = credentials('public-jenkins-builder') + } + + triggers { + pollSCM('@midnight') + } + + stages { + stage('Prepare') { + steps { + step([$class: 'WsCleanup']) + checkout([$class: 'GitSCM', + branches: [[name: 'refs/heads/master']], + extensions: [[$class: 'SubmoduleOption', + disableSubmodules: false, + parentCredentials: false, + recursiveSubmodules: true, + reference: '', + trackingSubmodules: false], + [$class: 'LocalBranch', + localBranch: "**"]], + userRemoteConfigs: [[url: 'http://github.com/Azure/sonic-buildimage']]]) + } + } + + stage('Build') { + steps { + sh '''#!/bin/bash -xe + +git submodule foreach --recursive '[ -f .git ] && echo "gitdir: $(realpath --relative-to=. $(cut -d" " -f2 .git))" > .git' + +make configure PLATFORM=marvell-armhf PLATFORM_ARCH=armhf +make SONIC_CONFIG_BUILD_JOBS=1 INSTALL_DEBUG_TOOLS=y target/sonic-marvell-armhf.bin +mv target/sonic-marvell-armhf.bin target/sonic-marvell-armhf-dbg.bin +make SONIC_CONFIG_BUILD_JOBS=1 target/sonic-marvell-armhf.bin +''' + } + } + + } + post { + + success { + archiveArtifacts(artifacts: 'target/**') + } + fixed { + slackSend(color:'#00FF00', message: "Build job back to normal: ${env.JOB_NAME} ${env.BUILD_NUMBER} (<${env.BUILD_URL}|Open>)") + office365ConnectorSend(webhookUrl: "${env.SONIC_TEAM_WEBHOOK}") + } + regression { + slackSend(color:'#FF0000', message: "Build job Regression: ${env.JOB_NAME} ${env.BUILD_NUMBER} (<${env.BUILD_URL}|Open>)") + office365ConnectorSend(webhookUrl: "${env.SONIC_TEAM_WEBHOOK}") + } + cleanup { + cleanWs(disableDeferredWipeout: false, deleteDirs: true, notFailBuild: true) + } + } +}