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