<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ydb/build/scripts, branch main</title>
<subtitle>Mirror of YDB github repos</subtitle>
<id>https://code.mastervirt.ru/ydb/atom?h=main</id>
<link rel='self' href='https://code.mastervirt.ru/ydb/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/'/>
<updated>2026-06-07T10:10:56Z</updated>
<entry>
<title>move classpath related args into response file</title>
<updated>2026-06-07T10:10:56Z</updated>
<author>
<name>svidyuk</name>
<email>svidyuk@yandex-team.com</email>
</author>
<published>2026-06-07T09:47:14Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=a8b050e377070a7c88ed88a369ac8181c008c3a2'/>
<id>urn:sha1:a8b050e377070a7c88ed88a369ac8181c008c3a2</id>
<content type='text'>
classpath length is proportional to a number of a project transitive dependencies and
is not limited by any reasonable upper bound.
commit_hash:d9f3eb9016298ce371b2c632e70e78d60f7b3ee7
</content>
</entry>
<entry>
<title>Disable Java Annotation Processing by default</title>
<updated>2026-06-01T08:14:30Z</updated>
<author>
<name>dimdim11</name>
<email>dimdim11@yandex-team.com</email>
</author>
<published>2026-06-01T07:46:14Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=6235253fe7334a180da4c9cae6c1dd4d24c253cf'/>
<id>urn:sha1:6235253fe7334a180da4c9cae6c1dd4d24c253cf</id>
<content type='text'>
commit_hash:b1d2bd3f39ea9039fb7bd70d18f20ff7cad737d2
</content>
</entry>
<entry>
<title>Use Local=False mode for make coverage data</title>
<updated>2026-05-29T09:10:44Z</updated>
<author>
<name>dimdim11</name>
<email>dimdim11@yandex-team.com</email>
</author>
<published>2026-05-28T21:41:27Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=4c1fc925f6752e94b8d6a769c4983f894bab46b2'/>
<id>urn:sha1:4c1fc925f6752e94b8d6a769c4983f894bab46b2</id>
<content type='text'>
Use Local=False mode for make coverage data
commit_hash:9ec3fd45232a4960081116b45a4e9bd8667ef5e1
</content>
</entry>
<entry>
<title>Implement PARALLEL_TESTS_WITHIN_NODE for java</title>
<updated>2026-05-29T08:30:17Z</updated>
<author>
<name>ayevttukh</name>
<email>ayevttukh@yandex-team.com</email>
</author>
<published>2026-05-28T17:17:48Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=4a79d4a552c323a839ab6b94136b98bd3e601d76'/>
<id>urn:sha1:4a79d4a552c323a839ab6b94136b98bd3e601d76</id>
<content type='text'>
commit_hash:68b519ca14bc9c0656b7e38db569a04aca127e65
</content>
</entry>
<entry>
<title>remap -Xfriend-paths to interface jar when ijar is active</title>
<updated>2026-05-25T22:44:00Z</updated>
<author>
<name>iniklyaev</name>
<email>iniklyaev@yandex-team.com</email>
</author>
<published>2026-05-25T22:06:23Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=b24e4a4105f85b5bbeff7eed04607ae562edad06'/>
<id>urn:sha1:b24e4a4105f85b5bbeff7eed04607ae562edad06</id>
<content type='text'>
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
</content>
</entry>
<entry>
<title>Fix Windows go_tool.py linking + smoke test</title>
<updated>2026-05-25T15:05:44Z</updated>
<author>
<name>zienag</name>
<email>zienag@yandex-team.com</email>
</author>
<published>2026-05-25T14:28:52Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=68351f08c7b172ecf6c235416133e750fc1cba1a'/>
<id>urn:sha1:68351f08c7b172ecf6c235416133e750fc1cba1a</id>
<content type='text'>
Фикс 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
</content>
</entry>
<entry>
<title>Tests for Go SSO script and minor fixes in go SSO</title>
<updated>2026-05-15T14:51:12Z</updated>
<author>
<name>dimdim11</name>
<email>dimdim11@yandex-team.com</email>
</author>
<published>2026-05-15T14:24:37Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=17c23a462978eb3f2a10a11371e7ac0c7045ae0f'/>
<id>urn:sha1:17c23a462978eb3f2a10a11371e7ac0c7045ae0f</id>
<content type='text'>
Refactor tests and some fixes in Go SSO
Tests for Go SSO script
commit_hash:31a766a749be2a9ca05bbca314a2f159c2b6507d
</content>
</entry>
<entry>
<title>Fix clang analyzer after enabling debug section zstd compression</title>
<updated>2026-05-14T18:58:34Z</updated>
<author>
<name>svidyuk</name>
<email>svidyuk@yandex-team.com</email>
</author>
<published>2026-05-14T18:34:53Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=4e50aca37d1b5ca6ddb1aa7c7ac23a22275fef41'/>
<id>urn:sha1:4e50aca37d1b5ca6ddb1aa7c7ac23a22275fef41</id>
<content type='text'>
commit_hash:10a3174bd909631074d85243caff1e54ec53b646
</content>
</entry>
<entry>
<title>Support any one package name for Go 1.25 coverage</title>
<updated>2026-05-14T17:47:32Z</updated>
<author>
<name>dimdim11</name>
<email>dimdim11@yandex-team.com</email>
</author>
<published>2026-05-14T17:00:45Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=f193ad3afbddfbe2e999c60431c2d42ca79d1750'/>
<id>urn:sha1:f193ad3afbddfbe2e999c60431c2d42ca79d1750</id>
<content type='text'>
Support any one package name for Go 1.25 coverage
commit_hash:c2c5ba2c3b4e18dddf4518abaf6dec045ef8c3cf
</content>
</entry>
<entry>
<title>feat all: use zstd compression of debug symbols on Linux</title>
<updated>2026-05-14T02:58:43Z</updated>
<author>
<name>antoshkka</name>
<email>antoshkka@yandex-team.com</email>
</author>
<published>2026-05-14T02:43:34Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=f7d65ad0e53d72f9fb0c8bc0ea465d525ebcb89d'/>
<id>urn:sha1:f7d65ad0e53d72f9fb0c8bc0ea465d525ebcb89d</id>
<content type='text'>
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&gt;&amp;1)

echo "$OUTPUT" | grep -om1 "^\[.* \[LD\] .*${SERVICE_NAME}/${SERVICE_NAME}" &gt;&gt;ld.txt
echo "$OUTPUT" | grep -om1 "^\[.* \[CC\] .*${SERVICE_NAME}/src/custom/dependencies.cpp" &gt;&gt;cc.txt
echo "$OUTPUT" &gt;&gt;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
</content>
</entry>
</feed>
