From e69f9aeeb093d6685807223d7296ea888622923b Mon Sep 17 00:00:00 2001 From: Hanspeter Portner Date: Sat, 13 May 2023 12:22:59 +0200 Subject: [PATCH] Migrate ci recipe to use ci repo --- .builds/alpine-latest.yml | 57 +++++++++++++++++++++++++++++++-------- meson.build | 37 ++++++++++++++++--------- meson_options.txt | 4 +-- 3 files changed, 72 insertions(+), 26 deletions(-) diff --git a/.builds/alpine-latest.yml b/.builds/alpine-latest.yml index fe5c3c6..6c3e407 100644 --- a/.builds/alpine-latest.yml +++ b/.builds/alpine-latest.yml @@ -6,8 +6,15 @@ image: alpine/latest packages: + - clang15-analyzer + - llvm15 - reuse - meson + - git-subtree + - hut + - jq + - valgrind + - lv2-dev - serd-dev - sord-dev @@ -16,18 +23,46 @@ packages: environment: project: netatom.lv2 +secrets: + - 0545580c-42ac-4700-b322-4e9df924eb07 # runner-ssh + - 5fe806cd-3af4-4588-9898-8115d9262144 # hut-config + - d6d10b2a-542a-4b45-b1be-6ef30a8ab558 # git-config + +sources: + - https://git.open-music-kontrollers.ch/~hp/ci + tasks: - - setup: | - cd "${project}" - meson setup build \ - -Dbuildtype=release \ - -Dbuild-tests=true - - build: | - cd "${project}" - ninja -C build install - - test: | - cd "${project}" - ninja -C build test + - gcc: | + . ~/ci/activate + + ci-meson gcc setup + ci-meson gcc build + ci-meson gcc test + ci-meson gcc memcheck + + - clang: | + . ~/ci/activate + + ci-meson clang setup + ci-meson clang build + ci-meson clang test + ci-meson clang memcheck + + - analyzer: | + . ~/ci/activate + + ci-meson analyzer setup + ci-meson analyzer build + ci-meson analyzer test + + - deploy: | + . ~/ci/activate + + if ! ci-isrelease; then + complete-build + fi + + ci-subtreemerge triggers: - action: email diff --git a/meson.build b/meson.build index 4359e03..a01e898 100644 --- a/meson.build +++ b/meson.build @@ -17,17 +17,18 @@ add_project_arguments('-D_GNU_SOURCE', language : 'c') cc = meson.get_compiler('c') lv2_dep = dependency('lv2') -serd_dep = dependency('serd-0', version : '>= 0.30.0', required : build_tests) -sord_dep = dependency('sord-0', version : '>= 0.16.0', required : build_tests) -sratom_dep = dependency('sratom-0', version : '>= 0.6.0', required : build_tests) -lib_deps = [lv2_dep] +lib_deps = [ + lv2_dep +] -lib_incs = [] -lib_incs += include_directories('') +lib_incs = [ + include_directories('') +] -lib_srcs = [] -lib_srcs += join_paths('src', 'netatom.c') +lib_srcs = [ + join_paths('src', 'netatom.c') +] netatom_lv2 = declare_dependency( include_directories : lib_incs, @@ -35,11 +36,20 @@ netatom_lv2 = declare_dependency( sources : lib_srcs) if build_tests - test_deps = [serd_dep, sord_dep, sratom_dep] - test_deps += netatom_lv2 + serd_dep = dependency('serd-0', version : '>= 0.30.0', required : build_tests) + sord_dep = dependency('sord-0', version : '>= 0.16.0', required : build_tests) + sratom_dep = dependency('sratom-0', version : '>= 0.6.0', required : build_tests) - test_srcs = [] - test_srcs += join_paths('test', 'test.c') + test_deps = [ + serd_dep, + sord_dep, + sratom_dep, + netatom_lv2 + ] + + test_srcs = [ + join_paths('test', 'test.c') + ] test_netatom = executable('Test', test_srcs, dependencies : test_deps, @@ -47,7 +57,8 @@ if build_tests test('Test', test_netatom, args : ['128'], - timeout : 360) # seconds + timeout : 360, # seconds + suite : ['memcheck']) if reuse.found() test('REUSE', reuse, args : [ diff --git a/meson_options.txt b/meson_options.txt index c8949da..179e1af 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -3,7 +3,7 @@ option('build-tests', type : 'boolean', - value : false, - yield : true) + value : true, + yield : true) option('version', type : 'string', value : '0.1.79') -- 2.38.5