Hacker News Digest

Тег: #bazel

Постов: 4

Mise: Monorepo Tasks (github.com) 🔥 Горячее

Инструмент mise теперь поддерживает задачи в монорепозиториях, позволяя запускать команды в нескольких проектах одновременно. Это упрощает управление зависимостями и скриптами, особенно при работе с большими кодовыми базами. Например, можно выполнить mise run build для сборки всех проектов или mise run test для запуска тестов.

Ключевое преимущество — автоматическое определение контекста и зависимостей между проектами, что сокращает рутинные операции. Интеграция с существующими инструментами вроде npm scripts делает переход плавным. Такой подход экономит время и снижает вероятность ошибок при ручном управлении задачами.

by jdxcode • 06 октября 2025 г. в 14:07 • 346 points

ОригиналHN

#mise#monorepo#npm#nodejs#python#rust#go#bazel#nix#turborepo

Комментарии (79)

  • Пользователи высоко оценивают mise за универсальность в управлении версиями языков (Node, Python, Rust, Go) и инструментами в одном конфиге, упрощающую onboarding в проектах.
  • Отмечается удобство встроенного раннера задач, который заменяет Makefile/Just и работает в монорепозиториях, обеспечивая единый интерфейс для задач независимо от языка.
  • Высказываются опасения по поводу сложности PATH-менеджмента и возможного чрезмерного расширения функциональности (например, отсутствие кэширования задач и поддержки Windows).
  • Некоторые пользователи сравнивают mise с более сложными системами (Bazel, Nix), отмечая его как более простую альтернативу с низким порогом входа.
  • Обсуждаются интеграции с другими инструментами (uv, moon, turborepo) и необходимость улучшения документации, особенно для новичков.

Zig builds are getting faster (mitchellh.com) 🔥 Горячее 💬 Длинная дискуссия

Компиляция Zig становится значительно быстрее благодаря многолетней работе над оптимизацией компилятора. Например, сборка скрипта build.zig в версии 0.15 заняла всего 1,7 секунды против 7,2 секунд в версии 0.14. Полная сборка проекта Ghostty без кеша сократилась с 41 до 32 секунд, даже с использованием LLVM.

Особенно впечатляет скорость инкрементных сборок: пересборка библиотеки libghostty-vt после изменения одной строки теперь занимает менее секунды (975 мс против 2,9 секунд ранее). Это уже ощутимо ускоряет рабочий процесс, а в будущем, с отказом от LLVM и внедрением инкрементной компиляции, результаты станут ещё лучше — ожидаются миллисекундные задержки.

by emschwartz • 03 октября 2025 г. в 22:45 • 402 points

ОригиналHN

#zig#llvm#cranelift#tcc#go#vlang#julia#bazel#openbsd#kqueue

Комментарии (190)

  • LLVM рассматривается как ловушка из-за сложности тонкой настройки финальных оптимизаций и линковки, несмотря на преимущества в скорости начальной разработки и поддержке платформ. Cranelift и другие бэкенды могут стать альтернативой.
  • Zig фокусируется на скорости компиляции для разработки, используя собственный бэкенд для debug-сборок (x86_64) и LLVM для релизов. Есть баги, но инструментарий ценится за простую кросс-компиляцию и статическую линковку.
  • Быстрая компиляция (TCC, Go, Vlang) важна для итеративной разработки, но trade-off с оптимизацией кода неизбежен. Интерпретаторы или JIT-компиляция (Julia) предлагают альтернативы для интерактивности.
  • Интеграция Zig с системами сборки (Bazel) возможна через правила, но Turing-полные скрипты сборки могут усложнить кеширование. Библиотеки часто обходятся без кастомных скриптов.
  • Поддержка платформ (OpenBSD) требует доработки низкоуровневого IO (kqueue). Статическая линковка зависимостей в Zig упрощает деплой, но динамические библиотеки (libc, GUI) остаются.

