С develop #13 (23.09) этап Build v2 падает на первом же RUN (лог #16):
runc run failed: unable to start container process: error during container init: can't mask dir "/proc/acpi": mount src=tmpfs, dst=/proc/acpi, flags=MS_RDONLY, data=nr_blocks=1,nr_inodes=1: invalid argument
Образ собирает buildx-сборщик на драйвере docker-container, то есть шаги запускает runc внутри контейнера moby/buildkit. В #13 этот контейнер создался заново из moby/buildkit:buildx-stable-1, сейчас это v0.32.2 с runc 1.4.3. Начиная с этой версии runc закрывает каталоги в /proc пустым tmpfs с nr_inodes=1, а штатное ядро 5.4 из Ubuntu 20.04 такое монтирование не принимает: opencontainers/runc#5348. В runc это исправлено в 1.5.1, но buildkit с ним пока не вышел, в v0.33.0 тоже 1.4.3. Linux Build и Linux testing на этом же сервере проходят: их контейнеры запускает runc самого docker.
Про Ubuntu 20.04 я сужу только по ошибке, доступа к серверу у меня нет. Проверить можно командой uname -r на хосте (если Jenkins в контейнере, то на хосте, а не в контейнере).
Пока это не починено, evilbeaver/onescript:dev не обновляется с 18.09, а при выпуске из release/latest образ тоже не соберется.
Что можно сделать на сервере:
- поставить HWE-ядро 5.15 (
linux-generic-hwe-20.04) и перезагрузиться. По разбору в runc#5348 в ядрах 5.15+ этой проверки нет, но на HWE я не проверял;
- обновить ОС до 22.04 или 24.04. У 20.04 закончилась стандартная поддержка, но на сервере еще и сайт;
- дождаться buildkit с runc 1.5.1+, удалить старый сборщик, и следующая сборка скачает новый образ.
Временный обход в Jenkinsfile — закрепить buildkit v0.30.0 (runc 1.3.5, до регрессии): #1753.
С develop #13 (23.09) этап Build v2 падает на первом же
RUN(лог #16):Образ собирает buildx-сборщик на драйвере docker-container, то есть шаги запускает runc внутри контейнера
moby/buildkit. В #13 этот контейнер создался заново изmoby/buildkit:buildx-stable-1, сейчас это v0.32.2 с runc 1.4.3. Начиная с этой версии runc закрывает каталоги в/procпустым tmpfs сnr_inodes=1, а штатное ядро 5.4 из Ubuntu 20.04 такое монтирование не принимает: opencontainers/runc#5348. В runc это исправлено в 1.5.1, но buildkit с ним пока не вышел, в v0.33.0 тоже 1.4.3. Linux Build и Linux testing на этом же сервере проходят: их контейнеры запускает runc самого docker.Про Ubuntu 20.04 я сужу только по ошибке, доступа к серверу у меня нет. Проверить можно командой
uname -rна хосте (если Jenkins в контейнере, то на хосте, а не в контейнере).Пока это не починено,
evilbeaver/onescript:devне обновляется с 18.09, а при выпуске из release/latest образ тоже не соберется.Что можно сделать на сервере:
linux-generic-hwe-20.04) и перезагрузиться. По разбору в runc#5348 в ядрах 5.15+ этой проверки нет, но на HWE я не проверял;Временный обход в Jenkinsfile — закрепить buildkit v0.30.0 (runc 1.3.5, до регрессии): #1753.