Mercurial > hgrepos > Python2 > PyMuPDF
comparison mupdf-source/thirdparty/harfbuzz/.circleci/config.yml @ 2:b50eed0cc0ef upstream
ADD: MuPDF v1.26.7: the MuPDF source as downloaded by a default build of PyMuPDF 1.26.4.
The directory name has changed: no version number in the expanded directory now.
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Mon, 15 Sep 2025 11:43:07 +0200 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| 1:1d09e1dec1d9 | 2:b50eed0cc0ef |
|---|---|
| 1 version: 2.1 | |
| 2 | |
| 3 executors: | |
| 4 win32-executor: | |
| 5 docker: | |
| 6 - image: cimg/base:edge-20.04 | |
| 7 win64-executor: | |
| 8 docker: | |
| 9 - image: cimg/base:edge-20.04 | |
| 10 autotools-executor: | |
| 11 docker: | |
| 12 - image: cimg/base:edge-20.04 | |
| 13 | |
| 14 jobs: | |
| 15 | |
| 16 macos-aat-fonts: | |
| 17 macos: | |
| 18 xcode: "12.5.1" | |
| 19 steps: | |
| 20 - checkout | |
| 21 - run: HOMEBREW_NO_AUTO_UPDATE=1 brew install pkg-config ragel freetype glib cairo python3 icu4c graphite2 gobject-introspection gtk-doc ninja | |
| 22 - run: pip3 install meson --upgrade | |
| 23 - run: PKG_CONFIG_PATH="/usr/local/opt/icu4c/lib/pkgconfig:/usr/local/opt/libffi/lib/pkgconfig" meson build -Dcoretext=enabled -Dgraphite=enabled -Dauto_features=enabled -Dchafa=disabled | |
| 24 - run: meson compile -Cbuild | |
| 25 - run: meson test -Cbuild --print-errorlogs | |
| 26 - store_artifacts: | |
| 27 path: build/meson-logs/ | |
| 28 | |
| 29 # will be dropped with autotools removal | |
| 30 distcheck: | |
| 31 executor: autotools-executor | |
| 32 steps: | |
| 33 - checkout | |
| 34 - run: sudo apt update && DEBIAN_FRONTEND=noninteractive sudo apt install -y git ninja-build binutils libtool autoconf automake make gcc g++ pkg-config ragel gtk-doc-tools gobject-introspection libfreetype6-dev libglib2.0-dev libgirepository1.0-dev libcairo2-dev libicu-dev libgraphite2-dev python3 python3-pip | |
| 35 - run: pip3 install fonttools meson --upgrade | |
| 36 - run: ./autogen.sh | |
| 37 - run: make -j2 distcheck | |
| 38 - run: rm harfbuzz-* && make distdir | |
| 39 - run: cd harfbuzz-* && meson build && ninja -j2 -Cbuild test | |
| 40 - run: make dist | |
| 41 - persist_to_workspace: | |
| 42 root: . | |
| 43 paths: harfbuzz-*.tar.xz | |
| 44 | |
| 45 publish-dist: | |
| 46 executor: autotools-executor | |
| 47 steps: | |
| 48 - checkout | |
| 49 - attach_workspace: | |
| 50 at: . | |
| 51 - run: | | |
| 52 .ci/publish_release_artifact.sh harfbuzz-$CIRCLE_TAG.tar.xz | |
| 53 | |
| 54 fedora-valgrind: | |
| 55 docker: | |
| 56 - image: fedora:36 | |
| 57 steps: | |
| 58 - checkout | |
| 59 - run: dnf install -y pkg-config ragel valgrind gcc gcc-c++ meson git glib2-devel freetype-devel cairo-devel libicu-devel gobject-introspection-devel graphite2-devel redhat-rpm-config python python-pip || true | |
| 60 - run: meson build --buildtype=debugoptimized | |
| 61 - run: ninja -Cbuild -j9 | |
| 62 # TOOD: increase timeouts and remove --no-suite=slow | |
| 63 - run: RUN_VALGRIND=1 meson test -Cbuild --no-suite=slow --wrap='valgrind --leak-check=full --error-exitcode=1' --print-errorlogs --num-processes=$(($(nproc)/2 + 1)) | |
| 64 | |
| 65 alpine: | |
| 66 docker: | |
| 67 - image: alpine | |
| 68 steps: | |
| 69 - checkout | |
| 70 - run: apk update && apk add ragel gcc g++ glib-dev freetype-dev cairo-dev git py3-pip ninja | |
| 71 - run: pip3 install meson==0.56.0 | |
| 72 - run: meson build --buildtype=minsize | |
| 73 - run: ninja -Cbuild -j9 | |
| 74 - run: meson test -Cbuild --print-errorlogs | |
| 75 | |
| 76 archlinux: | |
| 77 docker: | |
| 78 - image: archlinux/base | |
| 79 steps: | |
| 80 - checkout | |
| 81 - run: pacman --noconfirm -Syu freetype2 meson git clang cairo icu gettext gobject-introspection gcc gcc-libs glib2 graphite pkg-config ragel python python-pip base-devel gtk-doc | |
| 82 - run: pip install flake8 fonttools | |
| 83 - run: flake8 . --count --select=E901,E999,F821,F822,F823 --show-source --statistics | |
| 84 - run: meson build -Dgraphite=enabled -Dauto_features=enabled -Dexperimental_api=true | |
| 85 - run: meson compile -Cbuild -j9 | |
| 86 - run: meson test -Cbuild --print-errorlogs | |
| 87 - run: meson dist -Cbuild | |
| 88 - run: clang -c src/harfbuzz.cc -DHB_NO_MT | |
| 89 - run: clang -c src/hb-*.cc -DHB_NO_MT -DHB_TINY -DHB_NO_OT_FONT | |
| 90 | |
| 91 asan-ubsan: | |
| 92 docker: | |
| 93 - image: ubuntu:20.04 | |
| 94 steps: | |
| 95 - checkout | |
| 96 - run: apt update || true | |
| 97 - run: DEBIAN_FRONTEND=noninteractive apt install -y python3 python3-pip ninja-build clang lld git binutils pkg-config ragel libfreetype6-dev libglib2.0-dev libcairo2-dev libicu-dev libgraphite2-dev | |
| 98 - run: pip3 install meson==0.56.0 | |
| 99 - run: CC=clang CXX=clang++ meson build --default-library=static -Db_sanitize=address,undefined --buildtype=debugoptimized --wrap-mode=nodownload -Dexperimental_api=true | |
| 100 - run: ninja -Cbuild -j8 && meson test -Cbuild --print-errorlogs | asan_symbolize | c++filt | |
| 101 | |
| 102 tsan: | |
| 103 docker: | |
| 104 - image: ubuntu:20.04 | |
| 105 steps: | |
| 106 - checkout | |
| 107 - run: apt update || true | |
| 108 - run: DEBIAN_FRONTEND=noninteractive apt install -y python3 python3-pip ninja-build clang lld git binutils pkg-config ragel libfreetype6-dev libglib2.0-dev libcairo2-dev libicu-dev libgraphite2-dev | |
| 109 - run: pip3 install meson==0.56.0 | |
| 110 - run: CC=clang CXX=clang++ meson build --default-library=static -Db_sanitize=thread --buildtype=debugoptimized --wrap-mode=nodownload -Dexperimental_api=true | |
| 111 - run: ninja -Cbuild -j8 && meson test -Cbuild --print-errorlogs | asan_symbolize | c++filt | |
| 112 | |
| 113 msan: | |
| 114 docker: | |
| 115 - image: ubuntu:20.04 | |
| 116 steps: | |
| 117 - checkout | |
| 118 - run: apt update || true | |
| 119 - run: DEBIAN_FRONTEND=noninteractive apt install -y python3 python3-pip ninja-build clang lld git binutils pkg-config ragel libfreetype6-dev libglib2.0-dev libcairo2-dev libicu-dev libgraphite2-dev | |
| 120 - run: pip3 install meson==0.56.0 | |
| 121 # msan, needs --force-fallback-for=glib,freetype2 also which doesn't work yet but runs fuzzer cases at least | |
| 122 - run: CC=clang CXX=clang++ meson build --default-library=static -Db_sanitize=memory --buildtype=debugoptimized --wrap-mode=nodownload -Dauto_features=disabled -Dtests=enabled -Dexperimental_api=true | |
| 123 - run: ninja -Cbuild -j8 && meson test -Cbuild --print-errorlogs | asan_symbolize | c++filt | |
| 124 | |
| 125 clang-cxx2a: | |
| 126 docker: | |
| 127 - image: ubuntu:20.04 | |
| 128 steps: | |
| 129 - checkout | |
| 130 - run: apt update || true | |
| 131 - run: DEBIAN_FRONTEND=noninteractive apt install -y clang lld git binutils | |
| 132 - run: clang -c src/harfbuzz-subset.cc -DHB_NO_MT -Werror -std=c++2a | |
| 133 | |
| 134 crossbuild-win32: | |
| 135 executor: win32-executor | |
| 136 steps: | |
| 137 - checkout | |
| 138 - run: sudo apt update && DEBIAN_FRONTEND=noninteractive sudo apt install -y ninja-build gtk-doc-tools python3 python3-pip git g++-mingw-w64-i686 zip | |
| 139 - run: pip3 install meson==0.60.0 | |
| 140 - run: .ci/build-win32.sh | |
| 141 - store_artifacts: | |
| 142 path: harfbuzz-win32.zip | |
| 143 - persist_to_workspace: | |
| 144 root: . | |
| 145 paths: harfbuzz-win32.zip | |
| 146 | |
| 147 publish-win32: | |
| 148 executor: win32-executor | |
| 149 steps: | |
| 150 - checkout | |
| 151 - attach_workspace: | |
| 152 at: . | |
| 153 - run: | | |
| 154 mv harfbuzz-win32{,-$CIRCLE_TAG}.zip | |
| 155 .ci/publish_release_artifact.sh harfbuzz-win32-$CIRCLE_TAG.zip | |
| 156 | |
| 157 crossbuild-win64: | |
| 158 executor: win64-executor | |
| 159 steps: | |
| 160 - checkout | |
| 161 - run: sudo apt update && DEBIAN_FRONTEND=noninteractive sudo apt install -y ninja-build gtk-doc-tools python3 python3-pip git g++-mingw-w64-x86-64 zip | |
| 162 - run: pip3 install meson==0.60.0 | |
| 163 - run: bash .ci/build-win64.sh | |
| 164 - store_artifacts: | |
| 165 path: harfbuzz-win64.zip | |
| 166 - persist_to_workspace: | |
| 167 root: . | |
| 168 paths: harfbuzz-win64.zip | |
| 169 | |
| 170 publish-win64: | |
| 171 executor: win64-executor | |
| 172 steps: | |
| 173 - checkout | |
| 174 - attach_workspace: | |
| 175 at: . | |
| 176 - run: | | |
| 177 mv harfbuzz-win64{,-$CIRCLE_TAG}.zip | |
| 178 .ci/publish_release_artifact.sh harfbuzz-win64-$CIRCLE_TAG.zip | |
| 179 | |
| 180 | |
| 181 workflows: | |
| 182 version: 2 | |
| 183 | |
| 184 build: | |
| 185 jobs: | |
| 186 - macos-aat-fonts | |
| 187 - distcheck: | |
| 188 filters: # must have filter or won't work as a dependency | |
| 189 tags: | |
| 190 only: /.*/ | |
| 191 - publish-dist: | |
| 192 requires: | |
| 193 - distcheck | |
| 194 filters: | |
| 195 tags: | |
| 196 only: /^\d+\.\d+\.\d+$/ | |
| 197 branches: | |
| 198 ignore: /.*/ | |
| 199 - fedora-valgrind | |
| 200 - alpine | |
| 201 #- archlinux | |
| 202 - asan-ubsan | |
| 203 - tsan | |
| 204 - msan | |
| 205 - clang-cxx2a | |
| 206 - crossbuild-win32: | |
| 207 filters: # must have filter or won't work as a dependency | |
| 208 tags: | |
| 209 only: /.*/ | |
| 210 - crossbuild-win64: | |
| 211 filters: # must have filter or won't work as a dependency | |
| 212 tags: | |
| 213 only: /.*/ | |
| 214 - publish-win32: | |
| 215 requires: | |
| 216 - crossbuild-win32 | |
| 217 filters: | |
| 218 tags: | |
| 219 only: /^\d+\.\d+\.\d+$/ | |
| 220 branches: | |
| 221 ignore: /.*/ | |
| 222 - publish-win64: | |
| 223 requires: | |
| 224 - crossbuild-win64 | |
| 225 filters: | |
| 226 tags: | |
| 227 only: /^\d+\.\d+\.\d+$/ | |
| 228 branches: | |
| 229 ignore: /.*/ |
