Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

fix: reduce cost of prebuild failure#17697

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Merged
evgeniy-scherbina merged 51 commits intomainfrom17432-limit-prebuild-failure-cost
May 21, 2025
Merged
Changes from1 commit
Commits
Show all changes
51 commits
Select commitHold shift + click to select a range
fcb3e5d
fix: limit prebuild failure cost
evgeniy-scherbinaMay 6, 2025
701e2a8
refactor: CR's fixes
evgeniy-scherbinaMay 12, 2025
0fdd096
refactor: CR's fixes
evgeniy-scherbinaMay 12, 2025
13c0e28
refactor: CR's fixes
evgeniy-scherbinaMay 12, 2025
29e9cff
refactor: CR's fixes
evgeniy-scherbinaMay 12, 2025
1d51dfc
Merge remote-tracking branch 'origin/main' into 17432-limit-prebuild-…
evgeniy-scherbinaMay 14, 2025
5c60065
feat: add notification for prebuilds failure
evgeniy-scherbinaMay 14, 2025
b0248c3
test: fix tests
evgeniy-scherbinaMay 15, 2025
08b18b0
test: add a notification test
evgeniy-scherbinaMay 15, 2025
0fd347a
fix: add prebuild_status migration
evgeniy-scherbinaMay 16, 2025
08981a4
generate.sh
evgeniy-scherbinaMay 16, 2025
0e4600c
fix: using prebuild status
evgeniy-scherbinaMay 16, 2025
107879b
fix: migrations numbers
evgeniy-scherbinaMay 16, 2025
2dea5ab
make gen
evgeniy-scherbinaMay 16, 2025
e252093
make gen/golden-files
evgeniy-scherbinaMay 16, 2025
906ceb9
fix: fix dbauthz
evgeniy-scherbinaMay 16, 2025
3a0284f
Merge remote-tracking branch 'origin/main' into 17432-limit-prebuild-…
evgeniy-scherbinaMay 16, 2025
13fb1af
fix: minor fix
evgeniy-scherbinaMay 16, 2025
108ea0a
test: fix tests
evgeniy-scherbinaMay 19, 2025
7cd2799
test: fix dbmem
evgeniy-scherbinaMay 19, 2025
f9148e2
make gen/golden-files
evgeniy-scherbinaMay 19, 2025
315acfa
Remove outdated TODOs
evgeniy-scherbinaMay 19, 2025
1679ac9
fix: enhance notification template
evgeniy-scherbinaMay 19, 2025
d9c9d17
Merge remote-tracking branch 'origin/main' into 17432-limit-prebuild-…
evgeniy-scherbinaMay 19, 2025
c47ddaa
make gen/golden-files
evgeniy-scherbinaMay 19, 2025
c19f28a
refactor: minor improvements
evgeniy-scherbinaMay 19, 2025
b18730f
fix: minor fix in template
evgeniy-scherbinaMay 19, 2025
37173b0
fix: minor improvement to template
evgeniy-scherbinaMay 19, 2025
0e3cc40
fix: minor fixes
evgeniy-scherbinaMay 19, 2025
784adba
fix: fix TODO
evgeniy-scherbinaMay 19, 2025
50bd9b4
refactor: CR's fixes
evgeniy-scherbinaMay 20, 2025
8a33ac8
refactor: CR's fixes
evgeniy-scherbinaMay 20, 2025
9439fa1
refactor: use not null for prebuild_status
evgeniy-scherbinaMay 20, 2025
e667dad
refactor: fix dbauthz test
evgeniy-scherbinaMay 20, 2025
8a51702
refactor: use healthy enum option instead of normal
evgeniy-scherbinaMay 20, 2025
a793e18
refactor: minor refactoring in tests
evgeniy-scherbinaMay 20, 2025
a0fb69c
refactor: rename DB method
evgeniy-scherbinaMay 20, 2025
c6f209c
refactor: make fmt
evgeniy-scherbinaMay 20, 2025
9dccf3e
refactor: make gen + reorder methods
evgeniy-scherbinaMay 20, 2025
c19ae04
refactor: make fmt
evgeniy-scherbinaMay 20, 2025
4b145cc
refactor: CR's fixes
evgeniy-scherbinaMay 20, 2025
80f3677
refactor: make gen
evgeniy-scherbinaMay 20, 2025
2144d13
refactor: CR's fixes
evgeniy-scherbinaMay 20, 2025
79725b3
refactor: CR's fixes
evgeniy-scherbinaMay 20, 2025
7e8b4b6
refactor: improve comments for test
evgeniy-scherbinaMay 20, 2025
ab5acfb
refactor: CR's fixes
evgeniy-scherbinaMay 20, 2025
7c09465
refactor: CR's fixes
evgeniy-scherbinaMay 21, 2025
b7a34c5
refactor: improve notification template
evgeniy-scherbinaMay 21, 2025
e1e141d
refactor: CR's fixes
evgeniy-scherbinaMay 21, 2025
354aeb4
refactor: CR's fixes
evgeniy-scherbinaMay 21, 2025
7564178
Merge remote-tracking branch 'origin/main' into 17432-limit-prebuild-…
evgeniy-scherbinaMay 21, 2025
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
PrevPrevious commit
NextNext commit
test: add a notification test
  • Loading branch information
@evgeniy-scherbina
evgeniy-scherbina committedMay 15, 2025
commit08b18b09c5535a77f04cb5b70db48b8f03db829d
31 changes: 26 additions & 5 deletionsenterprise/coderd/prebuilds/reconcile_test.go
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -689,7 +689,13 @@ func TestSkippingHardLimitedPresets(t *testing.T) {
t, &slogtest.Options{IgnoreErrors: true},
).Leveled(slog.LevelDebug)
db, pubSub := dbtestutil.NewDB(t)
controller := prebuilds.NewStoreReconciler(db, pubSub, cfg, logger, clock, prometheus.NewRegistry(), newNoopEnqueuer())
fakeEnqueuer := newFakeEnqueuer()
controller := prebuilds.NewStoreReconciler(db, pubSub, cfg, logger, clock, prometheus.NewRegistry(), fakeEnqueuer)

// Template admin to receive a notification.
templateAdmin := dbgen.User(t, db, database.User{
RBACRoles: []string{codersdk.RoleTemplateAdmin},
})

// Set up test environment with a template, version, and preset
ownerID := uuid.New()
Expand DownExpand Up@@ -731,13 +737,28 @@ func TestSkippingHardLimitedPresets(t *testing.T) {
workspaces, err = db.GetWorkspacesByTemplateID(ctx, template.ID)
require.NoError(t, err)

if tc.isHardLimitHit {
// When hard limit is reached, no new workspace should be created
require.Equal(t, 1, len(workspaces))
} else {
if !tc.isHardLimitHit {
// When hard limit is not reached, a new workspace should be created
require.Equal(t, 2, len(workspaces))
return
}

// When hard limit is reached, no new workspace should be created
require.Equal(t, 1, len(workspaces))

// When hard limit is reached, a notification should be sent.
matching := fakeEnqueuer.Sent(func(notification *notificationstest.FakeNotification) bool {
if !assert.Equal(t, notification.TemplateID, notifications.PrebuildFailureLimitReached, "unexpected template") {
return false
}

if !assert.Equal(t, templateAdmin.ID, notification.UserID, "unexpected receiver") {
return false
}

return true
})
require.Len(t, matching, 1)
})
}
}
Expand Down
Loading

[8]ページ先頭

©2009-2025 Movatter.jp