mirror of
https://github.com/coder/coder.git
synced 2026-09-24 15:04:27 +08:00
feat: graduate prebuilds to general availability (#18607)
This PR removes the prebuilds experiment and allows the use of prebuilds without opting into an experiment.
This commit is contained in:
Generated
+2
-5
@@ -12194,15 +12194,13 @@ const docTemplate = `{
|
||||
"auto-fill-parameters",
|
||||
"notifications",
|
||||
"workspace-usage",
|
||||
"web-push",
|
||||
"workspace-prebuilds"
|
||||
"web-push"
|
||||
],
|
||||
"x-enum-comments": {
|
||||
"ExperimentAutoFillParameters": "This should not be taken out of experiments until we have redesigned the feature.",
|
||||
"ExperimentExample": "This isn't used for anything.",
|
||||
"ExperimentNotifications": "Sends notifications via SMTP and webhooks following certain events.",
|
||||
"ExperimentWebPush": "Enables web push notifications through the browser.",
|
||||
"ExperimentWorkspacePrebuilds": "Enables the new workspace prebuilds feature.",
|
||||
"ExperimentWorkspaceUsage": "Enables the new workspace usage tracking."
|
||||
},
|
||||
"x-enum-varnames": [
|
||||
@@ -12210,8 +12208,7 @@ const docTemplate = `{
|
||||
"ExperimentAutoFillParameters",
|
||||
"ExperimentNotifications",
|
||||
"ExperimentWorkspaceUsage",
|
||||
"ExperimentWebPush",
|
||||
"ExperimentWorkspacePrebuilds"
|
||||
"ExperimentWebPush"
|
||||
]
|
||||
},
|
||||
"codersdk.ExternalAuth": {
|
||||
|
||||
Generated
+2
-5
@@ -10927,15 +10927,13 @@
|
||||
"auto-fill-parameters",
|
||||
"notifications",
|
||||
"workspace-usage",
|
||||
"web-push",
|
||||
"workspace-prebuilds"
|
||||
"web-push"
|
||||
],
|
||||
"x-enum-comments": {
|
||||
"ExperimentAutoFillParameters": "This should not be taken out of experiments until we have redesigned the feature.",
|
||||
"ExperimentExample": "This isn't used for anything.",
|
||||
"ExperimentNotifications": "Sends notifications via SMTP and webhooks following certain events.",
|
||||
"ExperimentWebPush": "Enables web push notifications through the browser.",
|
||||
"ExperimentWorkspacePrebuilds": "Enables the new workspace prebuilds feature.",
|
||||
"ExperimentWorkspaceUsage": "Enables the new workspace usage tracking."
|
||||
},
|
||||
"x-enum-varnames": [
|
||||
@@ -10943,8 +10941,7 @@
|
||||
"ExperimentAutoFillParameters",
|
||||
"ExperimentNotifications",
|
||||
"ExperimentWorkspaceUsage",
|
||||
"ExperimentWebPush",
|
||||
"ExperimentWorkspacePrebuilds"
|
||||
"ExperimentWebPush"
|
||||
]
|
||||
},
|
||||
"codersdk.ExternalAuth": {
|
||||
|
||||
@@ -5059,8 +5059,7 @@ func (s *MethodTestSuite) TestPrebuilds() {
|
||||
}))
|
||||
s.Run("GetPrebuildMetrics", s.Subtest(func(_ database.Store, check *expects) {
|
||||
check.Args().
|
||||
Asserts(rbac.ResourceWorkspace.All(), policy.ActionRead).
|
||||
ErrorsWithInMemDB(dbmem.ErrUnimplemented)
|
||||
Asserts(rbac.ResourceWorkspace.All(), policy.ActionRead)
|
||||
}))
|
||||
s.Run("CountInProgressPrebuilds", s.Subtest(func(_ database.Store, check *expects) {
|
||||
check.Args().
|
||||
|
||||
@@ -4270,7 +4270,7 @@ func (q *FakeQuerier) GetParameterSchemasByJobID(_ context.Context, jobID uuid.U
|
||||
}
|
||||
|
||||
func (*FakeQuerier) GetPrebuildMetrics(_ context.Context) ([]database.GetPrebuildMetricsRow, error) {
|
||||
return nil, ErrUnimplemented
|
||||
return make([]database.GetPrebuildMetricsRow, 0), nil
|
||||
}
|
||||
|
||||
func (q *FakeQuerier) GetPresetByID(ctx context.Context, presetID uuid.UUID) (database.GetPresetByIDRow, error) {
|
||||
|
||||
@@ -687,10 +687,6 @@ func (r *remoteReporter) createSnapshot() (*Snapshot, error) {
|
||||
return nil
|
||||
})
|
||||
eg.Go(func() error {
|
||||
if !r.options.Experiments.Enabled(codersdk.ExperimentWorkspacePrebuilds) {
|
||||
return nil
|
||||
}
|
||||
|
||||
metrics, err := r.options.Database.GetPrebuildMetrics(ctx)
|
||||
if err != nil {
|
||||
return xerrors.Errorf("get prebuild metrics: %w", err)
|
||||
|
||||
@@ -408,7 +408,6 @@ func TestPrebuiltWorkspacesTelemetry(t *testing.T) {
|
||||
|
||||
cases := []struct {
|
||||
name string
|
||||
experimentEnabled bool
|
||||
storeFn func(store database.Store) database.Store
|
||||
expectedSnapshotEntries int
|
||||
expectedCreated int
|
||||
@@ -416,8 +415,7 @@ func TestPrebuiltWorkspacesTelemetry(t *testing.T) {
|
||||
expectedClaimed int
|
||||
}{
|
||||
{
|
||||
name: "experiment enabled",
|
||||
experimentEnabled: true,
|
||||
name: "prebuilds enabled",
|
||||
storeFn: func(store database.Store) database.Store {
|
||||
return &mockDB{Store: store}
|
||||
},
|
||||
@@ -427,19 +425,11 @@ func TestPrebuiltWorkspacesTelemetry(t *testing.T) {
|
||||
expectedClaimed: 3,
|
||||
},
|
||||
{
|
||||
name: "experiment enabled, prebuilds not used",
|
||||
experimentEnabled: true,
|
||||
name: "prebuilds not used",
|
||||
storeFn: func(store database.Store) database.Store {
|
||||
return &emptyMockDB{Store: store}
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "experiment disabled",
|
||||
experimentEnabled: false,
|
||||
storeFn: func(store database.Store) database.Store {
|
||||
return &mockDB{Store: store}
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
for _, tc := range cases {
|
||||
@@ -448,11 +438,6 @@ func TestPrebuiltWorkspacesTelemetry(t *testing.T) {
|
||||
|
||||
deployment, snapshot := collectSnapshot(ctx, t, db, func(opts telemetry.Options) telemetry.Options {
|
||||
opts.Database = tc.storeFn(db)
|
||||
if tc.experimentEnabled {
|
||||
opts.Experiments = codersdk.Experiments{
|
||||
codersdk.ExperimentWorkspacePrebuilds,
|
||||
}
|
||||
}
|
||||
return opts
|
||||
})
|
||||
|
||||
|
||||
Reference in New Issue
Block a user