light/.drone.yml

98 lines
2.1 KiB
YAML

steps:
- &install_dependencies
name: install_dependencies
image: ubuntu:latest
commands:
- apt update
- apt-get install -y build-essential cmake clang clang-tidy gcc g++ python3 python3-pip python3.12-venv
- &setup_conan
name: setup_conan
image: ubuntu:latest
environment:
CONAN_REVISIONS_ENABLED: "1"
commands:
- python3 -m venv /opt/venv
- . /opt/venv/bin/activate
- pip install conan==2.5.0
- &echo_info
name: echo_info
image: ubuntu:latest
commands:
- pip --version
- python --version
- conan --version
- gcc --version
- g++ --version
- clang --version
- clang++ --version
- clang-tidy --version
- clang-format --version
- &build_gcc
name: build_gcc
image: ubuntu:latest
commands:
- rm -rv ./build
- export CC=$(which gcc)
- export CXX=$(which g++)
- conan profile detect
- cp ./tools/conan/profiles/linux_gcc_amd64 $(conan profile path default)
- conan install . --build=missing
- conan build .
- ./build/Release/modules/light/light
- &build_clang
name: build_clang
image: ubuntu:latest
commands:
- rm -rv ./build
- export CC=$(which clang)
- export CXX=$(which clang++)
- conan profile detect
- cp ./tools/conan/profiles/linux_clang_amd64 $(conan profile path default)
- conan install . --build=missing
- conan build .
- ./build/Release/modules/light/light
- &static_analysis
name: static_analysis
image: ubuntu:latest
commands:
- echo "[TODO] Implement static analysis"
- &run_tests
name: run_tests
image: ubuntu:latest
commands:
- echp "[TODO] Implement tests"
- &report_coverage
name: report_coverage
image: ubuntu:latest
commands:
- echp "[TODO] Implement coverage report"
kind: pipeline
type: docker
name: linux_amd64
platform:
os: linux
arch: amd64
steps:
- *install_dependencies
- *setup_conan
- *echo_info
- *static_analysis
- *build_gcc
- *build_clang
- *report_coverage
- *run_tests