| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
Поднимаю compileSdk, targetSdk: 35 -> 36
Понадобилось для подключения kotlin-native модулей камеры в тест-апп. В камере используется sdk 36.
commit_hash:7cf3f51e915ad22b867f5eae1b4c4d146a296bcf
|
| |
|
|
|
|
|
| |
Adds an opt-in mode for clang-tidy to process generated sources.
By default, clang-tidy keeps the current behavior and skips sources from the build root. With `-DTIDY_ALLOW_GENERATED=yes`, the generated `clang_tidy.py` command receives `--allow-generated-sources` and does not skip those files.
commit_hash:7d7939f1fd226722c2a6a07a48ea025194897c73
|
| |
|
|
|
|
|
|
|
|
| |
**Feature-flag the persistent javac/kotlinc daemon and relocate its runtime dir to SHALLOW_ROOT**
The javac/kotlinc daemon is now opt-in via `ya make -DYA_JAVAC_DAEMON` (default off). Toggling it does not change node UIDs; enabling/disabling the daemon never invalidates the build cache.
The daemon's runtime dir (jar \+ logs) moves from `/tmp` to ya's `$(SHALLOW_ROOT)` via `YA_JAVAC_DAEMON_HOME`, so it works in environments where `/tmp` is unwanted. The unix socket stays in `/tmp` because of the AF_UNIX path limit; the socket name gains the jar hash to distinguish daemon versions across protocol changes.
This code is LLM-generated.
commit_hash:179a98b265f6458d04a6bf6c7d02721c90cc355b
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
**Persistent javac/kotlinc compilation daemon for `ya make` (opt-in)**
**Note:** the code in this PR was generated mostly by an LLM.
This PR adds an opt-in persistent compilation daemon that runs `javac` and `kotlinc` in-process inside a long-lived JVM, instead of spawning a fresh subprocess per build node. Each Java/Kotlin module today pays the full JVM \+ compiler startup cost (\~150–340 ms of startup, plus \~55 MB of kotlinc class-loading) on every node, which dominates the wall time of short compiles; amortizing that startup across all nodes in a build session yields measurable speedups (1.3x–3.7x CPU economy on the benchmarked targets, with zero correctness fallbacks or failed nodes).
The daemon (`devtools/buildstep_tools/javac_daemon`, a `JAVA_PROGRAM` built to a committed `JavacDaemon.jar`) listens on a Unix domain socket and runs both compilers concurrently; a thin Python client in the existing build scripts (`javac_daemon_client.py`, wired into `run_javac.py` / `compile_java.py` via `build/conf/java.conf`) decides per-node eligibility, routes launcher flags, selects/launches the right daemon instance, and **always falls back to a plain subprocess** on any doubt (old JDK, resource JVM flag, denied annotation processor, daemon error), so build correctness never depends on the daemon. The feature is **off by default** and activated only via `YA_JAVAC_DAEMON=1` passed to `ya make`; without it the build uses the existing subprocess path unchanged.
See `junk/iniklyaev/javac-daemon/DESIGN_javac_daemon.md` for the full design, flag-routing rules, fault-isolation model, and benchmark methodology.
commit_hash:f4e07c5bb51064e0bc24539348e01a85ff63a835
|
| |
|
|
|
|
|
|
|
|
| |
fix warning:
```
build/scripts/yndexer.py:31: DeprecationWarning: setDaemon() is deprecated, set the daemon attribute instead
thread.setDaemon(True)
```
commit_hash:e0f678398f698f93b319d3f864ba4ef495176df9
|
| |
|
|
|
|
| |
from conf
commit_hash:6e76745385a337c7399c1d643db30025b47f7bd5
|
| |
|
|
|
|
| |
Aggregates build_volume from .global.tidyjson inputs into clang-tidy suite metrics.
This keeps dependency statistics out of per-file test cases while preserving them as target-level metrics in the test trace.
commit_hash:56b9580abe19b8a9f336d6378cdec988bea4d778
|
| |
|
|
|
| |
Fixes for Go coverings empty source sets
commit_hash:8529d3bff57df23db59b0c15e97f33c25213e156
|
| |
|
|
| |
commit_hash:ff7a1cf6cf69a636f8a1ecd31af363331eb168be
|
| |
|
|
|
| |
When TIDY=yes, clang-tidy now calculates the total source volume of the translation unit (in bytes) and passes it to profile.build_volume. It is enabled by default
commit_hash:1a2608000828b09165d431c72cab0778d7a06355
|
| |
|
|
| |
commit_hash:a4643a5df8002e7f8387908a1dbc89448935125a
|
| |
|
|
| |
commit_hash:a8994274757635fd3a37114db47a7cf2db9c3cb8
|
| |
|
|
|
|
| |
classpath length is proportional to a number of a project transitive dependencies and
is not limited by any reasonable upper bound.
commit_hash:d9f3eb9016298ce371b2c632e70e78d60f7b3ee7
|
| |
|
|
| |
commit_hash:b1d2bd3f39ea9039fb7bd70d18f20ff7cad737d2
|
| |
|
|
|
| |
Use Local=False mode for make coverage data
commit_hash:9ec3fd45232a4960081116b45a4e9bd8667ef5e1
|
| |
|
|
| |
commit_hash:68b519ca14bc9c0656b7e38db569a04aca127e65
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
When ijar compilation is active, the classpath contains X-interface.jar
instead of X.jar. Kotlin only grants 'internal' visibility access via
-Xfriend-paths when the specified path matches a classpath entry.
Fix: in run_javac.py, for Kotlin compilations, rewrite any
-Xfriend-paths=X.jar argument to -Xfriend-paths=X-interface.jar when
X-interface.jar exists on disk. This restores access to 'internal'
members for test modules that use -Xfriend-paths without requiring
changes to user ya.make files.
commit_hash:a11a6acd8994258a32090a71de9a55d5aeccc5dd
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Фикс go_tool.py + тест.
go_tool.py пишет аргументы линкера в response file и зовёт `go link @file`.
Линкер парсит файл через cmd/internal/objabi.DecodeArg, который трактует
`\` как начало эскейпа и падает ("badly formatted input") на всём кроме
`\\` и `\n`. На Windows-хосте пути вида `C:\place\...\main.a` валят сборку
любой GO_PROGRAM.
Фикс: писать аргументы через аналог Go EncodeArg (`\` → `\\`, `\n` → `\n`)
и открывать tempfile с newline='\n', чтобы текстовый режим Python не
подменял переводы строк на CRLF.
Добавлен build/tests/scripts/go_win_smoke — крошечный GO_PROGRAM и PY3TEST,
которые гоняются под common/arcadia/ya_make_windows на нативном Windows.
commit_hash:ef8abe298a65d1cf1c1463a16f937a31db2b6fb2
|
| |
|
|
|
|
| |
Refactor tests and some fixes in Go SSO
Tests for Go SSO script
commit_hash:31a766a749be2a9ca05bbca314a2f159c2b6507d
|
| |
|
|
| |
commit_hash:10a3174bd909631074d85243caff1e54ec53b646
|
| |
|
|
|
| |
Support any one package name for Go 1.25 coverage
commit_hash:c2c5ba2c3b4e18dddf4518abaf6dec045ef8c3cf
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
File sizes:
```
-g 910385468 Jan 1 1970 libyt-yt-client.a
-g -gz 589148980 May 6 12:16 libyt-yt-client.a
-g -gz=zstd 585019668 May 6 12:34 libyt-yt-client.a
-g -gz=zstd 1674173480 May 6 13:27 drive-billing-exports
-g -gz=zstd -Wl,--compress-debug-sections=zstd 899287344 May 6 14:00 drive-billing-exports
```
Mesured compile+link times with the following script:
```
arc checkout .
sed -i "s/${SERVICE_NAME}/${SERVICE_NAME}_${I}_${RANDOM}_${RANDOM}_${RANDOM}_${RANDOM}_${RANDOM}_${RANDOM}/g" src/custom/dependencies.cpp
OUTPUT=$(~/workspace/arcadia/ya make --stat 2>&1)
echo "$OUTPUT" | grep -om1 "^\[.* \[LD\] .*${SERVICE_NAME}/${SERVICE_NAME}" >>ld.txt
echo "$OUTPUT" | grep -om1 "^\[.* \[CC\] .*${SERVICE_NAME}/src/custom/dependencies.cpp" >>cc.txt
echo "$OUTPUT" >>full.txt
```
Trunk times in milliseconds:
CC: 8944 8405 8117 11203 19236 11660 9149 24319 21236 14753 25508 28099 9226 31387 9555 11268 9088 10640 13751 8855 11266 9141 8168 8712 11111 10235 28576 8996 9362 8973 9055 9822
LD: 5956 9394 15380 9055 7089 7308 15433 12948 14123 5524 4808 10559 6837 4906 18253 5208 16335 7493 5180 47220 12491 21603 34733 4432 5353 8633 4732 25937 19158 24316 5825 7357
ZSTD times in milliseconds:
CC: 10180 8017 13135 8569 16033 17698 12524 8442 12902 7797 20236 7857 14715 8096 8541 9232 10839 8989 8988 17173 8211 8737 22424 8139 23770 8622 13765 12744 8204 23573 8358 8123 9091 18869
LD: 6125 5914 6975 21408 15227 7309 6401 13417 8862 24954 5509 33813 6207 5571 15423 5716 5807 6352 16953 6064 22793 14156 7203 10811 6287 15363 6259 5897 25905 5400 20217 5624 17351 6593
```
| CC min | CC median | CC max | CC avg | LD min | LD median | LD max | LD avg
------|--------|-----------|--------|--------|--------|-----------|--------|-------
Trunk | 8117 | 9822 | 31387 | 13369 | 4432 | 8633 | 47220 | 12612
ZSTD | 7797 | 9091 | 23770 | 12135 | 5400 | 6975 | 33813 | 11584
```
**Compilation time and linking time drop down on ~10%**
**Conclusion**: archive and binary sizes drop down on 33%-45%. As a result:
* OS FS cache works better, less files required for compilation are flushed out from memory
* linking touches smaller files and works faster
* compilation produces smaller files and does less slow disk IO
commit_hash:6053e4fe15a64966bd96c99dbc7a068c3a2cc0e7
|
| |
|
|
| |
commit_hash:5fb76d5479c4990d9c9a2876f9e5753820f32ed1
|
| |
|
|
|
|
| |
This reverts commit bebcd6cedb271b14b7d771d50924c005ab9375bf, reversing
changes made to 700c24e95953f7be1a6c425a35dbf7d41492469a.
commit_hash:e14a9ef12e284a3ba034063c3c03b0d57323e574
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
File sizes:
```
-g 910385468 Jan 1 1970 libyt-yt-client.a
-g -gz 589148980 May 6 12:16 libyt-yt-client.a
-g -gz=zstd 585019668 May 6 12:34 libyt-yt-client.a
-g -gz=zstd 1674173480 May 6 13:27 drive-billing-exports
-g -gz=zstd -Wl,--compress-debug-sections=zstd 899287344 May 6 14:00 drive-billing-exports
```
Mesured compile+link times with the following script:
```
arc checkout .
sed -i "s/${SERVICE_NAME}/${SERVICE_NAME}_${I}_${RANDOM}_${RANDOM}_${RANDOM}_${RANDOM}_${RANDOM}_${RANDOM}/g" src/custom/dependencies.cpp
OUTPUT=$(~/workspace/arcadia/ya make --stat 2>&1)
echo "$OUTPUT" | grep -om1 "^\[.* \[LD\] .*${SERVICE_NAME}/${SERVICE_NAME}" >>ld.txt
echo "$OUTPUT" | grep -om1 "^\[.* \[CC\] .*${SERVICE_NAME}/src/custom/dependencies.cpp" >>cc.txt
echo "$OUTPUT" >>full.txt
```
Trunk times in milliseconds:
CC: 8944 8405 8117 11203 19236 11660 9149 24319 21236 14753 25508 28099 9226 31387 9555 11268 9088 10640 13751 8855 11266 9141 8168 8712 11111 10235 28576 8996 9362 8973 9055 9822
LD: 5956 9394 15380 9055 7089 7308 15433 12948 14123 5524 4808 10559 6837 4906 18253 5208 16335 7493 5180 47220 12491 21603 34733 4432 5353 8633 4732 25937 19158 24316 5825 7357
ZSTD times in milliseconds:
CC: 10180 8017 13135 8569 16033 17698 12524 8442 12902 7797 20236 7857 14715 8096 8541 9232 10839 8989 8988 17173 8211 8737 22424 8139 23770 8622 13765 12744 8204 23573 8358 8123 9091 18869
LD: 6125 5914 6975 21408 15227 7309 6401 13417 8862 24954 5509 33813 6207 5571 15423 5716 5807 6352 16953 6064 22793 14156 7203 10811 6287 15363 6259 5897 25905 5400 20217 5624 17351 6593
```
| CC min | CC median | CC max | CC avg | LD min | LD median | LD max | LD avg
------|--------|-----------|--------|--------|--------|-----------|--------|-------
Trunk | 8117 | 9822 | 31387 | 13369 | 4432 | 8633 | 47220 | 12612
ZSTD | 7797 | 9091 | 23770 | 12135 | 5400 | 6975 | 33813 | 11584
```
**Compilation time and linking time drop down on ~10%**
**Conclusion**: archive and binary sizes drop down on 33%-45%. As a result:
* OS FS cache works better, less files required for compilation are flushed out from memory
* linking touches smaller files and works faster
* compilation produces smaller files and does less slow disk IO
commit_hash:bebcd6cedb271b14b7d771d50924c005ab9375bf
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
<section id="quibbler-autodescription">
#### Исправление скрипта распаковки tar-архива 📝
- 🛠️ Обновлён механизм распаковки tar-архива с использованием встроенного модуля `tarfile` в качестве резервного варианта, если системная команда `tar` недоступна.
- 🧪 Добавлена проверка исполняемости команды `tar` перед её использованием, обеспечивая более надёжную работу скрипта.
- 📦 Изменена логика работы с архивами: теперь поддерживается распаковка как через системную утилиту, так и через Python-модуль, что повышает совместимость.
- 📁 Упрощён код основной функции, вынесена логика распаковки в отдельную функцию `unpack_dir` для лучшей читаемости и поддержки.
- 📦 Обновлены параметры сборки: изменён формат архива с `.tar.gz` на `.tar.zst` и добавлен параметр сжатия `zstd`.
- 🔄 Исправлен путь к скрипту распаковки в конфигурации сборки, теперь он указывает на актуальное расположение файла.
<a href="https://nda.ya.ru/t/qa0kX64r7DqvtN"><font size="2">Autodescription by Yandex Code Assistant</font></a>
</section>
commit_hash:b2b7d3aa3bb8543aae5627c43536c1bfca5a9cfe
|
| |
|
|
|
|
| |
ya package
commit_hash:61c6668829d1d4a00cae6e046cacdc31496010e3
|
| |
|
|
|
| |
Print human readable description instead of misleading compiler help message.
commit_hash:78aa6c12f5a3b88535805f3dc5f39565c1295493
|
| |
|
|
| |
commit_hash:8c93eea4565075c47db3532653529ae3b7a76e40
|
| |
|
|
| |
commit_hash:9d59413e4935e2c5b33c1a84bf6244c151fe16e7
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
#### Обновление clang до версии 18 и оптимизация фильтрации флагов для BPF 📝
- 🛠️ Обновлен инструмент компиляции с clang14 на clang18 для генерации eBPF-кода
- 🧹 Удалены дублирующиеся флаги целевой архитектуры при сборке BPF-модулей
- 📦 Оптимизирован фильтр флагов компилятора для исключения STL-заголовков в BPF-сборке
- 📝 Удалены устаревшие флаги `-march=bpf`, так как они больше не требуются при использовании clang18
- 🧪 Уточнена конфигурация оптимизаций для BPF-модулей, включая флаги `-mcpu=v3` и `-O2`
<a href="https://nda.ya.ru/t/qa0kX64r7DqvtN"><font size="2">Autodescription by Yandex Code Assistant</font></a>
commit_hash:e4e0178f359b52d5961185edf15ec8a8648765e4
|
| |
|
|
| |
commit_hash:35714ea1cb62649a0482502ac3bf0912803e1ad6
|
| |
|
|
| |
commit_hash:3b3a73c72b12bf59c5ff009a535b93abadb1f96a
|
| |
|
|
| |
commit_hash:ef7b604b707e213dbd9fbaf1cc1e7c4cbd7c4f4c
|
| |
|
|
|
| |
#| || **<a href="https://nda.ya.ru/t/NmXL8DSH7W8pjd" target="_blank"> Echo tests</a>** || |#
commit_hash:595f1e5ce2f0b1215088b7c8d2b79f07955f9a4b
|
| |
|
|
|
|
|
|
|
|
| |
Тестировалось так:
```
mikhnenko@jakku:~/arcadia$ ya m devtools/dummy_arcadia/hello_go --target-platform=default-emscripten-wasm32 --sandboxing
mikhnenko@jakku:~/arcadia$ wasmtime devtools/dummy_arcadia/hello_go/hello_go
Hello, World!
```
commit_hash:95b3a3c437b7d0a64994c6b9aed97a1cc5ee8561
|
| |
|
|
|
| |
Добавляю тулчейны asan и msan, собранные с CUDA
commit_hash:3731067c580fc1343521a3a08cccbfb363f12ce2
|
| |
|
|
| |
commit_hash:e50a07bf54f78e9b26e88619aacf9ae76f68575b
|
| |
|
|
| |
commit_hash:24bf692e9b505b74d0b3cc7257a8ccb77c84ca64
|
| |
|
|
|
|
|
| |
IDs generated by different cicc invocations should match
ISSUE:
commit_hash:7cd593cee44b31875e7166709d7614dcfa3f1f14
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
compilation
Instead of a single graph node launching NVCC to compile .cu for both host and all device architectures
CUDA_SRCS generates multiple nodes:
- node per each device architecture producing PTX and CUBIN
- node merging all PTX and CUBIN files into a single FATBIN blob
- node producing .cpp with host code
- node compiling host .cpp with embedded FATBIN blob
CUDA_ARCHITECTURES variable is used to determine the list of architectures to compile device code for.
ISSUE:
commit_hash:0a4c2797dd238ae062482af30694df6978301278
|
| |
|
|
| |
commit_hash:42cbe679894a95a825348d1af0e50bac0c87a7eb
|
| |
|
|
| |
commit_hash:d23fab7a0d429fff427da7d877e63fc4eee2ed4f
|
| |
|
|
|
|
| |
DOCSBOOK
commit_hash:5a3ad292b315b6435b4929ce2a5dfe5f9ffed7cf
|
| |
|
|
| |
commit_hash:c8efa31c9cc0e080a87437782707506a75fbf48c
|
| |
|
|
| |
commit_hash:650c7d56fe7044ca181cce3e6feac7b7f28b4e41
|
| |
|
|
| |
commit_hash:8bb7796dc00308eff1ba80875b36a09d2c23b366
|
| |
|
|
| |
commit_hash:a56e54a5e36856311957f70412a32eaab769532e
|
| |
|
|
| |
commit_hash:6cec762a041602a74dce5a4c6c3828f032b4344f
|
| |
|
|
| |
commit_hash:044bb76cacea25d38a1939236f98aa8e3d6b4def
|