mirror of
				https://github.com/lxsang/silk.git
				synced 2025-10-31 10:26:19 +01:00 
			
		
		
		
	fix(CI): use cross toolchain
	
		
			
	
		
	
	
		
	
		
			All checks were successful
		
		
	
	
		
			
				
	
				gitea-sync/silk/pipeline/head This commit looks good
				
			
		
		
	
	
				
					
				
			
		
			All checks were successful
		
		
	
	gitea-sync/silk/pipeline/head This commit looks good
				
			This commit is contained in:
		
							
								
								
									
										84
									
								
								Jenkinsfile
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										84
									
								
								Jenkinsfile
									
									
									
									
										vendored
									
									
								
							| @@ -1,22 +1,41 @@ | ||||
| def build_plugin() | ||||
| def build_lib() | ||||
| { | ||||
|   sh ''' | ||||
|   set -e | ||||
|   cd $WORKSPACE | ||||
|   mkdir -p build/$arch/opt/www | ||||
|   [ -f Makefile ] && make clean || true | ||||
|   mkdir -p build/$arch/ | ||||
|   [ -f Makefile ] && make clean | ||||
|   case $arch in | ||||
|     amd64|x86_64) | ||||
|         HOST= | ||||
|         ;; | ||||
|     aarch64|arm64) | ||||
|         HOST=--host=aarch64-linux-gnu | ||||
|         ;; | ||||
|     armv7l|arm) | ||||
|         HOST=--host=arm-linux-gnueabihf | ||||
|         ;; | ||||
|     *) | ||||
|         echo "Unkown architecture" | ||||
|         exit 1 | ||||
|         ;; | ||||
|   esac | ||||
|   libtoolize | ||||
|   aclocal | ||||
|   autoconf | ||||
|   automake --add-missing | ||||
|   ./configure  --prefix=/opt/www | ||||
|   make | ||||
|   ./configure $HOST --prefix=/usr | ||||
|   DESTDIR=$WORKSPACE/build/$arch make install | ||||
|   ''' | ||||
| } | ||||
|  | ||||
| pipeline{ | ||||
|   agent { node{ label'master' }} | ||||
|   agent { | ||||
|     docker { | ||||
|       image 'xsangle/ci-tools:latest' | ||||
|       reuseNode true | ||||
|     } | ||||
|   } | ||||
|   options { | ||||
|     // Limit build history with buildDiscarder option: | ||||
|     // daysToKeepStr: history is only kept up to this many days. | ||||
| @@ -27,7 +46,7 @@ pipeline{ | ||||
|     // Enable timestamps in build log console | ||||
|     timestamps() | ||||
|     // Maximum time to run the whole pipeline before canceling it | ||||
|     timeout(time: 3, unit: 'HOURS') | ||||
|     timeout(time: 1, unit: 'HOURS') | ||||
|     // Use Jenkins ANSI Color Plugin for log console | ||||
|     ansiColor('xterm') | ||||
|     // Limit build concurrency to 1 per branch | ||||
| @@ -35,70 +54,43 @@ pipeline{ | ||||
|   } | ||||
|   stages | ||||
|   { | ||||
|     stage('Prepare dependencies') | ||||
|     { | ||||
|     stage('Prepare') { | ||||
|       steps { | ||||
|          copyArtifacts(projectName: 'gitea-sync/ant-http/master', target: 'antd'); | ||||
|           sh''' | ||||
|           make clean || true | ||||
|           rm -rf build/* || true | ||||
|           mkdir build || true | ||||
|           ''' | ||||
|       } | ||||
|     } | ||||
|     stage('Build AMD64') { | ||||
|       agent { | ||||
|           docker { | ||||
|               image 'xsangle/ci-tools:bionic-amd64' | ||||
|               // Run the container on the node specified at the | ||||
|               // top-level of the Pipeline, in the same workspace, | ||||
|               // rather than on a new node entirely: | ||||
|               reuseNode true | ||||
|               registryUrl 'http://workstation:5000/' | ||||
|           } | ||||
|       } | ||||
|       steps { | ||||
|         script{ | ||||
|           env.arch = "amd64" | ||||
|         } | ||||
|         build_plugin() | ||||
|         build_lib() | ||||
|       } | ||||
|     } | ||||
|     stage('Build ARM64') { | ||||
|       agent { | ||||
|           docker { | ||||
|               image 'xsangle/ci-tools:bionic-arm64' | ||||
|               // Run the container on the node specified at the | ||||
|               // top-level of the Pipeline, in the same workspace, | ||||
|               // rather than on a new node entirely: | ||||
|               reuseNode true | ||||
|               registryUrl 'http://workstation:5000/' | ||||
|           } | ||||
|       } | ||||
|       steps { | ||||
|         script{ | ||||
|           env.arch = "arm64" | ||||
|         } | ||||
|         build_plugin() | ||||
|         build_lib() | ||||
|       } | ||||
|     } | ||||
|     stage('Build ARM') { | ||||
|       agent { | ||||
|           docker { | ||||
|               image 'xsangle/ci-tools:bionic-arm' | ||||
|               // Run the container on the node specified at the | ||||
|               // top-level of the Pipeline, in the same workspace, | ||||
|               // rather than on a new node entirely: | ||||
|               reuseNode true | ||||
|               registryUrl 'http://workstation:5000/' | ||||
|           } | ||||
|       } | ||||
|       steps { | ||||
|         script{ | ||||
|           env.arch = "arm" | ||||
|         } | ||||
|         build_plugin() | ||||
|         build_lib() | ||||
|       } | ||||
|     } | ||||
|     stage('Archive') { | ||||
|       steps { | ||||
|     stage("Archive") { | ||||
|       steps{ | ||||
|         script { | ||||
|             archiveArtifacts artifacts: 'build/', fingerprint: true | ||||
|             archiveArtifacts artifacts: 'build/', fingerprint: true, onlyIfSuccessful: true | ||||
|         } | ||||
|       } | ||||
|     } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user