Skip to content

Commit 7d8a796

Browse files
chore: add some error logging
1 parent 27a735e commit 7d8a796

File tree

2 files changed

+26
-6
lines changed

2 files changed

+26
-6
lines changed

agent/agentcontainers/api.go

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -471,12 +471,16 @@ func (api *API) discoverDevcontainerProjects() error {
471471
}
472472

473473
func (api *API) discoverDevcontainersInProject(projectPath string) error {
474+
logger := api.logger.
475+
Named("project-discovery").
476+
With(slog.F("project_path", projectPath))
477+
474478
globalPatterns, err := ignore.LoadGlobalPatterns(api.fs)
475479
if err != nil {
476480
return xerrors.Errorf("read global git ignore patterns: %w", err)
477481
}
478482

479-
patterns, err := ignore.ReadPatterns(api.fs, projectPath)
483+
patterns, err := ignore.ReadPatterns(api.ctx, logger, api.fs, projectPath)
480484
if err != nil {
481485
return xerrors.Errorf("read git ignore patterns: %w", err)
482486
}
@@ -488,7 +492,14 @@ func (api *API) discoverDevcontainersInProject(projectPath string) error {
488492
"/.devcontainer.json",
489493
}
490494

491-
return afero.Walk(api.fs, projectPath, func(path string, info fs.FileInfo, _ error) error {
495+
return afero.Walk(api.fs, projectPath, func(path string, info fs.FileInfo, err error) error {
496+
if err != nil {
497+
logger.Error(api.ctx, "encountered error while walking for dev container projects",
498+
slog.F("path", path),
499+
slog.Error(err))
500+
return nil
501+
}
502+
492503
pathParts := ignore.FilePathToParts(path)
493504

494505
// We know that a directory entry cannot be a `devcontainer.json` file, so we
@@ -513,11 +524,11 @@ func (api *API) discoverDevcontainersInProject(projectPath string) error {
513524

514525
workspaceFolder := strings.TrimSuffix(path, relativeConfigPath)
515526

516-
api.logger.Debug(api.ctx, "discovered dev container project", slog.F("workspace_folder", workspaceFolder))
527+
logger.Debug(api.ctx, "discovered dev container project", slog.F("workspace_folder", workspaceFolder))
517528

518529
api.mu.Lock()
519530
if _, found := api.knownDevcontainers[workspaceFolder]; !found {
520-
api.logger.Debug(api.ctx, "adding dev container project", slog.F("workspace_folder", workspaceFolder))
531+
logger.Debug(api.ctx, "adding dev container project", slog.F("workspace_folder", workspaceFolder))
521532

522533
dc := codersdk.WorkspaceAgentDevcontainer{
523534
ID: uuid.New(),

agent/agentcontainers/ignore/dir.go

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,14 @@ package ignore
22

33
import (
44
"bytes"
5+
"context"
56
"errors"
67
"io/fs"
78
"os"
89
"path/filepath"
910
"strings"
1011

12+
"cdr.dev/slog"
1113
"github.com/go-git/go-git/v5/plumbing/format/config"
1214
"github.com/go-git/go-git/v5/plumbing/format/gitignore"
1315
"github.com/spf13/afero"
@@ -53,7 +55,7 @@ func readIgnoreFile(fileSystem afero.Fs, path, ignore string) ([]gitignore.Patte
5355
return ps, nil
5456
}
5557

56-
func ReadPatterns(fileSystem afero.Fs, path string) ([]gitignore.Pattern, error) {
58+
func ReadPatterns(ctx context.Context, logger slog.Logger, fileSystem afero.Fs, path string) ([]gitignore.Pattern, error) {
5759
var ps []gitignore.Pattern
5860

5961
subPs, err := readIgnoreFile(fileSystem, path, gitInfoExcludeFile)
@@ -63,7 +65,14 @@ func ReadPatterns(fileSystem afero.Fs, path string) ([]gitignore.Pattern, error)
6365

6466
ps = append(ps, subPs...)
6567

66-
if err := afero.Walk(fileSystem, path, func(path string, info fs.FileInfo, _ error) error {
68+
if err := afero.Walk(fileSystem, path, func(path string, info fs.FileInfo, err error) error {
69+
if err != nil {
70+
logger.Error(ctx, "encountered error while walking for git ignore files",
71+
slog.F("path", path),
72+
slog.Error(err))
73+
return nil
74+
}
75+
6776
if !info.IsDir() {
6877
return nil
6978
}

0 commit comments

Comments
 (0)