Skip to content

Workflow: на 500% быстрее multi-arch сборка (amd64+arm64)#143

Merged
GamerVII-NET merged 1 commit intoGml-Launcher:developfrom
shadeov:feature/arm-native-build
Oct 25, 2025
Merged

Workflow: на 500% быстрее multi-arch сборка (amd64+arm64)#143
GamerVII-NET merged 1 commit intoGml-Launcher:developfrom
shadeov:feature/arm-native-build

Conversation

@shadeov
Copy link
Copy Markdown
Contributor

@shadeov shadeov commented Oct 15, 2025

Описание

  • Безумное ускорение: было 18m 13s, стало 3m 15s — быстрее на ~500%
  • Поддержка ARM64: добавлена матрица платформ linux/amd64 и linux/arm64 с соответствующими раннерами (ubuntu-22.04, ubuntu-22.04-arm).
  • Расширение триггеров: workflows запускаются также для веток feature/* (push и pull_request).
  • Корректные имена образов: приведение имени репозитория/образа к lowercase для совместимости с реестром.
  • Теги и публикация: сборка публикует образы по digest, теги формата <sha>-<platform>; финальный multi-arch тег создаётся отдельной job через manifest list.
  • Кеширование: раздельные кэши Buildx по платформам (scope=build-<platform>) для ускорения повторных сборок.
  • Отдельный этап merge: загрузка digest’ов как артефактов и последующее создание multi-arch манифеста (docker buildx imagetools create).
  • Производительность: отключены provenance и sbom для ускорения CI и фикса unknown/unknown платформы.
  • Метаданные Docker: единый источник тегов/лейблов через docker/metadata-action в обоих job’ах.

Зачем это нужно

  • Кросс-платформенность: образы становятся доступными для Apple Silicon и ARM-серверов БЕЗ потери скорости.
  • Стабильная публикация: публикация по digest + последующий manifest list уменьшают флейки.
  • Быстрые билды: платформенные кэши ускоряют итерации.

Обратная совместимость

  • Финальные теги образов формируются через docker/metadata-action (поведение сохраняется). Платформенные образы публикуются по digest; для потребителей используется multi-arch тег.

@GamerVII-NET GamerVII-NET merged commit 81e6044 into Gml-Launcher:develop Oct 25, 2025
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants