diff --git a/coderd/prebuilds/preset_snapshot.go b/coderd/prebuilds/preset_snapshot.go index b6f05e588a6c0..2db9694f7f376 100644 --- a/coderd/prebuilds/preset_snapshot.go +++ b/coderd/prebuilds/preset_snapshot.go @@ -91,9 +91,10 @@ func (p PresetSnapshot) CalculateState() *ReconciliationState { extraneous int32 ) + // #nosec G115 - Safe conversion as p.Running slice length is expected to be within int32 range + actual = int32(len(p.Running)) + if p.isActive() { - // #nosec G115 - Safe conversion as p.Running slice length is expected to be within int32 range - actual = int32(len(p.Running)) desired = p.Preset.DesiredInstances.Int32 eligible = p.countEligible() extraneous = max(actual-desired, 0) diff --git a/coderd/prebuilds/preset_snapshot_test.go b/coderd/prebuilds/preset_snapshot_test.go index cce8ea67cb05c..a5acb40e5311f 100644 --- a/coderd/prebuilds/preset_snapshot_test.go +++ b/coderd/prebuilds/preset_snapshot_test.go @@ -146,7 +146,9 @@ func TestOutdatedPrebuilds(t *testing.T) { state := ps.CalculateState() actions, err := ps.CalculateActions(clock, backoffInterval) require.NoError(t, err) - validateState(t, prebuilds.ReconciliationState{}, *state) + validateState(t, prebuilds.ReconciliationState{ + Actual: 1, + }, *state) validateActions(t, prebuilds.ReconciliationActions{ ActionType: prebuilds.ActionTypeDelete, DeleteIDs: []uuid.UUID{outdated.prebuiltWorkspaceID}, @@ -208,6 +210,7 @@ func TestDeleteOutdatedPrebuilds(t *testing.T) { actions, err := ps.CalculateActions(clock, backoffInterval) require.NoError(t, err) validateState(t, prebuilds.ReconciliationState{ + Actual: 1, Deleting: 1, }, *state) @@ -530,7 +533,9 @@ func TestDeprecated(t *testing.T) { state := ps.CalculateState() actions, err := ps.CalculateActions(clock, backoffInterval) require.NoError(t, err) - validateState(t, prebuilds.ReconciliationState{}, *state) + validateState(t, prebuilds.ReconciliationState{ + Actual: 1, + }, *state) validateActions(t, prebuilds.ReconciliationActions{ ActionType: prebuilds.ActionTypeDelete, DeleteIDs: []uuid.UUID{current.prebuiltWorkspaceID},