Size: a a a

2021 April 17

V

Vetro in Rust Async
В основном из кэша мульти стейджа просто копируется и уже сам бинарник собирается
источник

D

Denis in Rust Async
не, подожди, компиляция зависимостей — это отдельная история, у тебя ж щас получается карго каждый раз синхронизируется с crates.io и выкачивает заново все крейты, так?
источник

V

Vetro in Rust Async
Нет
источник

D

Denis in Rust Async
а как кэшируется ~/.cargo/registry?
источник

D

Denis in Rust Async
ну не суть в общем, если как-то кэшируется, то получается, сетап-то не виноват, просто сборка растокода, очевидно, занимает больше времени, чем ноль в случаев питонов и прочих )
источник

V

Vetro in Rust Async
Пардон
источник

V

Vetro in Rust Async
Наврал, действительно
источник

D

Denis in Rust Async
тогда кэшируй ~/.cargo/registry и станет сильно быстрей :)
источник

V

Vetro in Rust Async
Окей, спасибо!
источник

G

George in Rust Async
А как? У меня тоже multi-stage билд, как раз в основу сейчас печатал по поводу того, что cargo fetch каждый раз запускается
источник

V

Vetro in Rust Async
А sccache лучше маунтить или просто registry и target?
источник

G

George in Rust Async
https://gist.github.com/ShagonRU/b0712009a15c2c7e06a76ab7a8264be2
Сейчас мой докерфайл выглядит вот так. Это даёт маленький образ, но билды болезненные. Хотелось бы экономить время и кредитоминуты CI/CD
источник

D

Denis in Rust Async
я от sccache отказался, потому что от него слишком много проблем, где-то каждый третий билд падал по необъяснимым причинам
источник

V

Vetro in Rust Async
Понял
источник

D

Denis in Rust Async
ну по идее оно ж кэшируется, если ты Cargo.toml и прочие конфиги не меняешь
источник

D

Denis in Rust Async
а не, fetch после копирования исходников делается
источник

D

Denis in Rust Async
делай до :)
источник

D

Denis in Rust Async
можно создавать пустой src/main.rs, например, и фетчить
источник

D

Denis in Rust Async
типа
COPY Cargo.toml   /app/Cargo.toml
RUN mkdir -p /tmp/cache/src/ && touch /tmp/cache/src/main.rs && cargo fetch --manifest-path /tmp/cache/Cargo.tom && rm -rf /tmp/cache
источник

G

George in Rust Async
И такие танцы реально будут работать? О_о
источник