Commit Graph

219 Commits

Author SHA1 Message Date
Ebrahim Byagowi b5ae8eab44
[ci] raise msan bot subset timeout 2020-06-21 08:51:46 +04:30
Ebrahim Byagowi 47dedc7500
[ci] increase tsan and ubsan subset fuzzer timeout
as https://circleci.com/gh/harfbuzz/harfbuzz/144966 and https://circleci.com/gh/harfbuzz/harfbuzz/144970
2020-06-21 01:54:57 +04:30
Ebrahim Byagowi f31e3d426d
[ci] raise subset fuzzer timeout for asan and valgrind bots 2020-06-12 17:33:11 +04:30
Ebrahim Byagowi be278acf44 [ci] raise subset fuzzer cases runner timeout
the bots are either not optimized ones or sanitizer ones so not much value
on trying to optimize them further.
2020-06-12 10:41:07 +04:30
Ebrahim Byagowi 7e74aa6a78
[ci] fix meson-gcc-mingw bot
keep build folder for dist testing
2020-06-04 09:32:20 +04:30
Ebrahim Byagowi b35764334e
[ci] check workability of meson based dist 2020-06-04 04:10:11 +04:30
Ebrahim Byagowi 870304df76 [meson] Remove amalgam build option
Fixes #2444
2020-06-04 03:26:19 +04:30
Ebrahim Byagowi 6058ede3ae
Build win32 artifacts using meson
As a part of meson migration, this builds hb-shape dependencies
using meson subprojects and removes different unrelated mingw
files we've put on source root about things that aren't really our
concern. This also simplifies all the instructions we've put in
README.mingw.md and makes it easy to build the project on
distros that no mingw libraries (such i686-win32-{freetype,glib,...}
are packaged. The known catch is however lack of hb-view as its need
for build of cairo which apparently isn't that straightforward.
2020-06-01 12:58:31 +04:30
Ebrahim Byagowi 9d13124cfd
[ci] fix alpine build issue 2020-05-30 14:45:22 +04:30
Ebrahim Byagowi cc53fd158c
[meson] Normalize options names
As https://github.com/harfbuzz/harfbuzz/pull/2412#discussion_r426275027
2020-05-21 19:33:18 +04:30
Ebrahim Byagowi 99e2342a6b [ci] Install newer meson from pip 2020-05-21 18:52:31 +04:30
Ebrahim Byagowi eac2c3bdb1 [ci] Enable sanitizer bots again 2020-05-21 08:41:02 +04:30
Ebrahim Byagowi 0b261c5d0b
[ci] disable clang-{everthing,*san} bots
are flaky, will enable them somewhere else
2020-05-07 10:28:24 +04:30
Ebrahim Byagowi 5b91c52083
[ci] run experimental APIs tests 2020-04-20 21:44:01 +00:00
Ebrahim Byagowi 750bb73e32 [meson] Add an experimental-api option 2020-04-21 01:26:08 +04:30
Ebrahim Byagowi e0e7727064 [ci] Update macOS 10.15's version 2020-04-03 01:12:37 +04:30
Ebrahim Byagowi 755a77d660 Move outline draw API behind HB_EXPERIMENTAL_API directive 2020-03-13 08:25:53 +03:30
Ebrahim Byagowi dfab7a2546 [cmake] Bring it back to release tarball 2020-03-12 21:51:36 +03:30
Ebrahim Byagowi 1dd3896688 [meson] Make it work on autotools dist 2020-03-12 14:49:40 +03:30
Ebrahim Byagowi 749cf378e8 [meson] test meson's own unity feature also 2020-03-12 00:25:48 +03:30
Ebrahim Byagowi f8c8be0564 [meson] Add amalgam build option 2020-03-12 00:25:48 +03:30
Ebrahim Byagowi c494d7abcd Remove cmake testing and add meson build bot
CMake tests are broken anyway as py3 changes so let's get rid of them
2020-03-11 20:15:10 +03:30
Ebrahim Byagowi 83db1e117e [ci] Compatibility with Python 3
Disabled CMake test runners as it goes for Python 2 and updated the bots

Install Python 3 on macOS 10.12 bot
2020-02-19 16:17:45 +03:30
Ebrahim Byagowi bd13470f23 [ci] Update Ubuntu bots versions 2020-02-19 13:36:08 +03:30
Ebrahim Byagowi 4dc3db7344 Minor, fix warnings raised when built with -std=c++2a
Follow up to c184180,

It was raising,

  src/hb-ot-layout-common.hh:1067:63: warning: implicit capture of 'this' with a capture default of '=' is deprecated [-Wdeprecated-this-capture]
      | hb_filter ([=] (const OffsetTo<TSubTable> &_) { return (this+_).intersects (glyphset, lookup_type); })
                                                                ^
  src/hb-ot-layout-common.hh:1067:19: note: add an explicit capture of 'this' to capture '*this' by reference
      | hb_filter ([=] (const OffsetTo<TSubTable> &_) { return (this+_).intersects (glyphset, lookup_type); })
                    ^
                     , this

and

  src/hb-ot-layout-common.hh:2626:38: warning: implicit capture of 'this' with a capture default of '=' is deprecated [-Wdeprecated-this-capture]
                  { r.collect_lookups (this, lookup_indexes); })
                                       ^
  src/hb-ot-layout-common.hh:2625:18: note: add an explicit capture of 'this' to capture '*this' by reference
      | hb_apply ([=] (const FeatureTableSubstitutionRecord& r)
                   ^
                    , this

and

  src/hb-ot-hdmx-table.hh:141:44: error: implicit capture of 'this' with a capture default of '=' is deprecated [-Werror,-Wdeprecated-this-capture]
                          return device_record->widthsZ.as_array (get_num_glyphs ()) [_];
                                                                  ^
  src/hb-ot-hdmx-table.hh:137:17: note: add an explicit capture of 'this' to capture '*this' by reference
              | hb_map ([=] (hb_codepoint_t _)
                         ^
                          , this
2020-02-06 16:25:54 +03:30
Ebrahim Byagowi 1a6d53d3c0
[ci] Increase msan and fedora-O0 bots subset fuzzer timeout 2020-01-24 20:00:23 +03:30
Ebrahim Byagowi 80762cc4d0
[ci] Speedup tsan bot
We don't expect fails thus expecting readable failure backtrace so let's speed it up instead
2019-12-15 23:21:10 +03:30
Ebrahim Byagowi f3de3b6d3d
[ci] fix macOS 10.15 bot
Xcode 11.3.0 image is supposed to work per https://circleci.com/docs/2.0/testing-ios/
but isn't https://circleci.com/gh/harfbuzz/harfbuzz/118693 AFAICS

Let's try Xcode 11.2.1 image
2019-12-10 16:37:48 +03:30
Ebrahim Byagowi 49434bdd49
[ci] Add a macOS 10.15 bot
Should update macos.tests with the fonts, for now
2019-12-10 16:28:04 +03:30
Ebrahim Byagowi 7cde68f10c
[ci] install pip in fedora bot 2019-11-02 19:04:14 +03:30
Ebrahim Byagowi 46178c0325
[ci] fix fedora bot 2019-11-02 14:36:30 +03:30
Ebrahim Byagowi 7915c5d6fa
[ci] Check the recipt introduce in 7152ac3 2019-10-29 22:55:34 +03:30
Ebrahim Byagowi 9815ca0338 [ci] Use custom subset fuzzer timeout for failing sanitizer bots 2019-10-25 00:16:23 +03:30
Ebrahim Byagowi b03b62cb30
[ci] Add HB_NO_MT on non HB_TINY no-build-system builds 2019-10-23 12:18:21 +03:30
Ebrahim Byagowi dc886f6638 [ci] Re-enable debug builds on fedora bot 2019-09-21 17:36:33 +04:30
Ebrahim Byagowi 70228f68ac
[ci] Enable HB_WITH_WIN1256 on -Weverything bot
To catch its compile warnings, #1969 related
2019-09-21 16:24:41 +04:30
Ebrahim Byagowi 5a1cc199ab [ci] Run -fno-sanitize-recover=undefined checks 2019-09-18 23:16:52 +04:30
Ebrahim Byagowi aab279b33d [ci] Install cmake on macOS cmake/amalgam tester 2019-09-14 11:55:53 +04:30
Ebrahim Byagowi cbbb6fa455 [ci] Don't build cmake tests in macOS bot 2019-09-14 11:55:53 +04:30
Ebrahim Byagowi bf08611044 [ci] Update and compile cmake/amalgam on macOS bot 2019-09-14 11:55:53 +04:30
Ebrahim Byagowi 504bb17287
[ci] Bring back -linux-arm64 bot
Let's see if 576065b has fixed it
2019-07-17 22:57:46 +04:30
Ebrahim Byagowi 4552864c82
[ci] Disable -linux-arm64 bot
This is its failure https://circleci.com/gh/harfbuzz/harfbuzz/99864

Trying to fix like ee05627, interestingly, makes the bot and the
others to fail like this https://circleci.com/gh/harfbuzz/harfbuzz/99841
2019-07-17 22:08:39 +04:30
Ebrahim Byagowi 9fea6b4dd4
[amalgam] Use it in cmake port and fix conflicts (#1812) 2019-07-05 18:46:41 +04:30
Ebrahim Byagowi eb28d6e48b
[ci] Test no build system builds
Introduced in aa3450c, let's preserve it
2019-06-18 12:14:10 +04:30
Ebrahim Byagowi 4a2b58555f
[ci] Use HB_OPTIMIZE_SIZE instead of __OPTIMIZE_SIZE__ 2019-06-10 08:16:51 -07:00
Ebrahim Byagowi a228bb5f1d
[ci] Test -Os and optimize size in Alpine bot
__OPTIMIZE_SIZE__ should be defined whenever -Os but some Internet thread
indicate may not so lets do that ourselves as that is the main intention
2019-06-10 15:56:36 +04:30
Ebrahim Byagowi 801d93fc58
[ci] remove wine from fedora bot
We are not testing Windows exes in fedora mingw bot, we don't have to as
probably won't go that smoothly and we have real Windows bots anyway
and as wine installation itself is time taking let's remove it
2019-06-10 14:53:14 +04:30
Ebrahim Byagowi 52aa6c57c5
[ci] minor 2019-05-25 22:55:06 +04:30
Ebrahim Byagowi 9b75da4299
[ci] minor 2019-05-25 22:46:10 +04:30
Ebrahim Byagowi 9158cab3f9
[ci] Store dist-win result instead 2019-05-25 22:33:02 +04:30
Ebrahim Byagowi 309a9d8ffb
[ci] Remove --without-icu now that we have it in ./mingw{32,64} scripts 2019-05-25 20:40:03 +04:30
Ebrahim Byagowi 0e6b7f7cd5
[ci] Build mingw on Fedora and store .exe outputs 2019-05-25 20:27:29 +04:30
Behdad Esfahbod c96c6b287f One more 2019-05-23 21:37:17 -04:00
Ebrahim Byagowi d1baf99697
[ci] add HB_TINY to asmjs builder 2019-05-14 16:16:46 +04:30
Ebrahim Byagowi c3e0eafc80
[ci] Upgrade Ubuntu 17.10 bots to 19.04 2019-05-07 12:04:00 +04:30
Ebrahim Byagowi e200d165a4
[ci] Remove crosscompile-notest-freebsd9 bot
It was testing an old version of freebsd and now it's image is gone.
We really like to test the environment.
2019-04-30 02:10:50 +04:30
Ebrahim Byagowi c0ea37b557
[ci] Fix macOS glib issue 2019-04-15 00:34:04 +04:30
Behdad Esfahbod 7929b0f07e [ci] Fix build 2019-03-29 14:14:55 -07:00
Behdad Esfahbod a030ce4ff8 Merge branch 'master' into iter 2019-03-28 21:26:50 -07:00
Ebrahim Byagowi 7360265e69
[ci] Tweak macos and psvita bots (#1638)
* Add --with-graphite2 to macOS
* Add a dummy ragel script for psvita
2019-03-28 16:57:56 -07:00
Ebrahim Byagowi a548d1da78
[ci] Use only CircleCI for macOS (#1637) 2019-03-28 15:42:45 -07:00
Ebrahim Byagowi 717181c594
[ci] remove ragel from psvita compile bot 2019-03-27 16:38:39 +04:30
Ebrahim Byagowi 08e36c5d8b
[ci] Don't install ragel on cmake build bot images
It is not needed anyway
2019-03-27 16:21:47 +04:30
Ebrahim Byagowi 8b6eb6cf46
Add a macOS 10.14.3 fonts tests (#1608) 2019-03-08 01:33:41 +03:30
Behdad Esfahbod 5b725784e5 Merge branch 'master' into iter 2019-02-14 11:34:55 -08:00
Behdad Esfahbod 28f7736132 [CI] Install more packages
Wish there was a way to streamline this :(.
2019-02-14 11:34:28 -08:00
Behdad Esfahbod 9e7383d124 [CI] Disable cmake-oracledeveloperstudio bot
Weird error:

"/root/project/src/hb-iter.hh", line 277: Error: Type name expected instead of "decltype()".
"/root/project/src/hb-iter.hh", line 278: Error: Invalid type while substituting into Iter::item_t.
"/root/project/src/hb-iter.hh", line 317: Error: Type name expected instead of "decltype()".
"/root/project/src/hb-iter.hh", line 318: Error: Invalid type while substituting into Iter::item_t.
2019-02-13 23:54:36 -08:00
Behdad Esfahbod 4103252323 Merge branch 'master' into iter 2019-02-13 23:46:43 -08:00
Behdad Esfahbod d5287e1ba4 [CI] Install wget on clang-O3-O0 bot 2019-02-13 23:46:17 -08:00
Behdad Esfahbod f1b8934400 [CI] Remove macos-notest-ios bot
Not sure what ancient compiler it is (gcc 4.2?), but didn't like hb_zip SFINAE
apparently:

In file included from /Users/distiller/project/src/hb-aat-layout.cc:28:
In file included from /Users/distiller/project/src/hb-open-type.hh:32:
In file included from /Users/distiller/project/src/hb.hh:642:
/Users/distiller/project/src/hb-iter.hh:364:1: note: candidate template ignored: substitution failure [with A = OT::Coverage, B = OT::OffsetArrayOf<OT::ChainRuleSet>]: non-type template argument does not refer to any declaration
hb_zip (const A& a, const B &b)
^
In file included from /Users/distiller/project/src/hb-aat-layout.cc:37:
In file included from /Users/distiller/project/src/hb-aat-layout-kerx-table.hh:31:
In file included from /Users/distiller/project/src/hb-kern.hh:32:
/Users/distiller/project/src/hb-ot-layout-gpos-table.hh:725:20: error: no matching function for call to 'hb_zip'
    for (auto it = hb_zip (this+coverage, pairSet)
                   ^~~~~~

Not going to try to appease.
2019-02-13 23:30:21 -08:00
Behdad Esfahbod 7d2376de33 Merge branch 'master' into iter 2019-02-13 22:13:37 -08:00
Ebrahim Byagowi f55e7bf583
[ci] Install 'base-devel' on ArchLinux CI bot 2019-02-10 01:08:05 +03:30
Ebrahim Byagowi 8f4eb919bd
[ci] Install 'which' in ArchLinux bot 2019-02-09 16:58:02 +03:30
Ebrahim Byagowi 0229434961
[ci] Speculative fix for Alpine and ArchLinux bots 2019-02-09 16:33:28 +03:30
Ebrahim Byagowi 84694af723
[ci] Disable the just added bot
Doesn't play well with CircleCI apparently

https://circleci.com/gh/harfbuzz/harfbuzz/74289
2019-02-08 15:30:17 +03:30
Ebrahim Byagowi 81ae4974e3
[ci] Add a Void Linux bot
https://voidlinux.org/ is yet another and different distro written from scratch, thus completely eligible to have a bot here!

Seriously however not that useful yet however but I will try to overload it other tasks later, like our other bots.

No test yet also, couldn't install cairo-devel, will try to fix that later.

Their harfbuzz package source: https://github.com/void-linux/void-packages/blob/master/srcpkgs/harfbuzz/template
2019-02-08 15:18:26 +03:30
Behdad Esfahbod 4aa4eedfd5 [ci] Switch clang-O3-O0 bot to Ubuntu image
https://github.com/harfbuzz/harfbuzz/issues/1566
2019-01-30 15:02:29 -08:00
Behdad Esfahbod a84b0145ea [ci] Disable -Wunused-template on -Weverything bot
./hb-algs.hh:37:3: error: unused function template 'operator()' [-Werror,-Wunused-template]
  operator () (const T& v) const { return v; }
  ^
2019-01-30 14:42:48 -08:00
Behdad Esfahbod b270cee6c5 [CI] Remove gcc 4.2 bots
We don't support that version anymore.
2019-01-22 12:29:05 +01:00
Behdad Esfahbod dc0f98298e [ci] Remove unused config for gcc 4.2
[skip ci]
2019-01-20 20:12:12 -05:00
Behdad Esfahbod eaa9023634 [ci] Disable other gcc 4.2 bot 2019-01-20 20:12:12 -05:00
Behdad Esfahbod d12b80c05a [ci] Disable macos-llvm-gcc-4.2 again
Not C++11.
2019-01-20 20:12:12 -05:00
Behdad Esfahbod e1302842d9 [ci] Remove unnecessary warning declarations
clang -Weverything still left to be ported to pragmas
2019-01-17 19:12:07 -05:00
Ebrahim Byagowi 97f67a3c3d
[ci] Enable more of GCC compile warnings (#1533) 2019-01-04 23:10:39 +03:30
cclauss 26c5b54fb0 CircleCI: Test for Python 3 syntax errors and undefined names (#1522)
Catch missing imports and errors like #1520 and #1521

__E901,E999,F821,F822,F823__ are the "_showstopper_" [flake8](http://flake8.pycqa.org) issues that can halt the runtime with a SyntaxError, NameError, etc. Most other flake8 issues are merely "style violations" -- useful for readability but they do not effect runtime safety.
* F821: undefined name `name`
* F822: undefined name `name` in `__all__`
* F823: local variable name referenced before assignment
* E901: SyntaxError or IndentationError
* E999: SyntaxError -- failed to compile a file into an Abstract Syntax Tree
2018-12-31 07:00:43 +03:30
Ebrahim Byagowi b65645bbaf
[ci] Re-enable llvm-gcc-4.2 bots (#1429) 2018-11-29 23:57:50 +03:30
Ebrahim Byagowi 19863c8059
[test][aat] Add a test and make macOS runners faster (#1422) 2018-11-28 20:28:42 +03:30
Ebrahim Byagowi b518e5af9f
Add 10.13.6 aat fonts tests and bot (#1409) 2018-11-25 01:39:00 +03:30
Ebrahim Byagowi 341851efe1
[aat] Add macOS specific tests (#1404) 2018-11-23 15:40:05 +03:30
Ebrahim Byagowi 073d0a9fbc
[ci] minor 2018-11-08 10:59:50 +03:30
Ebrahim Byagowi f7a08cd41d
Fix extra semicolon issues and test that on CI (#1330) 2018-10-30 11:29:09 +03:30
Ebrahim Byagowi 1b7bfb5e18
[cmake] Make build of tests and subset optional (#1329) 2018-10-30 10:19:40 +03:30
Ebrahim Byagowi e1b8e933f0
[ci] Disable llvm-gcc
#define Null(Type) Null<typename hb_remove_const<typename hb_remove_reference<Type>::value>::value>()

raises:
  hb-blob.cc: In function 'hb_blob_t* hb_blob_get_empty()':
  hb-blob.cc:194: error: using 'typename' outside of template
  hb-blob.cc:194: error: using 'typename' outside of template

Removing "typename"s fixes the issue but makes newer compiler fail apparently.

Probably downstream can patch that locally till we get a solution.
2018-10-23 09:23:48 +03:30
Ebrahim Byagowi 0ecddad7c5
[ci] Disable flaky -windows-x64 and add a comment for iOS 2018-10-22 00:44:28 +03:30
Ebrahim Byagowi 964ae32aac
Run valgrind on run-shape-fuzzer only when RUN_VALGRIND is set (#1285) 2018-10-20 07:39:18 +03:30
Ebrahim Byagowi 093c7c4a54 [ci] Run valgrind on test/api
run-shape-fuzzer-tests.py automatically runs valgrind if see available
but test/api runs it by request, we probably should normalize the approaches
later
2018-10-19 19:46:41 +03:30
Ebrahim Byagowi b7cef8cb1d Enable valgrind and dedicate a bot to it 2018-10-19 09:39:36 +03:30
Ebrahim Byagowi 03e144135b
[ubsan] Use unsigned int instead enum where needed (#1270)
Actually the check is right,

On -myanmar.hh, on that particular switch, OT_C is indic_category_t
but OT_D is myanmar_category_t so we are mixing the types in one variable.

And on -arabic.cc, step can goes one number higher than step_t enum in the
loop so we are actually using it as an unsinged int.
2018-10-18 11:06:37 +03:30
Ebrahim Byagowi af99b20dfd
[ci/ubsan] Disable enum sanitization
Behdad apparently not interested on them
2018-10-18 08:35:20 +03:30
Ebrahim Byagowi 187df7d7a9
[circleci] Add an iOS bot (#1233) 2018-10-10 17:12:52 +03:30