83 lines
1.8 KiB
YAML
83 lines
1.8 KiB
YAML
kind: pipeline
|
|
type: docker
|
|
name: linux_amd64
|
|
|
|
platform:
|
|
os: linux
|
|
arch: amd64
|
|
|
|
workspace:
|
|
path: /opt
|
|
|
|
steps:
|
|
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
|
|
|
|
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
|
|
|
|
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
|
|
|
|
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
|
|
|
|
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
|
|
|
|
name: static_analysis
|
|
image: ubuntu:latest
|
|
commands:
|
|
- echo "[TODO] Implement static analysis"
|
|
|
|
name: run_tests
|
|
image: ubuntu:latest
|
|
commands:
|
|
- echp "[TODO] Implement tests"
|
|
|
|
name: report_coverage
|
|
image: ubuntu:latest
|
|
commands:
|
|
- echp "[TODO] Implement coverage report"
|