Compare commits
3 Commits
0.1.1
...
2f9f8877e9
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2f9f8877e9 | ||
| ce98e2f482 | |||
| 93917649e6 |
@@ -1,5 +1,5 @@
|
||||
[bumpversion]
|
||||
current_version = 0.1.1
|
||||
current_version = 0.1.2
|
||||
commit = True
|
||||
tag = True
|
||||
tag_name = {new_version}
|
||||
|
||||
@@ -15,7 +15,7 @@ steps:
|
||||
path: /var/run/docker.sock
|
||||
settings:
|
||||
dockerfile: Dockerfile
|
||||
tags: 0.1.1
|
||||
tags: 0.1.2
|
||||
force_tag: true
|
||||
registry: registry.halfakop.ru
|
||||
repo: registry.halfakop.ru/golang/bumpversion
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# BumpVersion v0.1.1
|
||||
# BumpVersion v0.1.2
|
||||
|
||||
[](https://drone.halfakop.ru/rad/bumpversion)
|
||||
|
||||
|
||||
31
src/git.go
31
src/git.go
@@ -1,7 +1,6 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"log"
|
||||
"os"
|
||||
"strings"
|
||||
@@ -17,19 +16,19 @@ func gitCommit(bc *BumpConfig, newVersion string) {
|
||||
// Открываем локальный репозиторий (предполагается, что он существует в папке ".")
|
||||
repo, err := git.PlainOpen(".")
|
||||
if err != nil {
|
||||
log.Fatalf("Ошибка открытия репозитория: %v", err)
|
||||
log.Fatalf("Repository open error: %v", err)
|
||||
}
|
||||
|
||||
// Получаем рабочее дерево
|
||||
worktree, err := repo.Worktree()
|
||||
if err != nil {
|
||||
log.Fatalf("Ошибка получения рабочей директории: %v", err)
|
||||
log.Fatalf("Work directory open error: %v", err)
|
||||
}
|
||||
|
||||
// Добавляем все изменения в индекс (или конкретные файлы, если нужно)
|
||||
_, err = worktree.Add(".")
|
||||
if err != nil {
|
||||
log.Fatalf("Ошибка добавления изменений: %v", err)
|
||||
log.Fatalf("Changes append error: %v", err)
|
||||
}
|
||||
|
||||
// Формируем сообщение коммита
|
||||
@@ -43,15 +42,15 @@ func gitCommit(bc *BumpConfig, newVersion string) {
|
||||
},
|
||||
})
|
||||
if err != nil {
|
||||
log.Fatalf("Ошибка выполнения коммита: %v", err)
|
||||
log.Fatalf("Commit error: %v", err)
|
||||
}
|
||||
|
||||
// Получаем объект коммита (по его хэшу)
|
||||
commitObj, err := repo.CommitObject(commit)
|
||||
if err != nil {
|
||||
log.Fatalf("Ошибка получения объекта коммита: %v", err)
|
||||
log.Fatalf("Commit object error: %v", err)
|
||||
}
|
||||
fmt.Printf("Коммит выполнен: %s\n", commitObj.Hash)
|
||||
log.Printf("Committed as %s\n", commitObj.Hash)
|
||||
}
|
||||
|
||||
// gitTag ставит тэг на текущий коммит
|
||||
@@ -59,15 +58,15 @@ func gitTag(bc *BumpConfig, newVersion string) {
|
||||
// Открываем локальный репозиторий (предполагается, что он существует в папке ".")
|
||||
repo, err := git.PlainOpen(".")
|
||||
if err != nil {
|
||||
log.Fatalf("Ошибка открытия репозитория: %v", err)
|
||||
log.Fatalf("Repository open error: %v", err)
|
||||
}
|
||||
|
||||
// Получаем текущий HEAD (он должен совпадать с только что созданным коммитом)
|
||||
headRef, err := repo.Head()
|
||||
if err != nil {
|
||||
log.Fatalf("Ошибка получения HEAD: %v", err)
|
||||
log.Fatalf("HEAD open error: %v", err)
|
||||
}
|
||||
fmt.Printf("Текущий HEAD: %s\n", headRef.Hash())
|
||||
log.Printf("Current HEAD is %s\n", headRef.Hash())
|
||||
|
||||
// Создаем тег на текущем коммите (HEAD)
|
||||
tagName := strings.ReplaceAll(bc.TagName, "{new_version}", newVersion)
|
||||
@@ -77,19 +76,19 @@ func gitTag(bc *BumpConfig, newVersion string) {
|
||||
Email: os.Getenv("GIT_EMAIL"),
|
||||
When: time.Now(),
|
||||
},
|
||||
Message: "Тег создан с помощью go-git",
|
||||
Message: "Tag is created with go-git",
|
||||
})
|
||||
if err != nil {
|
||||
log.Fatalf("Ошибка создания тега: %v", err)
|
||||
log.Fatalf("Tag creation error: %v", err)
|
||||
}
|
||||
fmt.Printf("Тег '%s' создан на коммите %s\n", tagName, headRef.Hash())
|
||||
log.Printf("Tag '%s' is created on commit %s\n", tagName, headRef.Hash())
|
||||
}
|
||||
|
||||
func gitPush(bc *BumpConfig, newVersion string) {
|
||||
// Открываем локальный репозиторий (предполагается, что он существует в папке ".")
|
||||
repo, err := git.PlainOpen(".")
|
||||
if err != nil {
|
||||
log.Fatalf("Ошибка открытия репозитория: %v", err)
|
||||
log.Fatalf("Repository open error: %v", err)
|
||||
}
|
||||
|
||||
tagName := strings.ReplaceAll(bc.TagName, "{new_version}", newVersion)
|
||||
@@ -104,7 +103,7 @@ func gitPush(bc *BumpConfig, newVersion string) {
|
||||
},
|
||||
})
|
||||
if err != nil {
|
||||
log.Fatalf("Ошибка пуша: %v", err)
|
||||
log.Fatalf("Push error: %v", err)
|
||||
}
|
||||
fmt.Println("Изменения успешно отправлены")
|
||||
log.Println("Changes pushed successfully")
|
||||
}
|
||||
|
||||
19
src/main.go
19
src/main.go
@@ -162,7 +162,7 @@ func resolveFlag(positive, negative *bool, defaultValue bool) bool {
|
||||
// Версия приложения
|
||||
const (
|
||||
AppName = "BumpVersion"
|
||||
AppVersion = "0.1.1"
|
||||
AppVersion = "0.1.2"
|
||||
)
|
||||
|
||||
func main() {
|
||||
@@ -182,8 +182,6 @@ func main() {
|
||||
log.Fatalf("Error reading bumpversion configuration: %v", err)
|
||||
}
|
||||
|
||||
fmt.Printf("Current version: %s\n", bc.CurrentVersion)
|
||||
|
||||
// Парсинг аргументов командной строки
|
||||
part := flag.String("part", "patch", "Part of the version to bump (major/minor/patch)")
|
||||
commit := flag.Bool("commit", false, "Create a commit")
|
||||
@@ -207,11 +205,19 @@ func main() {
|
||||
if err != nil {
|
||||
log.Fatalf("Error bumping version: %v", err)
|
||||
}
|
||||
fmt.Printf("Current version: %s\n", bc.CurrentVersion)
|
||||
fmt.Printf("New version: %s\n", newVersion)
|
||||
|
||||
// Обновляем файлы, указанные в конфигурации
|
||||
updateFiles(bc.FilePaths, bc.CurrentVersion, newVersion)
|
||||
|
||||
// Обновляем конфигурационный файл
|
||||
if err := updateConfigFile(cfg_name, newVersion); err != nil {
|
||||
log.Printf("Error updating config file: %v", err)
|
||||
} else {
|
||||
log.Printf("Config file %s updated to version %s", cfg_name, newVersion)
|
||||
}
|
||||
|
||||
// Выполняем git commit и tag, если требуется
|
||||
if shouldCommit {
|
||||
gitCommit(bc, newVersion)
|
||||
@@ -225,11 +231,4 @@ func main() {
|
||||
if *push {
|
||||
gitPush(bc, newVersion)
|
||||
}
|
||||
|
||||
// Обновляем конфигурационный файл
|
||||
if err := updateConfigFile(cfg_name, newVersion); err != nil {
|
||||
log.Printf("Error updating config file: %v", err)
|
||||
} else {
|
||||
log.Printf("Config file %s updated to version %s", cfg_name, newVersion)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user