~alextee/zrythm

ref: v1.0.0-beta.3.0.1 zrythm/.builds/archlinux.yml -rw-r--r-- 4.1 KiB
dfeb6558Alexandros Theodotou release-beta: bump to beta 3.0 5 months ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
# SPDX-FileCopyrightText: © 2019-2022 Alexandros Theodotou <alex at zrythm dot org>
# SPDX-License-Identifier: FSFAP
image: archlinux
packages:
  - alsa-lib
  - binutils
  - boost
  - carla
  - clang
  - cmake
  - chromaprint
  - cppcheck
  - dpf-plugins
  - faust
  - fftw
  - ffmpeg
  - gtk3
  - gettext
  - gcovr
  - gdb
  - graphviz
  - graphene
  - gtksourceview5
  - helm-synth
  - help2man
  - jack
  - jq
  - ladspa
  - lilv
  - libx11
  - libsndfile
  - libyaml
  - libsamplerate
  #- lcov
  - lv2
  - meson
  - ninja
  - npm
  - pcre2
  - python
  - python-sphinx
  - python-pip
  - reuse
  - rubberband
  - rtaudio
  - ruby-sass
  - sassc
  - sed
  - sfizz
  - suil
  - valgrind
  - vamp-plugin-sdk
  - vim
  - wayland-protocols
  - x42-plugins
  - xdg-utils
  - xxhash
  - zstd
sources:
  - https://git.sr.ht/~alextee/zrythm
  - https://github.com/mesonbuild/meson
secrets:
  - 063cb70d-6da6-492a-b530-04edc07651ba
  - ffff20bf-6fd3-40d6-b26a-92f6c8dc1fcf
  - 3130f7d4-8378-4a73-a096-d86ca760f937
tasks:
  - setup: |
      sudo pip3 install sphinx-intl sphinx-copybutton furo sphinxcontrib-svg2pdfconverter
      pip3 install --user 'meson' --force-reinstall
      cd zrythm
      meson build -Dtests=true -Dmanpage=true -Db_coverage=true
  - build: |
      cd zrythm
      ninja -C build
  - check-licenses: |
      cd zrythm
      reuse lint || true # pass for now
  - check-format: |
      cd zrythm
      ninja -C build clang-format-check
  - test: |
      cd zrythm
      meson test -C build --no-suite=skip-ci --no-suite=pango --no-suite=gtksourceview5
  - gen-coverage-report: |
      cd zrythm
      ninja -C build coverage-text
      cat build/meson-logs/coverage.txt
      ninja -C build coverage-html
      set +x
      #. ~/.ssh_home
      #scp -q -o StrictHostKeyChecking=no -r build/meson-logs/coveragereport "srht@www.zrythm.org:$SSH_HOME/coverage/${JOB_ID}-$(git rev-parse --short HEAD)-report" >/dev/null 2>&1
      set -x
  - test-no-jack-sanitize: |
      cd zrythm
      meson build --reconfigure -Dgraphviz=enabled -Djack=disabled -Db_sanitize=address
      meson test -C build --no-suite=skip-ci --no-suite=pango --no-suite=gtksourceview5
  - run_cppcheck: |
      cd zrythm
      # pass for now
      #ninja -C build cppcheck || true
      ninja -C build clang-tidy || true
  - test-optimized-build: |
      rm -rf /tmp/lv2* /tmp/zrythm*
      cd zrythm
      meson build --reconfigure -Dsdl=enabled -Drtaudio=disabled -Drtmidi=disabled -Doptimization=3
      meson test -C build --no-suite=skip-ci --no-suite=pango --no-suite=gtksourceview5
  - test-strict-flags-trial: |
      rm -rf /tmp/lv2* /tmp/zrythm*
      cd zrythm
      meson build --reconfigure -Dgraphviz=disabled -Dtrial_ver=true -Dstrict_flags=true -Ddseg_font=false
      meson test -C build --no-suite=skip-ci --no-suite=pango --no-suite=gtksourceview5
  - test-user-manual-valgrind: |
      rm -rf /tmp/lv2* /tmp/zrythm*
      cd zrythm
      meson compile --clean -C build
      meson build --reconfigure -Duser_manual=true -Doptimization=2
      # VM runs out of RAM otherwise
      ninja -C build -j 2
      meson test -C build --no-suite=skip-ci --no-suite=pango --no-suite=gtksourceview5 --wrap="valgrind --suppressions=`pwd`/tools/vg.sup  --gen-suppressions=all --error-exitcode=1 --exit-on-first-error=yes" -t 3 || cat build/meson-logs/testlog-valgrind.txt
  - test-optimization-s: |
      rm -rf /tmp/lv2* /tmp/zrythm*
      cd zrythm
      meson compile --clean -C build
      meson build --reconfigure -Drtaudio=auto -Drtmidi=disabled -Doptimization=s -Dguile=disabled
      # VM runs out of RAM otherwise
      ninja -C build -j 2
      meson test -C build --no-suite=skip-ci --no-suite=pango --no-suite=gtksourceview5 || cat build/meson-logs/testlog.txt
  - install-destdir: |
      cd zrythm
      DESTDIR=/tmp ninja -C build install
      glib-compile-schemas /tmp/usr/local/share/glib-2.0/schemas
      GSETTINGS_SCHEMA_DIR=/tmp/usr/local/share/glib-2.0/schemas /tmp/usr/local/bin/zrythm_launch --version | grep "built with"
  - install-sudo: |
      cd zrythm
      sudo ninja -C build install
      /usr/local/bin/zrythm_launch --version | grep "built with"