Проект на Rust
Help me get started with Tuist. Follow the setup at:
https://tuist.dev/en/docs/guides/get-started/rust-project
Предварительные требования#
- Проект на Rust, собранный с помощью Cargo.
- CLI Tuist и аккаунт Tuist.
Tuist работает с вашим существующим проектом Cargo. Вам не нужно добавлять зависимость Rust или менять способ сборки проекта.
Подключение проекта#
Установите CLI Tuist и Rust. Создайте проект в дашборде, выбрав Cargo (Rust) в качестве системы сборки. Добавьте tuist.toml в корень вашего репозитория:
project = "account/project"
# url = "https://your-tuist-server.example.com"
Выполните вход с помощью tuist auth login, затем запускайте обычные команды Cargo через Tuist. В CI установите для TUIST_TOKEN токен проекта. Вы также можете задать TUIST_PROJECT вместо добавления файла конфигурации и TUIST_URL, если используете самостоятельно размещенный сервер.
tuist cargo build --workspace
tuist cargo check --all-targets
tuist cargo test --workspace
Используйте те же аргументы, которые вы обычно передаете Cargo, включая возможности (features), тулчейны и фильтры тестов. Cargo сохраняет свой обычный вывод и код выхода, даже если Tuist не может загрузить отчет.
Продолжайте использовать Cargo#
При включенных обертках команд mise добавьте следующее в mise.toml:
[wrappers.cargo]
command = "tuist"
args = ["cargo"]
Выполните mise reshim после добавления обертки. Затем вы сможете как обычно использовать cargo build, cargo check и cargo test. Mise будет запускать их через Tuist за вас.
Это полезно при работе с агентами написания кода: они могут продолжать выполнять cargo build и cargo test, не нуждаясь в напоминании добавить префикс tuist.
Кэш компиляции#
tuist cargo build автоматически кэширует подходящие библиотеки-листья из реестра локально и через удаленный кэш Kura. Дополнительная настройка инструментов или кэша не требуется. Кэш находится в экспериментальной стадии и пока не охватывает все компиляции или повторное использование при разных путях checkout. См. кэш Rust для получения информации о поддерживаемых компиляциях, аутентификации и способах проверки повторного использования.
Аналитика сборок#
Откройте раздел Сборки в дашборде, чтобы увидеть длительность ваших сборок и сравнить локальные сборки со сборками в CI. Выберите сборку, чтобы найти крейты, компиляция которых заняла больше всего времени, и изучить предупреждения и ошибки.
Время компиляции указывается для крейтов, а не для отдельных исходных файлов. См. аналитику сборок Rust для получения дополнительной информации о чтении отчета о сборке.
Аналитика тестов#
Запускайте тесты как обычно:
tuist cargo test --workspace
Откройте раздел Тесты в дашборде, чтобы увидеть пройденные, упавшие и проигнорированные тесты, включая doctests. Cargo сообщает длительность наборов тестов, но стабильная версия libtest не предоставляет время выполнения отдельных тестов.
Чтобы запустить только doctests:
tuist cargo test --doc
Подробнее читайте в разделах аналитика тестов Rust и нестабильные тесты Rust.