Skip to content

Commit 239d3da

Browse files
authored
Merge pull request #207 from nicholasSUSE/improve-log-auto-bump-git
auto chart bump log improvements
2 parents 47bb490 + b2304ed commit 239d3da

File tree

4 files changed

+56
-4
lines changed

4 files changed

+56
-4
lines changed

pkg/auto/chart_bump.go

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -240,6 +240,11 @@ func (b *Bump) BumpChart(ctx context.Context) error {
240240
return err
241241
}
242242

243+
if err := git.Status(ctx); err != nil {
244+
logger.Log(ctx, slog.LevelError, "error while checking git status", logger.Err(err))
245+
return err
246+
}
247+
243248
if err := git.AddAndCommit("make prepare"); err != nil {
244249
logger.Log(ctx, slog.LevelError, "error while adding and committing after make prepare", logger.Err(err))
245250
return err
@@ -253,6 +258,11 @@ func (b *Bump) BumpChart(ctx context.Context) error {
253258
}
254259
}
255260

261+
if err := git.Status(ctx); err != nil {
262+
logger.Log(ctx, slog.LevelError, "error while checking git status", logger.Err(err))
263+
return err
264+
}
265+
256266
if clean, _ := git.StatusProcelain(ctx); !clean {
257267
logger.Log(ctx, slog.LevelDebug, "git is not clean - icon downloaded")
258268
if err := git.AddAndCommit("make icon"); err != nil {
@@ -272,6 +282,11 @@ func (b *Bump) BumpChart(ctx context.Context) error {
272282
return err
273283
}
274284

285+
if err := git.Status(ctx); err != nil {
286+
logger.Log(ctx, slog.LevelError, "error while checking git status", logger.Err(err))
287+
return err
288+
}
289+
275290
if clean, _ := git.StatusProcelain(ctx); !clean {
276291
if err := git.AddAndCommit("make patch"); err != nil {
277292
return err
@@ -284,12 +299,22 @@ func (b *Bump) BumpChart(ctx context.Context) error {
284299
return err
285300
}
286301

302+
if err := git.Status(ctx); err != nil {
303+
logger.Log(ctx, slog.LevelError, "error while checking git status", logger.Err(err))
304+
return err
305+
}
306+
287307
// make charts - generate new assets and charts overwriting logo
288308
if err := b.Pkg.GenerateCharts(ctx, b.configOptions.OmitBuildMetadataOnExport); err != nil {
289309
logger.Log(ctx, slog.LevelError, "error while generating charts", logger.Err(err))
290310
return err
291311
}
292312

313+
if err := git.Status(ctx); err != nil {
314+
logger.Log(ctx, slog.LevelError, "error while checking git status", logger.Err(err))
315+
return err
316+
}
317+
293318
if clean, _ := git.StatusProcelain(ctx); clean {
294319
logger.Log(ctx, slog.LevelError, "make charts did not generate any changes")
295320
return errors.New("make charts did not generate any changes")
@@ -318,12 +343,22 @@ func (b *Bump) BumpChart(ctx context.Context) error {
318343
}
319344
}
320345

346+
if err := git.Status(ctx); err != nil {
347+
logger.Log(ctx, slog.LevelError, "error while checking git status", logger.Err(err))
348+
return err
349+
}
350+
321351
// modify the release.yaml
322352
if err := b.updateReleaseYaml(ctx, targetCharts); err != nil {
323353
logger.Log(ctx, slog.LevelError, "error while updating release.yaml", logger.Err(err))
324354
return err
325355
}
326356

357+
if err := git.Status(ctx); err != nil {
358+
logger.Log(ctx, slog.LevelError, "error while checking git status", logger.Err(err))
359+
return err
360+
}
361+
327362
if clean, _ := git.StatusProcelain(ctx); clean {
328363
logger.Log(ctx, slog.LevelError, "update release.yaml did not generate any changes")
329364
return errors.New("update release.yaml did not generate any changes")

pkg/charts/parse.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,6 @@ func ListPackages(ctx context.Context, repoRoot string, specificPackage string)
6060
if len(specificPackage) > 0 {
6161
packagePrefix := filepath.Join(path.RepositoryPackagesDir, specificPackage)
6262
if dirPath != packagePrefix && !strings.HasPrefix(dirPath, packagePrefix+"/") {
63-
logger.Log(ctx, slog.LevelDebug, "ignore package based on prefix", slog.String("dirPath", dirPath), slog.String("packagePrefix", packagePrefix))
6463
// Ignore packages not selected by specificPackage
6564
return nil
6665
}
@@ -77,6 +76,8 @@ func ListPackages(ctx context.Context, repoRoot string, specificPackage string)
7776
return err
7877
}
7978
packageList = append(packageList, packageName)
79+
logger.Log(ctx, slog.LevelDebug, "package list", slog.Any("packageList", packageList))
80+
8081
return nil
8182
}
8283

pkg/filesystem/filesystem.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,6 @@ func GetRelativePath(fs billy.Filesystem, abspath string) (string, error) {
4848
// PathExists checks if a path exists on the filesystem or returns an error
4949
func PathExists(ctx context.Context, fs billy.Filesystem, path string) (bool, error) {
5050
absPath := GetAbsPath(fs, path)
51-
logger.Log(ctx, slog.LevelDebug, "checking if path exists", slog.String("absPath", absPath))
5251

5352
_, err := os.Stat(absPath)
5453
if err == nil {

pkg/git/git.go

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -259,12 +259,18 @@ func (g *Git) StatusProcelain(ctx context.Context) (bool, error) {
259259
// equivalent to: git add -A && git commit -m message
260260
func (g *Git) AddAndCommit(message string) error {
261261
// Stage all changes, including deletions
262-
if err := exec.Command("git", "-C", g.Dir, "add", "-A").Run(); err != nil {
262+
cmd := exec.Command("git", "-C", g.Dir, "add", "-A")
263+
cmd.Stdout = os.Stdout
264+
cmd.Stderr = os.Stderr
265+
if err := cmd.Run(); err != nil {
263266
return err
264267
}
265268

266269
// Commit the staged changes
267-
return exec.Command("git", "commit", "-m", message).Run()
270+
cmd2 := exec.Command("git", "commit", "-m", message)
271+
cmd2.Stdout = os.Stdout
272+
cmd2.Stderr = os.Stderr
273+
return cmd2.Run()
268274
}
269275

270276
// PushBranch pushes the current branch to a given remote name
@@ -335,3 +341,14 @@ func (g *Git) getUpstreamRemote() (string, error) {
335341

336342
return upstreamRemote, nil
337343
}
344+
345+
// Status prints the status of the git repository
346+
// equivalent to: git status --untracked-files=all --short
347+
func (g *Git) Status(ctx context.Context) error {
348+
logger.Log(ctx, slog.LevelDebug, "git status -u -s")
349+
350+
cmd := exec.Command("git", "-C", g.Dir, "status", "--untracked-files=all", "--short")
351+
cmd.Stdout = os.Stdout
352+
cmd.Stderr = os.Stderr
353+
return cmd.Run()
354+
}

0 commit comments

Comments
 (0)