Skip to content

Commit ba7104b

Browse files
committed
Revert "Fix merge"
This reverts commit 02dfd9d.
1 parent 02dfd9d commit ba7104b

File tree

3 files changed

+46
-30
lines changed

3 files changed

+46
-30
lines changed

backend/controllers/github.go

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,20 @@ func (d DiggerController) GithubAppWebHook(c *gin.Context) {
9292
c.String(http.StatusAccepted, "Failed to handle webhook event.")
9393
return
9494
}
95+
case *github.InstallationRepositoriesEvent:
96+
slog.Info("Processing InstallationRepositoriesEvent",
97+
"action", *event.Action,
98+
"installationId", *event.Installation.ID,
99+
"repositoriesAdded", len(event.RepositoriesAdded),
100+
"repositoriesRemoved", len(event.RepositoriesRemoved),
101+
)
102+
103+
err := handleInstallationRepositoriesEvent(event, appId64)
104+
if err != nil {
105+
slog.Error("Failed to handle installation repositories event", "error", err)
106+
c.String(http.StatusAccepted, "Failed to handle webhook event.")
107+
return
108+
}
95109
case *github.PushEvent:
96110
slog.Info("Processing PushEvent",
97111
"repo", *event.Repo.FullName,

backend/controllers/github_installation.go

Lines changed: 1 addition & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,9 @@ import (
44
"context"
55
"fmt"
66
"log/slog"
7-
"strings"
87

98
"github.com/diggerhq/digger/backend/models"
109
"github.com/diggerhq/digger/backend/utils"
11-
ci_github "github.com/diggerhq/digger/libs/ci/github"
1210
"github.com/google/go-github/v61/github"
1311
)
1412

@@ -29,19 +27,6 @@ func fetchRepoIdentifiers(ctx context.Context, client *github.Client, repo *gith
2927
defaultBranch = repo.GetDefaultBranch()
3028
cloneURL = repo.GetCloneURL()
3129

32-
if owner == "" || name == "" {
33-
if repoFullName != "" {
34-
if parts := strings.Split(repoFullName, "/"); len(parts) == 2 {
35-
if owner == "" {
36-
owner = parts[0]
37-
}
38-
if name == "" {
39-
name = parts[1]
40-
}
41-
}
42-
}
43-
}
44-
4530
if repoFullName == "" && owner != "" && name != "" {
4631
repoFullName = fmt.Sprintf("%s/%s", owner, name)
4732
}
@@ -195,21 +180,7 @@ func handleInstallationUpsertEvent(ctx context.Context, gh utils.GithubClientPro
195180

196181
repoList := installation.Repositories
197182
if len(repoList) == 0 {
198-
client, _, err := gh.Get(appIdFromPayload, installationId)
199-
if err != nil {
200-
slog.Error("Error creating GitHub client to list repos for upsert", "installationId", installationId, "error", err)
201-
return err
202-
}
203-
repos, err := ci_github.ListGithubRepos(client)
204-
if err != nil {
205-
slog.Error("Error listing repos for upsert fallback", "installationId", installationId, "error", err)
206-
return err
207-
}
208-
repoList = repos
209-
}
210-
211-
if len(repoList) == 0 {
212-
slog.Warn("No repositories found to sync for installation after fallback", "installationId", installationId)
183+
slog.Warn("No repositories found to sync for installation", "installationId", installationId)
213184
return nil
214185
}
215186

backend/controllers/github_test.go

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -866,3 +866,34 @@ func TestJobsTreeWithThreeLevels(t *testing.T) {
866866
assert.NoError(t, err)
867867
assert.Equal(t, result["333"].DiggerJobID, parentLinks[0].ParentDiggerJobId)
868868
}
869+
870+
func TestHandleInstallationRepositoriesEvent(t *testing.T) {
871+
teardownSuite, database := setupSuite(t)
872+
defer teardownSuite(t)
873+
874+
// Test repositories added event
875+
var addedEvent github.InstallationRepositoriesEvent
876+
err := json.Unmarshal([]byte(installationRepositoriesAddedPayload), &addedEvent)
877+
assert.NoError(t, err)
878+
879+
err = handleInstallationRepositoriesEvent(&addedEvent, 360162)
880+
assert.NoError(t, err)
881+
882+
// Verify repo was added
883+
installation, err := database.GetGithubAppInstallationByIdAndRepo(41584295, "diggerhq/test-github-action")
884+
assert.NoError(t, err)
885+
assert.NotNil(t, installation)
886+
assert.Equal(t, "diggerhq/test-github-action", installation.Repo)
887+
888+
// Test repositories removed event
889+
var removedEvent github.InstallationRepositoriesEvent
890+
err = json.Unmarshal([]byte(installationRepositoriesDeletedPayload), &removedEvent)
891+
assert.NoError(t, err)
892+
893+
err = handleInstallationRepositoriesEvent(&removedEvent, 360162)
894+
assert.NoError(t, err)
895+
896+
// Verify repo was removed (soft deleted)
897+
installation, err = database.GetGithubAppInstallationByIdAndRepo(41584295, "diggerhq/test-github-action")
898+
assert.Error(t, err) // Should error because repo is deleted
899+
}

0 commit comments

Comments
 (0)