Команды с выделенными удалёнными Mac (M4 / M4 Pro) в Сингапуре, Японии, Южной Корее, Гонконге, востоке и западе США часто упираются в статические библиотеки только x86_64, старые бинарники CLT или fat/universal артефакты. Здесь сведены боли, матрица решений, шестишаговый runbook, KPI и FinOps аренды со ссылками на Flutter/React Native на одном хосте, гигиену DerivedData и зеркала CocoaPods/SPM и диск.
Без флага REQUIRES_ROSETTA даже M4 сжигает минуты на ошибочных повторных линковках и агрессивных clean. Считайте ARCHS равноправным с параллелизмом runner (self-hosted).
Rosetta не бесплатна: меняет пик памяти и запись SSD; вместе с двойным мобильным стеком даёт «CPU пуст, job красный».
Регион чинит латентность и микс аренды; если зеркала рядом, а сборка красная — сначала ARCHS, потом мультирегиональный гайд.
| Измерение | Весь arm64 | Микс / Rosetta | Красная линия |
|---|---|---|---|
| Граф линковки | lipo везде arm64 |
Инвентарь x86 с датой заката | Смешанные статические архивы без xcframework |
| Дисциплина времени | Низкая дисперсия | Выше — отдельный дашборд | >35% без сетевых событий |
| Память | Осторожно ↑ параллелизм | Параллелизм −1, без тяжёлого Simulator-mix | Рост swap |
| Диск | Прогнозируемый рост | Fat binaries → чаще чистка | <12 ГБ свободно |
| Аренда | День/неделя часто достаточно | Короткий «compat burn-in» | Основной lease без статьи бюджета на Rosetta |
Первый принцип: Rosetta 2 — динамическая трансляция, не «дополнительные ядра»; меняет форму пиков и воспроизводимость.
uname -m и lipo -info в начале job.ARCHS.set -euo pipefail echo "machine: $(uname -m)" find "$WORKSPACE/Pods" -name "*.a" -maxdepth 6 2>/dev/null | head -n 40 | while read -r f; do echo "---- $f" lipo -info "$f" || file "$f" done xcodebuild -scheme "$SCHEME" -configuration Debug ONLY_ACTIVE_ARCH=YES ARCHS=arm64
Нет воспроизводимого архитектурного контракта.
MACCOME — bare-metal Mac mini M4 / M4 Pro с гибкой арендой в шести ключевых регионах, когда политика ARCHS, параллелизм и скрипты очистки должны жить в одной книге с горячими путями Git/артефактов.
ARCHS_POLICY.md + BINARY_INVENTORY.csvСогласовать с monorepo FinOps.
Всё xcframework, CI только iOS arm64, нет macOS universal — идите к материалам про Runner/Simulator.
Вопросы
Только x86_64 через EXCLUDED_ARCHS=arm64?
Только для legacy с планом вывода. Цены аренды.
Fat binaries и короткая аренда диска?
Да — окна очистки и 1TB/2TB. Центр помощи.