Add job to test with checked-in FreeType
Currently all the Linux based test jobs are using the system FreeType.
The Android_NativeFonts job is currently the only job testing this
configuration, but as it is GPU only is not running all the tests. Add a
job to test on Linux with the newer checked-in version of FreeType.
Change-Id: Ib23f909ad99c1cf4742bd6ee807518421ff44f7c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/839271
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
diff --git a/infra/bots/jobs.json b/infra/bots/jobs.json
index 3ca99cd..3a775bf 100644
--- a/infra/bots/jobs.json
+++ b/infra/bots/jobs.json
@@ -122,6 +122,7 @@
{"name": "Build-Debian10-Clang-x86_64-Debug-AVIF"},
{"name": "Build-Debian10-Clang-x86_64-Debug-Chromebook_GLES"},
{"name": "Build-Debian10-Clang-x86_64-Debug-Fontations"},
+ {"name": "Build-Debian10-Clang-x86_64-Debug-FreeType"},
{"name": "Build-Debian10-Clang-x86_64-Debug-SK_USE_DISCARDABLE_SCALEDIMAGECACHE"},
{"name": "Build-Debian10-Clang-x86_64-Debug-SafeStack"},
{"name": "Build-Debian10-Clang-x86_64-Debug-Static"},
@@ -626,6 +627,7 @@
{"name": "Test-Debian10-Clang-GCE-CPU-AVX2-x86_64-Debug-All-ColorSpaces_ASAN"},
{"name": "Test-Debian10-Clang-GCE-CPU-AVX2-x86_64-Debug-All-Fontations"},
{"name": "Test-Debian10-Clang-GCE-CPU-AVX2-x86_64-Debug-All-NativeFonts"},
+ {"name": "Test-Debian10-Clang-GCE-CPU-AVX2-x86_64-Debug-All-NativeFonts_FreeType"},
{"name": "Test-Debian10-Clang-GCE-CPU-AVX2-x86_64-Debug-All-SK_USE_DISCARDABLE_SCALEDIMAGECACHE"},
{"name": "Test-Debian10-Clang-GCE-CPU-AVX2-x86_64-Debug-All-SafeStack"},
{"name": "Test-Debian10-Clang-GCE-CPU-AVX2-x86_64-Debug-All-Wuffs"},
diff --git a/infra/bots/recipe_modules/build/default.py b/infra/bots/recipe_modules/build/default.py
index 8032dbc..eba0ddd 100644
--- a/infra/bots/recipe_modules/build/default.py
+++ b/infra/bots/recipe_modules/build/default.py
@@ -255,6 +255,9 @@
args['skia_use_fontations'] = 'true'
args['skia_use_freetype'] = 'true' # we compare with freetype in tests
args['skia_use_system_freetype2'] = 'false'
+ if 'FreeType' in extra_tokens:
+ args['skia_use_freetype'] = 'true'
+ args['skia_use_system_freetype2'] = 'false'
if 'NoGpu' in extra_tokens:
args['skia_enable_ganesh'] = 'false'
diff --git a/infra/bots/recipe_modules/build/examples/full.expected/Build-Debian10-Clang-x86_64-Debug-FreeType.json b/infra/bots/recipe_modules/build/examples/full.expected/Build-Debian10-Clang-x86_64-Debug-FreeType.json
new file mode 100644
index 0000000..c2dd8c6
--- /dev/null
+++ b/infra/bots/recipe_modules/build/examples/full.expected/Build-Debian10-Clang-x86_64-Debug-FreeType.json
@@ -0,0 +1,127 @@
+[
+ {
+ "cmd": [
+ "python3",
+ "[START_DIR]/cache/work/skia/bin/fetch-gn"
+ ],
+ "cwd": "[START_DIR]/cache/work/skia",
+ "env": {
+ "CHROME_HEADLESS": "1",
+ "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
+ },
+ "infra_step": true,
+ "name": "fetch-gn"
+ },
+ {
+ "cmd": [
+ "python3",
+ "[START_DIR]/cache/work/skia/bin/fetch-ninja"
+ ],
+ "cwd": "[START_DIR]/cache/work/skia",
+ "env": {
+ "CHROME_HEADLESS": "1",
+ "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
+ },
+ "infra_step": true,
+ "name": "fetch-ninja"
+ },
+ {
+ "cmd": [
+ "vpython3",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "copy",
+ "[START_DIR]/cache/work/skia/infra/bots/assets/clang_linux/VERSION",
+ "/path/to/tmp/"
+ ],
+ "infra_step": true,
+ "name": "Get clang_linux VERSION",
+ "~followup_annotations": [
+ "@@@STEP_LOG_LINE@VERSION@42@@@",
+ "@@@STEP_LOG_END@VERSION@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "[START_DIR]/ccache_linux/bin/ccache",
+ "-s"
+ ],
+ "cwd": "[START_DIR]/cache/work/skia",
+ "env": {
+ "CCACHE_COMPILERCHECK": "content",
+ "CCACHE_DIR": "[START_DIR]/cache/ccache",
+ "CCACHE_MAXFILES": "0",
+ "CCACHE_MAXSIZE": "75G",
+ "CHROME_HEADLESS": "1",
+ "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
+ },
+ "name": "ccache stats-start"
+ },
+ {
+ "cmd": [
+ "[START_DIR]/cache/work/skia/bin/gn",
+ "gen",
+ "[START_DIR]/cache/work/skia/out/Build-Debian10-Clang-x86_64-Debug-FreeType/Debug",
+ "--args=cc=\"[START_DIR]/clang_linux/bin/clang\" cc_wrapper=\"[START_DIR]/ccache_linux/bin/ccache\" cxx=\"[START_DIR]/clang_linux/bin/clang++\" extra_cflags=[\"-B[START_DIR]/clang_linux/bin\", \"-DPLACEHOLDER_clang_linux_version=42\", \"-O1\"] extra_ldflags=[\"-B[START_DIR]/clang_linux/bin\", \"-fuse-ld=lld\", \"-L[START_DIR]/clang_linux/lib\"] link_pool_depth=2 skia_use_client_icu=true skia_use_freetype=true skia_use_libgrapheme=true skia_use_system_freetype2=false target_cpu=\"x86_64\" werror=true"
+ ],
+ "cwd": "[START_DIR]/cache/work/skia",
+ "env": {
+ "CCACHE_COMPILERCHECK": "content",
+ "CCACHE_DIR": "[START_DIR]/cache/ccache",
+ "CCACHE_MAXFILES": "0",
+ "CCACHE_MAXSIZE": "75G",
+ "CHROME_HEADLESS": "1",
+ "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
+ },
+ "name": "gn gen"
+ },
+ {
+ "cmd": [
+ "[START_DIR]/cache/work/skia/third_party/ninja/ninja",
+ "-C",
+ "[START_DIR]/cache/work/skia/out/Build-Debian10-Clang-x86_64-Debug-FreeType/Debug"
+ ],
+ "cwd": "[START_DIR]/cache/work/skia",
+ "env": {
+ "CCACHE_COMPILERCHECK": "content",
+ "CCACHE_DIR": "[START_DIR]/cache/ccache",
+ "CCACHE_MAXFILES": "0",
+ "CCACHE_MAXSIZE": "75G",
+ "CHROME_HEADLESS": "1",
+ "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
+ },
+ "name": "ninja"
+ },
+ {
+ "cmd": [
+ "[START_DIR]/ccache_linux/bin/ccache",
+ "-s"
+ ],
+ "cwd": "[START_DIR]/cache/work/skia",
+ "env": {
+ "CCACHE_COMPILERCHECK": "content",
+ "CCACHE_DIR": "[START_DIR]/cache/ccache",
+ "CCACHE_MAXFILES": "0",
+ "CCACHE_MAXSIZE": "75G",
+ "CHROME_HEADLESS": "1",
+ "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
+ },
+ "name": "ccache stats-end"
+ },
+ {
+ "cmd": [
+ "python3",
+ "RECIPE_MODULE[skia::build]/resources/copy_build_products.py",
+ "[START_DIR]/cache/work/skia/out/Build-Debian10-Clang-x86_64-Debug-FreeType/Debug",
+ "[START_DIR]/[SWARM_OUT_DIR]/out/Debug",
+ "dm,dm.exe,dm.app,nanobench.app,get_images_from_skps,get_images_from_skps.exe,nanobench,nanobench.exe,skpbench,skpbench.exe,*.so,*.dll,*.dylib,skottie_tool,lib/*.so,run_testlab"
+ ],
+ "infra_step": true,
+ "name": "copy build products"
+ },
+ {
+ "name": "$result"
+ }
+]
\ No newline at end of file
diff --git a/infra/bots/recipe_modules/build/examples/full.py b/infra/bots/recipe_modules/build/examples/full.py
index fde2499..d3d244f8 100644
--- a/infra/bots/recipe_modules/build/examples/full.py
+++ b/infra/bots/recipe_modules/build/examples/full.py
@@ -41,6 +41,7 @@
'Build-Debian10-Clang-x86_64-Debug-Chromebook_GLES',
'Build-Debian10-Clang-x86_64-Debug-Coverage',
'Build-Debian10-Clang-x86_64-Debug-Fontations',
+ 'Build-Debian10-Clang-x86_64-Debug-FreeType',
'Build-Debian10-Clang-x86_64-Debug-MSAN',
'Build-Debian10-Clang-x86_64-Debug-SK_CPU_LIMIT_SSE41',
'Build-Debian10-Clang-x86_64-Debug-SafeStack',
diff --git a/infra/bots/tasks.json b/infra/bots/tasks.json
index 4f0804d..87ba7f7 100644
--- a/infra/bots/tasks.json
+++ b/infra/bots/tasks.json
@@ -345,6 +345,11 @@
"Build-Debian10-Clang-x86_64-Debug-Fontations"
]
},
+ "Build-Debian10-Clang-x86_64-Debug-FreeType": {
+ "tasks": [
+ "Build-Debian10-Clang-x86_64-Debug-FreeType"
+ ]
+ },
"Build-Debian10-Clang-x86_64-Debug-Graphite_Dawn_Vulkan": {
"tasks": [
"Build-Debian10-Clang-x86_64-Debug-Graphite_Dawn_Vulkan"
@@ -2559,6 +2564,11 @@
"Test-Debian10-Clang-GCE-CPU-AVX2-x86_64-Debug-All-NativeFonts"
]
},
+ "Test-Debian10-Clang-GCE-CPU-AVX2-x86_64-Debug-All-NativeFonts_FreeType": {
+ "tasks": [
+ "Test-Debian10-Clang-GCE-CPU-AVX2-x86_64-Debug-All-NativeFonts_FreeType"
+ ]
+ },
"Test-Debian10-Clang-GCE-CPU-AVX2-x86_64-Debug-All-OldestSupportedSkpVersion": {
"tasks": [
"Test-Debian10-Clang-GCE-CPU-AVX2-x86_64-Debug-All-OldestSupportedSkpVersion"
@@ -8767,6 +8777,99 @@
],
"service_account": "skia-external-compile-tasks@skia-swarming-bots.iam.gserviceaccount.com"
},
+ "Build-Debian10-Clang-x86_64-Debug-FreeType": {
+ "caches": [
+ {
+ "name": "ccache",
+ "path": "cache/ccache"
+ },
+ {
+ "name": "vpython3",
+ "path": "cache/vpython3"
+ }
+ ],
+ "casSpec": "compile",
+ "cipd_packages": [
+ {
+ "name": "infra/3pp/tools/cpython3/linux-amd64",
+ "path": "cipd_bin_packages/cpython3",
+ "version": "version:2@3.11.7.chromium.31"
+ },
+ {
+ "name": "infra/tools/luci-auth/${platform}",
+ "path": "cipd_bin_packages",
+ "version": "git_revision:1c18d1c5df836f9427fa7dda0adba5be520ee251"
+ },
+ {
+ "name": "infra/tools/luci/kitchen/${platform}",
+ "path": ".",
+ "version": "git_revision:1c18d1c5df836f9427fa7dda0adba5be520ee251"
+ },
+ {
+ "name": "infra/tools/luci/vpython/${platform}",
+ "path": "cipd_bin_packages",
+ "version": "git_revision:1c18d1c5df836f9427fa7dda0adba5be520ee251"
+ },
+ {
+ "name": "skia/bots/ccache_linux",
+ "path": "ccache_linux",
+ "version": "version:1"
+ },
+ {
+ "name": "skia/bots/clang_linux",
+ "path": "clang_linux",
+ "version": "version:30"
+ }
+ ],
+ "command": [
+ "cipd_bin_packages/vpython3${EXECUTABLE_SUFFIX}",
+ "-u",
+ "skia/infra/bots/run_recipe.py",
+ "${ISOLATED_OUTDIR}",
+ "compile",
+ "{\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"buildername\":\"Build-Debian10-Clang-x86_64-Debug-FreeType\",\"swarm_out_dir\":\"build\"}",
+ "skia"
+ ],
+ "dependencies": [
+ "Housekeeper-PerCommit-BundleRecipes"
+ ],
+ "dimensions": [
+ "cpu:x86-64-Haswell_GCE",
+ "gpu:none",
+ "machine_type:n1-highcpu-64",
+ "os:Debian-10.3",
+ "pool:Skia"
+ ],
+ "environment": {
+ "RECIPES_USE_PY3": "true",
+ "VPYTHON_LOG_TRACE": "1"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "cipd_bin_packages/cpython3",
+ "cipd_bin_packages/cpython3/bin",
+ "cipd_bin_packages",
+ "cipd_bin_packages/bin"
+ ],
+ "VPYTHON_DEFAULT_SPEC": [
+ "skia/.vpython3"
+ ],
+ "VPYTHON_VIRTUALENV_ROOT": [
+ "cache/vpython3"
+ ]
+ },
+ "execution_timeout_ns": 3600000000000,
+ "extra_tags": {
+ "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
+ },
+ "idempotent": true,
+ "io_timeout_ns": 3600000000000,
+ "max_attempts": 2,
+ "outputs": [
+ "build"
+ ],
+ "service_account": "skia-external-compile-tasks@skia-swarming-bots.iam.gserviceaccount.com"
+ },
"Build-Debian10-Clang-x86_64-Debug-Graphite_Dawn_Vulkan": {
"caches": [
{
@@ -48841,6 +48944,111 @@
],
"service_account": "skia-external-gm-uploader@skia-swarming-bots.iam.gserviceaccount.com"
},
+ "Test-Debian10-Clang-GCE-CPU-AVX2-x86_64-Debug-All-NativeFonts_FreeType": {
+ "caches": [
+ {
+ "name": "vpython3",
+ "path": "cache/vpython3"
+ }
+ ],
+ "casSpec": "test",
+ "cipd_packages": [
+ {
+ "name": "infra/3pp/tools/cpython3/linux-amd64",
+ "path": "cipd_bin_packages/cpython3",
+ "version": "version:2@3.11.7.chromium.31"
+ },
+ {
+ "name": "infra/tools/luci-auth/${platform}",
+ "path": "cipd_bin_packages",
+ "version": "git_revision:1c18d1c5df836f9427fa7dda0adba5be520ee251"
+ },
+ {
+ "name": "infra/tools/luci/kitchen/${platform}",
+ "path": ".",
+ "version": "git_revision:1c18d1c5df836f9427fa7dda0adba5be520ee251"
+ },
+ {
+ "name": "infra/tools/luci/vpython/${platform}",
+ "path": "cipd_bin_packages",
+ "version": "git_revision:1c18d1c5df836f9427fa7dda0adba5be520ee251"
+ },
+ {
+ "name": "skia/bots/gsutil",
+ "path": "gsutil",
+ "version": "version:0"
+ },
+ {
+ "name": "skia/bots/skimage",
+ "path": "skimage",
+ "version": "version:47"
+ },
+ {
+ "name": "skia/bots/skp",
+ "path": "skp",
+ "version": "version:448"
+ },
+ {
+ "name": "skia/bots/skparagraph",
+ "path": "skia/resources/extra_fonts",
+ "version": "version:4"
+ },
+ {
+ "name": "skia/bots/svg",
+ "path": "svg",
+ "version": "version:14"
+ }
+ ],
+ "command": [
+ "cipd_bin_packages/vpython3${EXECUTABLE_SUFFIX}",
+ "-u",
+ "skia/infra/bots/run_recipe.py",
+ "${ISOLATED_OUTDIR}",
+ "test",
+ "{\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"buildbucket_build_id\":\"<(BUILDBUCKET_BUILD_ID)\",\"buildername\":\"Test-Debian10-Clang-GCE-CPU-AVX2-x86_64-Debug-All-NativeFonts_FreeType\",\"dm_flags\":\"[\\\"dm\\\",\\\"--nameByHash\\\",\\\"--key\\\",\\\"arch\\\",\\\"x86_64\\\",\\\"compiler\\\",\\\"Clang\\\",\\\"configuration\\\",\\\"Debug\\\",\\\"cpu_or_gpu\\\",\\\"CPU\\\",\\\"cpu_or_gpu_value\\\",\\\"AVX2\\\",\\\"extra_config\\\",\\\"NativeFonts_FreeType\\\",\\\"model\\\",\\\"GCE\\\",\\\"os\\\",\\\"Debian10\\\",\\\"style\\\",\\\"default\\\",\\\"--randomProcessorTest\\\",\\\"--nogpu\\\",\\\"--config\\\",\\\"8888\\\",\\\"--src\\\",\\\"tests\\\",\\\"gm\\\",\\\"--skip\\\",\\\"_\\\",\\\"test\\\",\\\"_\\\",\\\"BigImageTest_Ganesh\\\",\\\"_\\\",\\\"image\\\",\\\"gen_platf\\\",\\\"error\\\",\\\"--nativeFonts\\\",\\\"--paragraph_fonts\\\",\\\"extra_fonts\\\",\\\"--norun_paragraph_tests_needing_system_fonts\\\",\\\"--verbose\\\"]\",\"dm_properties\":\"{\\\"buildbucket_build_id\\\":\\\"<(BUILDBUCKET_BUILD_ID)\\\",\\\"builder\\\":\\\"Test-Debian10-Clang-GCE-CPU-AVX2-x86_64-Debug-All-NativeFonts_FreeType\\\",\\\"gitHash\\\":\\\"<(REVISION)\\\",\\\"issue\\\":\\\"<(ISSUE)\\\",\\\"patch_storage\\\":\\\"<(PATCH_STORAGE)\\\",\\\"patchset\\\":\\\"<(PATCHSET)\\\",\\\"swarming_bot_id\\\":\\\"${SWARMING_BOT_ID}\\\",\\\"swarming_task_id\\\":\\\"${SWARMING_TASK_ID}\\\",\\\"task_id\\\":\\\"<(TASK_ID)\\\"}\",\"do_upload\":\"true\",\"gold_hashes_url\":\"https://gold.skia.org/json/v1/hashes\",\"gs_bucket\":\"skia-infra-gm\",\"images\":\"true\",\"patch_issue\":\"<(ISSUE_INT)\",\"patch_ref\":\"<(PATCH_REF)\",\"patch_repo\":\"<(PATCH_REPO)\",\"patch_set\":\"<(PATCHSET_INT)\",\"patch_storage\":\"<(PATCH_STORAGE)\",\"repository\":\"<(REPO)\",\"resources\":\"true\",\"revision\":\"<(REVISION)\",\"skps\":\"true\",\"svgs\":\"true\",\"swarm_out_dir\":\"test\",\"task_id\":\"<(TASK_ID)\"}",
+ "skia"
+ ],
+ "dependencies": [
+ "Build-Debian10-Clang-x86_64-Debug-FreeType",
+ "Housekeeper-PerCommit-BundleRecipes"
+ ],
+ "dimensions": [
+ "cpu:x86-64-Haswell_GCE",
+ "machine_type:n1-standard-16",
+ "os:Debian-10.3",
+ "pool:Skia"
+ ],
+ "environment": {
+ "RECIPES_USE_PY3": "true",
+ "VPYTHON_LOG_TRACE": "1"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "gsutil/gsutil",
+ "cipd_bin_packages/cpython3",
+ "cipd_bin_packages/cpython3/bin",
+ "cipd_bin_packages",
+ "cipd_bin_packages/bin"
+ ],
+ "VPYTHON_DEFAULT_SPEC": [
+ "skia/.vpython3"
+ ],
+ "VPYTHON_VIRTUALENV_ROOT": [
+ "cache/vpython3"
+ ]
+ },
+ "execution_timeout_ns": 14400000000000,
+ "expiration_ns": 72000000000000,
+ "extra_tags": {
+ "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
+ },
+ "io_timeout_ns": 14400000000000,
+ "max_attempts": 2,
+ "outputs": [
+ "test"
+ ],
+ "service_account": "skia-external-gm-uploader@skia-swarming-bots.iam.gserviceaccount.com"
+ },
"Test-Debian10-Clang-GCE-CPU-AVX2-x86_64-Debug-All-OldestSupportedSkpVersion": {
"caches": [
{