CDC File Transfer (github.com) 🔥 Горячее

Google выпустила инструменты для синхронизации и потоковой передачи файлов между Windows и Linux. Основная цель — упростить работу разработчиков, которым нужно быстро и эффективно перемещать данные между этими операционными системами, особенно в гибридных средах. Решение оптимизировано для производительности и поддерживает как инкрементальные обновления, так и потоковую передачу в реальном времени.

Инструменты включают утилиты командной строки и API, что делает их гибкими для интеграции в автоматизированные процессы или скрипты. Это особенно полезно для DevOps-инженеров и системных администраторов, работающих с кросс-платформенными развертываниями. Проект открыт под лицензией Apache 2.0, что способствует его адаптации и улучшению сообществом.

by GalaxySnail • 01 октября 2025 г. в 02:38 • 354 points

ОригиналHN

#file-transfer#cross-platform#devops#hybrid-environments#cdc#rsync#apache-2.0#bazel#ibm-aspera#borg-backup

Комментарии (94)

  • Обсуждение алгоритма CDC (Content Defined Chunking) и его преимуществ перед rsync, включая скорость до 30 раз выше и эффективную обработку вставок и удалений в файлах.
  • Вопросы о совместимости и внедрении: поддержка только Windows-to-Linux, отсутствие Linux-to-Linux, сложности сборки с Bazel и предложения интегрировать улучшения в стандартный rsync.
  • Сравнение с другими инструментами и технологиями: IBM Aspera, Steam, borg backup, git, а также упоминания о монодиальном хешировании и методе lookahead для улучшения FastCDC.
  • Сожаления о закрытии Stadia и обсуждение невозможности её самохоста из-за DRM и кастомного железа, а также альтернатив для стриминга игр (Moonlight/Sunshine).
  • Критика выбора названия "CDC" из-за его неоднозначности (путаница с USB CDC и Control Data Corporation).

Modern CI is too complex and misdirected (2021) (gregoryszorc.com) 💬 Длинная дискуссия

Современные CI-платформы стали мощнее, но и сложнее. GitHub Actions, GitLab и др. предлагают YAML-конфиги с шаблонами, условиями, секретами, кешем, артефактами, экосистемой actions — в итоге CI превращается в полноценную систему сборки.

Базовые примитивы (задачи, зависимости, шаги) не отличаются от Makefile-ов, а добавление распределённого запуска и кеша делает CI почти идентичным современным билд-системам вроде Bazel.

Сложность растёт:

  • YAML становится языком программирования.
  • Пользователи копируют чужие конфиги, не понимая, что происходит.
  • Платформы закрываются на собственных экосистемах, создавая vendor lock-in.

Итог: вместо простого «удалённого запуска тестов» мы получили громоздкую систему, где границы между CI и build-системой стёрлись.

by thundergolfer • 20 августа 2025 г. в 03:30 • 170 points

ОригиналHN

#github-actions#gitlab#yaml#ci-cd#bazel#docker#build-systems#vendor-lock-in#bash#makefile

Комментарии (159)

  • Участники сходятся во мнении, что современные CI-системы слишком сложны и слишком «далеко» от разработчика, превращаясь в гибрид билд-системы и платформы.
  • Многие предлагают упрощение: локально-переносимые скрипты (Bash, Justfile, build.bash), контейнеры или минималистичные движки вроде builds.sr.ht, Drone OSS, Buildbot, Linci.
  • Критика YAML-конфигураций и SaaS-зависимости: GitHub Actions «застрял», GitLab CI мощнее, но всё равно требует «платформы».
  • Идея «CI должен быть просто расширением билд-системы» (Bazel, Nix, Dagger) звучит, но требует единого «Steve Jobs билд-систем», а не новых технологий.
  • Итог: пока нет серебряной пули; кто хочет простоты — пишет ./build.sh и запускает где угодно, кто хочет мощности — мирится с уровнем сложности текущих CI.