Commit graph

257 commits

Author SHA1 Message Date
Khaled Hosny
ee15f723fd [ci] Remove the unused second argument to build-win.sh 2025-03-18 01:33:23 +02:00
Khaled Hosny
7272abc35e [ci] Merge build-win32.sh and build-win64.sh 2025-03-17 22:03:59 +02:00
Khaled Hosny
e9348cd76d [ci] Port minsize job from Alpine to Ubuntu
Alpine is frequently failing with compiler crashing, but we don’t really
need Alpine. No other job building with --buildtype=minsize, so keep it
but use Ubuntu.
2025-03-08 12:43:49 +02:00
Khaled Hosny
462a54895b [ci] Use newer Ubuntu release for cross compilation
Cairo sets -D_FORTIFY_SOURCE when building with optimizations, but it
was broken in some MingW releases. Updating seems to fix it.
2025-03-06 22:08:13 +02:00
Khaled Hosny
467b08ba36 [ci] Update Ubuntu 20.04 images to 24.04
GitHub actions will start failing jobs using Ubuntu 20.04 images, so
switch to 24.04. Switch also on CircleCI while at it.
2025-02-12 13:52:39 +02:00
Behdad Esfahbod
1e3f59a79f [ci] Give sanitizers more time 2025-02-09 15:21:18 +00:00
Behdad Esfahbod
6738ee3d1b [ci/fedora-valgrind] Add time multiplier of 10 and run slow tests 2025-02-09 13:50:27 +00:00
Khaled Hosny
6898a6048c [meson] Update wrap files
This also updates the meson version on Windows cross-build jobs as wraps
now requires newer versions of meson. We still require only meson 0.55.0
for building HarfBuzz, but building with fallback wraps is allowed
to require newer meson.
2024-11-09 13:17:58 +02:00
Khaled Hosny
1a06d3f519 [ci] Fix tarball path 2024-06-27 18:44:51 +03:00
Khaled Hosny
b9d243ef40 Try to fix macos-aat-fonts job 2024-06-27 15:28:38 +03:00
Khaled Hosny
e2cd1be6ee Try to fix dist job 2024-06-27 15:28:38 +03:00
Khaled Hosny
cf1fdf1632 Drop autotools build
Fixes https://github.com/harfbuzz/harfbuzz/issues/4720
2024-06-27 15:28:38 +03:00
Khaled Hosny
b3e4721af7 Revert "[ci] Enable experimental_api on distcheck job"
This reverts commit 89570d1959.
2024-04-09 18:54:36 +02:00
Khaled Hosny
89570d1959 [ci] Enable experimental_api on distcheck job 2024-04-09 08:41:11 -05:00
Khaled Hosny
5852d328a4 [circleci] Run pip inside a virtual environment
Looks like newer versions of python disable pip for system-managed
installations. This should unbreak alpine job and prevent other jobs
from potentially breaking in the future.
2024-01-06 17:35:15 +02:00
Behdad Esfahbod
36f5e654a6 [circleci] Roll back msan/tsan ubuntu image
Job gets stuck at compiling with the newer image :(.
2023-11-04 16:17:32 -06:00
Behdad Esfahbod
6ff0932722 [circleci] Roll images 2023-11-04 15:42:13 -06:00
Khaled Hosny
424f5f2c0d [ci] Don’t build docs while building Windows binaries 2023-02-20 16:05:53 +02:00
Khaled Hosny
59cd1b17a9 [ci] Don’t build docs on macos-aat-fonts job
It fails ninja test, but superfluous anyway.
2023-02-11 20:59:44 +02:00
Khaled Hosny
9ca8e7564b Revert "[circleci] Make dist tarball with meson"
This reverts commit 80157cc60b.

That was a thinko, meson generated dist tarballs are not usable for
autotools build as they will miss generated autotools files.
2022-12-18 17:44:41 +02:00
Khaled Hosny
31ba950b71 [circleci] Don’t run tests in dist 2022-12-17 16:24:20 +02:00
Khaled Hosny
f22e42d737 [circleci] Remove cruft 2022-12-17 16:24:20 +02:00
Khaled Hosny
21e866b8b5 [circleci] Unify meson commands a bit 2022-12-17 16:24:20 +02:00
Khaled Hosny
80157cc60b [circleci] Make dist tarball with meson 2022-12-17 16:24:20 +02:00
Khaled Hosny
bd7c458028 [meson] Update glib wrap
Use the one from WrapDB.
2022-12-16 22:00:08 +02:00
Khaled Hosny
605bb1ee3d [subset] Add amalgam harfbuzz-subset.cc
Fixes https://github.com/harfbuzz/harfbuzz/issues/3733
2022-07-19 17:15:35 -06:00
Khaled Hosny
89939c9cc3 [ci] Fix fedora-valgrind job
Fedora 33 is EOL since 2021-11-30, try the latest Fedora release (36).
2022-05-24 03:50:59 +02:00
Khaled Hosny
449c4296a1 [ci] Try harder to fix this randomly failing job
The default --num-processes is the number of CPUs multiplied by 5,
which seems to give this VM a hard-time. Even the number of CPUs is too
much, so lets use half of that (I’m adding one just in case the division
gives zero).
2021-12-12 07:50:06 +02:00
Khaled Hosny
52a33a15a4 [ci] Try to fix the randomly failing valgrind job 2021-12-12 07:43:58 +02:00
Khaled Hosny
ed65577e3d [ci] Split sanitizers job
It was running four different builds sequentially. Each should have been
its own job.
2021-11-22 03:11:36 +02:00
Khaled Hosny
69d8f27c69 [meson] Require 0.55.0
We implicitly require it for building ragel subproject. This new version
requirement should satisfied in both Fedora 33 and Debian bullseye, and
not be too cutting edge for us.
2021-11-22 03:11:36 +02:00
Khaled Hosny
7e9ac8fea2 [meson] Require ragel 6.10
Ragel 7 is also not stable from upstream's point of view.

This uses “version” argument find_program(), which was introduced in
meson 0.52.0, so I raised the minimum required meson version
accordingly.
2021-09-14 18:46:33 -06:00
Khaled Hosny
e38b873eae [ci] Use different executer for win64 jobs 2021-09-07 14:13:23 +02:00
Caleb Maclennan
7f9173d67f [ci] Fix workflow so ‘publish-*’ dependencies can run
This is a documented but bizarre quirk on Circle CI: in order for a job
to run as a dependency of another job that has a filter it must also
have at least one filter of its own, even if the filter is a noop.

https://circleci.com/docs/2.0/workflows/#executing-workflows-for-a-git-tag
2021-08-18 14:25:15 +02:00
Khaled Hosny
d203267e53 [ci] Remove effectively ignored filters
We want these jobs to always run, and the filter does not seem to do
anything anyway.
2021-08-15 18:29:26 +02:00
Khaled Hosny
f73053edaf [ci] Don’t install unused dependencies
This is a cross build job, native libraries are not used.
2021-08-15 18:27:32 +02:00
Khaled Hosny
ddb4f9b967 [ci] Build win64 binaries as well 2021-08-15 17:52:23 +02:00
Garret Rieger
f3e031539f Revert "[ci] Bin FontTools version due to recent COLRv1 changes"
This reverts commit 163748b505.
2021-07-28 11:36:34 -06:00
Khaled Hosny
163748b505 [ci] Bin FontTools version due to recent COLRv1 changes
Should be reverted once HarfBuzz updated to match FontTools.
2021-07-26 23:32:48 +02:00
Khaled Hosny
5f5a8b4dd7 [ci] Use the latest stable XCode image 2021-07-12 14:05:40 -07:00
Khaled Hosny
13187d29ef [ci] Drop macOS job using deprecated XCode image 2021-07-12 14:05:40 -07:00
Khaled Hosny
d3e84413fd [ci] Drop macos-10_13_6-aat-fonts job
This version of macOS is no longer supported by Homebrew, it takes 26
minutes to brew the dependencies before it fails.
2021-05-02 02:14:08 +02:00
Khaled Hosny
517d68b26e [ci] Pin fedora 33 docker image
g-ir-scanner is broken on 34 image:

FAILED: src/HarfBuzz-0.0.gir
/usr/bin/g-ir-scanner --no-libtool --namespace=HarfBuzz --nsversion=0.0 --warn-all --output src/HarfBuzz-0.0.gir --c-include=hb-gobject.h --cflags-begin -DHB_NO_SINGLE_HEADER_ERROR -DHAVE_GOBJECT -DHB_EXTERN= --cflags-end -I/root/project/src -I/root/project/build/src -I./. -I../. --filelist=/root/project/build/src/libharfbuzz-gobject.so.0.20800.0.p/HarfBuzz_0.0_gir_filelist --include=GObject-2.0 --symbol-prefix=hb --symbol-prefix=hb_gobject --identifier-prefix=hb_ --pkg-export=harfbuzz-gobject --cflags-begin -DHAVE_CONFIG_H -I./. -I../. -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/sysprof-4 -I./src/. -I../src/. -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/harfbuzz -I/usr/include/gobject-introspection-1.0 --cflags-end --add-include-path=/usr/share/gir-1.0 -L/root/project/build/src --extra-library=harfbuzz --library harfbuzz-gobject -L/root/project/build/src -L/root/project/build/src --extra-library=glib-2.0 --extra-library=gobject-2.0 --extra-library=m --extra-library=freetype --extra-library=girepository-1.0 --sources-top-dirs /root/project/subprojects/ --sources-top-dirs /root/project/build/subprojects/
../src/hb-buffer.cc:641: Warning: HarfBuzz: unknown annotation: xconstructor
../src/hb-face.cc:192: Warning: HarfBuzz: unknown annotation: xconstructor
../src/hb-font.cc:551: Warning: HarfBuzz: unknown annotation: xconstructor
../src/hb-font.cc:1519: Warning: HarfBuzz: unknown annotation: xconstructor
../src/hb-map.cc:43: Warning: HarfBuzz: unknown annotation: xconstructor
../src/hb-ot-name.cc:55: Warning: HarfBuzz: unexpected annotation: out
../src/hb-set.cc:43: Warning: HarfBuzz: unknown annotation: xconstructor
../src/hb-shape-plan.cc:173: Warning: HarfBuzz: unknown annotation: xconstructor
../src/hb-shape-plan.cc:201: Warning: HarfBuzz: unknown annotation: xconstructor
../src/hb-unicode.cc:172: Warning: HarfBuzz: unknown annotation: xconstructor
g-ir-scanner: link: gcc -pthread -o /root/project/build/tmp-introspecta9rymai3/HarfBuzz-0.0 /root/project/build/tmp-introspecta9rymai3/HarfBuzz-0.0.o -L. -Wl,-rpath,. -Wl,--no-as-needed -L/root/project/build/src -Wl,-rpath,/root/project/build/src -L/root/project/build/src -Wl,-rpath,/root/project/build/src -L/root/project/build/src -Wl,-rpath,/root/project/build/src -lharfbuzz-gobject -lharfbuzz -lglib-2.0 -lgobject-2.0 -lm -lfreetype -lgirepository-1.0 -lgio-2.0 -lgobject-2.0 -Wl,--export-dynamic -lgmodule-2.0 -pthread -lglib-2.0 -lglib-2.0
ldd: error: you do not have read permission for `/root/project/build/tmp-introspecta9rymai3/HarfBuzz-0.0'
Traceback (most recent call last):
  File "/usr/bin/g-ir-scanner", line 99, in <module>
    sys.exit(scanner_main(sys.argv))
  File "/usr/lib64/gobject-introspection/giscanner/scannermain.py", line 599, in scanner_main
    shlibs = create_binary(transformer, options, args)
  File "/usr/lib64/gobject-introspection/giscanner/scannermain.py", line 428, in create_binary
    shlibs = resolve_shlibs(options, binary, options.libraries)
  File "/usr/lib64/gobject-introspection/giscanner/shlibs.py", line 170, in resolve_shlibs
    _resolve_non_libtool(options, binary, non_libtool))
  File "/usr/lib64/gobject-introspection/giscanner/shlibs.py", line 106, in _resolve_non_libtool
    output = subprocess.check_output(args)
  File "/usr/lib64/python3.9/subprocess.py", line 424, in check_output
    return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
  File "/usr/lib64/python3.9/subprocess.py", line 528, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['ldd', '/root/project/build/tmp-introspecta9rymai3/HarfBuzz-0.0']' returned non-zero exit status 1.
ninja: build stopped: subcommand failed.
2021-05-02 00:08:04 +02:00
Khaled Hosny
c571a96eb0 [ci] Disable Chafa on jobs that enables all auto features
No suitable versions are available on these setups.
2021-04-26 12:13:10 -06:00
Khaled Hosny
f2240d12c2 [ci] Use -j2 for make and ninja in distcheck job
Lets see if this makes it faster without crashing gcc.
2021-04-15 18:47:51 -06:00
Khaled Hosny
f5c922b709 [ci] Try to stop distcheck job from crashing gcc 2021-04-15 18:47:51 -06:00
Khaled Hosny
743baf3543 [build] Don’t look for FontConfig
We don’t currently use it anywhere. It was used briefly for the
hb-fc-list tool, but this tool have not been built since 2015:

commit cd042fc8c4
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Jun 18 10:55:13 2015 -0700

    [util] Disable hb-fc-list for now

    Until I figure out what to do about the API, and finalize
    the tool.
2021-03-29 15:54:51 -06:00
Behdad Esfahbod
f5356bcb61 [ci] Switch back to c++2a
Okay I guess we can be bothered to fix things up for next version of C++.

Reverts meat of c0b3b9b258
2021-03-15 16:52:39 -06:00
Behdad Esfahbod
9582640eed [ci] Remove more cruft
All were commented out already.
2021-03-15 16:48:16 -06:00
Behdad Esfahbod
c0b3b9b258 [ci] Don't test C++2a build
One of the bots is unhappy when HB_NODISCARD comes after HB_INTERNAL.
No idea why. But, again, we're testing HarfBuzz, not C++, not clang. Ugh.

In file included from src/harfbuzz.cc:1:
In file included from src/hb-aat-layout.cc:30:
In file included from src/hb-aat-layout.hh:32:
In file included from src/hb-ot-shape.hh:32:
In file included from src/hb-ot-map.hh:32:
src/hb-buffer.hh:335:15: error: an attribute list cannot appear here
  HB_INTERNAL HB_NODISCARD bool move_to (unsigned int i); /* i is output-buffer index. */
              ^~~~~~~~~~~~
https://app.circleci.com/pipelines/github/harfbuzz/harfbuzz/1693/workflows/77459205-a189-45d3-bc58-52a8fd952c3f/jobs/155912/parallel-runs/0/steps/0-110?invite=true
2021-03-15 16:48:07 -06:00