Initial Jenkins setup
This commit is contained in:
		
							
								
								
									
										82
									
								
								Jenkinsfile
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										82
									
								
								Jenkinsfile
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,82 @@
 | 
			
		||||
node {
 | 
			
		||||
    checkout([
 | 
			
		||||
        $class: 'GitSCM',
 | 
			
		||||
        branches: [[name: '*/develop']],
 | 
			
		||||
        browser: [$class: 'GogsGit', repoUrl: ''],
 | 
			
		||||
        doGenerateSubmoduleConfigurations: false,
 | 
			
		||||
        extensions: [
 | 
			
		||||
            [
 | 
			
		||||
                $class: 'SubmoduleOption',
 | 
			
		||||
                disableSubmodules: false,
 | 
			
		||||
                parentCredentials: false,
 | 
			
		||||
                recursiveSubmodules: true,
 | 
			
		||||
                reference: '',
 | 
			
		||||
                trackingSubmodules: true
 | 
			
		||||
            ],
 | 
			
		||||
            [$class: 'CleanBeforeCheckout'],
 | 
			
		||||
            [$class: 'WipeWorkspace'],
 | 
			
		||||
            [$class: 'RelativeTargetDirectory', relativeTargetDir: 'HIFIVE1-VP']
 | 
			
		||||
        ],
 | 
			
		||||
        submoduleCfg: [],
 | 
			
		||||
        userRemoteConfigs: [[
 | 
			
		||||
            credentialsId: 'gitea-jenkins',
 | 
			
		||||
            url: 'https://git.minres.com/VP/HIFIVE1-VP.git'
 | 
			
		||||
        ]]
 | 
			
		||||
    ])
 | 
			
		||||
    stage('build VP ubuntu/18.04'){
 | 
			
		||||
		def ubuntu = docker.image('ubuntu-18.04')
 | 
			
		||||
		ubuntu.inside('-u jenkins') {
 | 
			
		||||
            try {
 | 
			
		||||
                sh("conan profile new default --detect --force")
 | 
			
		||||
		        sh("conan profile update settings.compiler.libcxx=libstdc++11 default")
 | 
			
		||||
		        sh("conan remote add minres https://api.bintray.com/conan/minres/conan-repo")
 | 
			
		||||
		        sh("conan remote add bincrafters https://api.bintray.com/conan/bincrafters/public-conan")
 | 
			
		||||
            }
 | 
			
		||||
            catch (exc) {
 | 
			
		||||
                echo 'Conan configured'
 | 
			
		||||
            }
 | 
			
		||||
            sh("rm -rf HIFIVE1-VP/build-ubuntu")
 | 
			
		||||
            sh("mkdir -p HIFIVE1-VP/build-ubuntu")
 | 
			
		||||
            sh("cd HIFIVE1-VP && git submodule update --recursive")
 | 
			
		||||
            sh("cd HIFIVE1-VP/build-ubuntu && MAKE_FLAGS='-j4' cmake .. && make -j4")
 | 
			
		||||
			fingerprint 'HIFIVE1-VP/build-ubuntu/bin/riscv.vp'
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	stage('build VP fedora/28'){
 | 
			
		||||
		def centos = docker.image('fedora28')
 | 
			
		||||
		centos.inside('-u jenkins') {
 | 
			
		||||
            try {
 | 
			
		||||
                sh("conan profile new default --detect --force")
 | 
			
		||||
		        sh("conan profile update settings.compiler.libcxx=libstdc++11 default")
 | 
			
		||||
		        sh("conan remote add minres https://api.bintray.com/conan/minres/conan-repo")
 | 
			
		||||
		        sh("conan remote add bincrafters https://api.bintray.com/conan/bincrafters/public-conan")
 | 
			
		||||
            }
 | 
			
		||||
            catch (exc) {
 | 
			
		||||
                echo 'Conan configured'
 | 
			
		||||
            }
 | 
			
		||||
            sh("rm -rf HIFIVE1-VP/build-fedora")
 | 
			
		||||
            sh("mkdir HIFIVE1-VP/build-fedora")
 | 
			
		||||
			sh("cd HIFIVE1-VP/build-fedora && MAKE_FLAGS='-j4' cmake .. && make -j4")
 | 
			
		||||
			fingerprint 'HIFIVE1-VP/build-fedora/bin/riscv.vp'
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
    stage('build VP without SCV'){
 | 
			
		||||
		def ubuntu = docker.image('ubuntu-18.04')
 | 
			
		||||
		ubuntu.inside('-u jenkins') {
 | 
			
		||||
            try {
 | 
			
		||||
                sh("conan profile new default --detect --force")
 | 
			
		||||
		        sh("conan profile update settings.compiler.libcxx=libstdc++11 default")
 | 
			
		||||
		        sh("conan remote add minres https://api.bintray.com/conan/minres/conan-repo")
 | 
			
		||||
		        sh("conan remote add bincrafters https://api.bintray.com/conan/bincrafters/public-conan")
 | 
			
		||||
            }
 | 
			
		||||
            catch (exc) {
 | 
			
		||||
                echo 'Conan configured'
 | 
			
		||||
            }
 | 
			
		||||
            sh("rm -rf HIFIVE1-VP/build-ubuntu")
 | 
			
		||||
            sh("mkdir -p HIFIVE1-VP/build-ubuntu")
 | 
			
		||||
            sh("cd HIFIVE1-VP && git submodule update --recursive")
 | 
			
		||||
    		sh("cd  HIFIVE1-VP/build-ubuntu && MAKE_FLAGS='-j4' cmake .. -DENABLE_SCV=FALSE && make -j4")
 | 
			
		||||
			fingerprint 'HIFIVE1-VP/build-ubuntu/bin/riscv.vp'
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user