Skip to content

Add dockerfile for build environment #1049

Add dockerfile for build environment

Add dockerfile for build environment #1049

Workflow file for this run

name: Linux
on:
push:
paths-ignore:
- 'docs/**'
- 'packaging/**'
- 'util/**'
- 'uml/**'
- '**.md'
- '**.svg'
- '**.png'
branches-ignore:
- 'noactions/*'
pull_request:
paths-ignore:
- 'docs/**'
- 'packaging/**'
- 'util/**'
- 'uml/**'
- '**.md'
- '**.svg'
- '**.png'
branches-ignore:
- 'noactions/*'
jobs:
build-ubuntu:
runs-on: ubuntu-24.04
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Update package database
run: sudo apt -y update
- name: ccache
uses: hendrikmuhs/ccache-action@v1.2
with:
max-size: "2000M"
- name: Install deps
run: sudo apt -y install git make grcov ninja-build pkg-config gcc g++ ccache cmake libyaml-cpp-dev llvm-18 clang-18 libclang-18-dev libclang-cpp18-dev clang-tools-18 clang-format-18 lcov zlib1g-dev libunwind-dev libdw-dev gnustep-back-common libgnustep-base-dev gnustep-make
- name: Check code formatting
run: |
make check-formatting
- name: Build and unit test
run: |
CC=/usr/bin/clang-18 CXX=/usr/bin/clang++-18 LLVM_VERSION=18 NUMPROC=2 CMAKE_GENERATOR=Ninja CODE_COVERAGE=ON LLVM_VERSION=18 ENABLE_CXX_MODULES_TEST_CASES=ON ENABLE_CUDA_TEST_CASES=OFF ENABLE_OBJECTIVE_C_TEST_CASES=ON FETCH_LIBOBJC2=ON CLANG_UML_ENABLE_BACKTRACE=ON make test
- name: Run coverage
run: |
grcov --llvm --binary-path debug --output-path coverage.info -t lcov --keep-only 'src/*' --source-dir . --ignore src/main.cc --ignore src/common/generators/generators.cc .
lcov --ignore-errors inconsistent -l coverage.info
- name: Upload coverage
uses: codecov/codecov-action@v3
with:
files: coverage.info
disable_search: true
name: clang-uml
token: ${{ secrets.CODECOV_TOKEN }}
fail_ci_if_error: false