Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 9 additions & 5 deletions pkg/update/update.go
Original file line number Diff line number Diff line change
Expand Up @@ -369,7 +369,7 @@ func (o *Options) updateGitPackage(ctx context.Context, repo *git.Repository, pa
root := worktree.Filesystem.Root()
log.Printf("working directory: %s", root)

configFile := filepath.Join(root, pc.Filename)
configFile := filepath.Join(pc.Dir, pc.Filename)
if configFile == "" {
return "", fmt.Errorf("no config filename found for package %s", packageName)
}
Expand Down Expand Up @@ -416,7 +416,7 @@ func (o *Options) updateGitPackage(ctx context.Context, repo *git.Repository, pa
}

// now make sure update config is configured
updated, err := config.ParseConfiguration(ctx, filepath.Join(root, pc.Filename))
updated, err := config.ParseConfiguration(ctx, filepath.Join(pc.Dir, pc.Filename))
if err != nil {
return "", fmt.Errorf("failed to parse %v", err)
}
Expand All @@ -435,7 +435,7 @@ func (o *Options) updateGitPackage(ctx context.Context, repo *git.Repository, pa

// Skip any processing for definitions with a single pipeline
if len(updated.Pipeline) > 1 && deps.ContainsGoBumpPipeline(updated) {
if err := o.updateGoBumpDeps(updated, root, pc.Filename, mutations); err != nil {
if err := o.updateGoBumpDeps(updated, pc.Dir, pc.Filename, mutations); err != nil {
return fmt.Sprintf("error cleaning up go/bump deps: %v", err), nil
}
}
Expand All @@ -447,12 +447,16 @@ func (o *Options) updateGitPackage(ctx context.Context, repo *git.Repository, pa
o.Logger.Printf("after clean go bumps: %s git status: %s", packageName, string(rs))

// Run yam formatter
err = yam.FormatConfigurationFile(root, pc.Filename)
err = yam.FormatConfigurationFile(root, filepath.Join(pc.Dir, pc.Filename))
if err != nil {
return fmt.Sprintf("failed to format configuration file: %v", err), nil
}

_, err = worktree.Add(pc.Filename)
relativeFilename, err := filepath.Rel(root, filepath.Join(pc.Dir, pc.Filename))
if err != nil {
return "", fmt.Errorf("failed to get relative path from dir %s and file %s: %v", pc.Dir, pc.Filename, err)
}
_, err = worktree.Add(relativeFilename)
if err != nil {
return "", fmt.Errorf("failed to git add %s: %w", configFile, err)
}
Expand Down
8 changes: 7 additions & 1 deletion pkg/yam/yam.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,15 @@ func FormatConfigurationFile(dir, filename string) error {
return fmt.Errorf("failed to read yam config file: %v", err)
}

// remove root dir from filename
relativeFilename, err := filepath.Rel(dir, filename)
if err != nil {
return fmt.Errorf("failed to get relative path from dir %s and file %s: %v", dir, filename, err)
}

fsys := osAdapter.DirFS(dir)
// Format file following the repo level format
err = yam.Format(fsys, []string{filename}, yam.FormatOptions{EncodeOptions: *encodeOptions})
err = yam.Format(fsys, []string{relativeFilename}, yam.FormatOptions{EncodeOptions: *encodeOptions})
if err != nil {
return fmt.Errorf("error formatting the file %s: %v", filename, err)
}
Expand Down