cicd: setup drone (#1)
Co-authored-by: light7734 <mail@light7734.com> Reviewed-on: #1
This commit is contained in:
		
							parent
							
								
									c713c9fedd
								
							
						
					
					
						commit
						8dd81708e4
					
				
					 5 changed files with 145 additions and 0 deletions
				
			
		
							
								
								
									
										111
									
								
								.drone.yml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										111
									
								
								.drone.yml
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,111 @@
 | 
				
			||||||
 | 
					kind: pipeline
 | 
				
			||||||
 | 
					type: docker
 | 
				
			||||||
 | 
					name: build_linux_clang_amd64
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					platform:
 | 
				
			||||||
 | 
					  os: linux
 | 
				
			||||||
 | 
					  arch: amd64
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					steps:
 | 
				
			||||||
 | 
					- name: build
 | 
				
			||||||
 | 
					  image: ubuntu:latest
 | 
				
			||||||
 | 
					  commands:
 | 
				
			||||||
 | 
					  - sed -i 's#http://archive.ubuntu.com/ubuntu/#http://ir.archive.ubuntu.com/ubuntu/#g' /etc/apt/sources.list.d/ubuntu.sources
 | 
				
			||||||
 | 
					  - head -n -8 /etc/apt/sources.list.d/ubuntu.sources > tmp && mv tmp /etc/apt/sources.list.d/ubuntu.sources
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - apt update
 | 
				
			||||||
 | 
					  - apt-get install -y build-essential cmake clang gcc g++ python3 python3-pip python3.12-venv
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - python3 -m venv /opt/venv
 | 
				
			||||||
 | 
					  - . /opt/venv/bin/activate
 | 
				
			||||||
 | 
					  - pip --version
 | 
				
			||||||
 | 
					  - python --version
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - pip install conan==2.5.0
 | 
				
			||||||
 | 
					  - conan --version
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - export CONAN_REVISIONS_ENABLED=1
 | 
				
			||||||
 | 
					  - export CC=$(which clang)
 | 
				
			||||||
 | 
					  - export CXX=$(which clang++)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - conan profile detect
 | 
				
			||||||
 | 
					  - cp ./tools/conan/profiles/linux_clang_amd64 $(conan profile path default)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - conan remote add light https://artifactory.light7734.com/artifactory/api/conan/conan
 | 
				
			||||||
 | 
					  - conan install . --output-folder=build -r light --build=missing
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - cmake -Bbuild -DCMAKE_TOOLCHAIN_FILE=./build/conan_toolchain.cmake -DCMAKE_BUILD_TYPE=Release
 | 
				
			||||||
 | 
					  - cmake --build ./build/
 | 
				
			||||||
 | 
					  - ./build/modules/light/light
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					kind: pipeline
 | 
				
			||||||
 | 
					type: docker
 | 
				
			||||||
 | 
					name: build_linux_gcc_amd64
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					platform:
 | 
				
			||||||
 | 
					  os: linux
 | 
				
			||||||
 | 
					  arch: amd64
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					steps:
 | 
				
			||||||
 | 
					- name: build
 | 
				
			||||||
 | 
					  image: ubuntu:latest
 | 
				
			||||||
 | 
					  commands:
 | 
				
			||||||
 | 
					  - sed -i 's#http://archive.ubuntu.com/ubuntu/#http://ir.archive.ubuntu.com/ubuntu/#g' /etc/apt/sources.list.d/ubuntu.sources
 | 
				
			||||||
 | 
					  - head -n -8 /etc/apt/sources.list.d/ubuntu.sources > tmp && mv tmp /etc/apt/sources.list.d/ubuntu.sources
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - apt update
 | 
				
			||||||
 | 
					  - apt-get install -y build-essential cmake clang gcc g++ python3 python3-pip python3.12-venv
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - python3 -m venv /opt/venv
 | 
				
			||||||
 | 
					  - . /opt/venv/bin/activate
 | 
				
			||||||
 | 
					  - pip --version
 | 
				
			||||||
 | 
					  - python --version
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - pip install conan==2.5.0
 | 
				
			||||||
 | 
					  - conan --version
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - export CONAN_REVISIONS_ENABLED=1
 | 
				
			||||||
 | 
					  - export CC=$(which gcc)
 | 
				
			||||||
 | 
					  - export CXX=$(which g++)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - conan profile detect
 | 
				
			||||||
 | 
					  - cp ./tools/conan/profiles/linux_gcc_amd64 $(conan profile path default)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - conan remote add light https://artifactory.light7734.com/artifactory/api/conan/conan
 | 
				
			||||||
 | 
					  - conan install . --output-folder=build -r light --build=missing
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - cmake -Bbuild -DCMAKE_TOOLCHAIN_FILE=./build/conan_toolchain.cmake -DCMAKE_BUILD_TYPE=Release
 | 
				
			||||||
 | 
					  - cmake --build ./build/
 | 
				
			||||||
 | 
					  - ./build/modules/light/light
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					kind: pipeline
 | 
				
			||||||
 | 
					type: docker
 | 
				
			||||||
 | 
					name: static_analysis
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					platform:
 | 
				
			||||||
 | 
					  os: linux
 | 
				
			||||||
 | 
					  arch: amd64
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					steps:
 | 
				
			||||||
 | 
					- name: analysis
 | 
				
			||||||
 | 
					  image: ubuntu:latest
 | 
				
			||||||
 | 
					  commands:
 | 
				
			||||||
 | 
					    - echo "[TODO] Implement static analysis"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					kind: pipeline
 | 
				
			||||||
 | 
					type: docker
 | 
				
			||||||
 | 
					name: code_coverage
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					platform:
 | 
				
			||||||
 | 
					  os: linux
 | 
				
			||||||
 | 
					  arch: amd64
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					steps:
 | 
				
			||||||
 | 
					- name: analysis
 | 
				
			||||||
 | 
					  image: ubuntu:latest
 | 
				
			||||||
 | 
					  commands:
 | 
				
			||||||
 | 
					    - echo "[TODO] Implement code coverage"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										9
									
								
								tools/conan/profiles/linux_clang_amd64
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								tools/conan/profiles/linux_clang_amd64
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,9 @@
 | 
				
			||||||
 | 
					[settings]
 | 
				
			||||||
 | 
					arch=x86_64
 | 
				
			||||||
 | 
					os=Linux
 | 
				
			||||||
 | 
					compiler=clang
 | 
				
			||||||
 | 
					compiler.version=17
 | 
				
			||||||
 | 
					compiler.cppstd=gnu17
 | 
				
			||||||
 | 
					compiler.libcxx=libstdc++11
 | 
				
			||||||
 | 
					build_type=Release
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										9
									
								
								tools/conan/profiles/linux_clang_arm64
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								tools/conan/profiles/linux_clang_arm64
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,9 @@
 | 
				
			||||||
 | 
					[settings]
 | 
				
			||||||
 | 
					arch=armv8
 | 
				
			||||||
 | 
					os=Linux
 | 
				
			||||||
 | 
					compiler=clang
 | 
				
			||||||
 | 
					compiler.version=17
 | 
				
			||||||
 | 
					compiler.cppstd=gnu17
 | 
				
			||||||
 | 
					compiler.libcxx=libstdc++11
 | 
				
			||||||
 | 
					build_type=Release
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										8
									
								
								tools/conan/profiles/linux_gcc_amd64
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								tools/conan/profiles/linux_gcc_amd64
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,8 @@
 | 
				
			||||||
 | 
					[settings]
 | 
				
			||||||
 | 
					arch=x86_64
 | 
				
			||||||
 | 
					os=Linux
 | 
				
			||||||
 | 
					compiler=gcc
 | 
				
			||||||
 | 
					compiler.version=14
 | 
				
			||||||
 | 
					compiler.cppstd=gnu17
 | 
				
			||||||
 | 
					compiler.libcxx=libstdc++11
 | 
				
			||||||
 | 
					build_type=Release
 | 
				
			||||||
							
								
								
									
										8
									
								
								tools/conan/profiles/linux_gcc_arm64
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								tools/conan/profiles/linux_gcc_arm64
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,8 @@
 | 
				
			||||||
 | 
					[settings]
 | 
				
			||||||
 | 
					arch=armv8
 | 
				
			||||||
 | 
					os=Linux
 | 
				
			||||||
 | 
					compiler=gcc
 | 
				
			||||||
 | 
					compiler.version=14
 | 
				
			||||||
 | 
					compiler.cppstd=gnu17
 | 
				
			||||||
 | 
					compiler.libcxx=libstdc++11
 | 
				
			||||||
 | 
					build_type=Release
 | 
				
			||||||
		Loading…
	
	Add table
		
		Reference in a new issue