release-examples
Описание
Языки
- Go65,6%
- Dockerfile34,4%
5 месяцев назад
5 месяцев назад
5 месяцев назад
5 месяцев назад
5 месяцев назад
README.md
📦 release-examples
Этот репозиторий демонстрирует примеры для автоматической сборки и публикации релизов Go-приложений с поддержкой нескольких платформ.
Используется в качестве шаблона для команд, выпускающих CLI-утилиты, агенты или десктопные приложения.
🛠️ Возможности
- Сборка бинарников под 4 платформы:
- Windows (
)amd64 - Linux (
)amd64 - macOS (
,amd64)arm64
- Windows (
- Автоматическое вшитие версии через -ldflags
- Упаковка каждого бинарника в отдельный
архив.tar.gz - Публикация релиза в GitVerse при создании тега
- Ручной запуск тестовых сборок через workflow_dispatch
🔄 CI/CD Workflows
1. build_binary.yaml
build_binary.yaml
- Триггер: ручной запуск
- Назначение: сборка и архивация бинарников с заданной версией
- Особенности:
- Поддержка кастомной версии через input
- Настраиваемый срок хранения артефактов (1–30 дней)
2. release.yaml
release.yaml
- Триггер: пуш тега (например,
)v1.2.3 - Назначение: выпуск официального релиза
- Что делает:
- Собирает и архивирует бинарники
- Загружает артефакты
- Создаёт релиз в GitVerse через REST API с changelog
📁 Структура артефактов
Каждый релиз содержит следующие файлы:
- server_windows_amd64.tar.gz → server_windows_amd64.exe
- server_linux_amd64.tar.gz → server_linux_amd64
- server_darwin_arm64.tar.gz → server_darwin_arm64
- server_darwin_amd64.tar.gz → server_darwin_amd64
Архивы:
- Самодостаточны (один бинарник на архив)
- Стандартного формата (
).tar.gz - Готовы к распространению и установке
🚀 Как использовать
-
Создайте тег в формате
:vX.Y.Z -
Workflow автоматически:
- Соберёт бинарники
- Загрузит их как артефакы
- Опубликует релиз в GitVerse
- Для тестовых сборок запустите workflow вручную через UI и укажите желаемую версию.
💡 Проект совместим с GitVerse CI/CD и может быть адаптирован под другие платформы (GitHub, GitLab и др.).