Skip to content

Commit afcb8af

Browse files
authored
feat: add released_at to project version (#1771)
Signed-off-by: Miguel Martinez <miguel@chainloop.dev>
1 parent 3467244 commit afcb8af

19 files changed

+808
-406
lines changed

app/controlplane/api/controlplane/v1/response_messages.pb.go

Lines changed: 419 additions & 393 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/controlplane/api/controlplane/v1/response_messages.proto

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,9 @@ message ProjectVersion {
7171
string id = 1;
7272
string version = 2;
7373
bool prerelease = 3;
74+
google.protobuf.Timestamp created_at = 4;
75+
// when it was marked as released
76+
google.protobuf.Timestamp released_at = 5;
7477
}
7578

7679
enum RunStatus {

app/controlplane/api/gen/frontend/controlplane/v1/response_messages.ts

Lines changed: 30 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/controlplane/api/gen/jsonschema/controlplane.v1.ProjectVersion.jsonschema.json

Lines changed: 16 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/controlplane/api/gen/jsonschema/controlplane.v1.ProjectVersion.schema.json

Lines changed: 16 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/controlplane/internal/service/workflowrun.go

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -216,11 +216,21 @@ func bizProjectVersionToPb(v *biz.ProjectVersion) *pb.ProjectVersion {
216216
return nil
217217
}
218218

219-
return &pb.ProjectVersion{
219+
pv := &pb.ProjectVersion{
220220
Id: v.ID.String(),
221221
Version: v.Version,
222222
Prerelease: v.Prerelease,
223223
}
224+
225+
if v.CreatedAt != nil {
226+
pv.CreatedAt = timestamppb.New(*v.CreatedAt)
227+
}
228+
229+
if v.ReleasedAt != nil {
230+
pv.ReleasedAt = timestamppb.New(*v.ReleasedAt)
231+
}
232+
233+
return pv
224234
}
225235

226236
func bizWorkflowRunStatusToPb(st biz.WorkflowRunStatus) pb.RunStatus {

app/controlplane/pkg/biz/projectversion.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
//
2-
// Copyright 2024 The Chainloop Authors.
2+
// Copyright 2024-2025 The Chainloop Authors.
33
//
44
// Licensed under the Apache License, Version 2.0 (the "License");
55
// you may not use this file except in compliance with the License.
@@ -36,6 +36,8 @@ type ProjectVersion struct {
3636
TotalWorkflowRuns int
3737
// CreatedAt is the time when the project version was created.
3838
CreatedAt *time.Time
39+
// ReleasedAt is the time when the version was released.
40+
ReleasedAt *time.Time
3941
}
4042

4143
type ProjectVersionRepo interface {
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
-- Modify "project_versions" table
2+
ALTER TABLE "project_versions" ADD COLUMN "released_at" timestamptz NULL;

app/controlplane/pkg/data/ent/migrate/migrations/atlas.sum

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
h1:3XtNxeVylkGLkmmWYuyhEJRgjMfE2Cw3EZ3YjZN9EEQ=
1+
h1:kwIyNWVleIFGFvtpxX2kEsLFLiUq35FwZK7I/t+uYbc=
22
20230706165452_init-schema.sql h1:VvqbNFEQnCvUVyj2iDYVQQxDM0+sSXqocpt/5H64k8M=
33
20230710111950-cas-backend.sql h1:A8iBuSzZIEbdsv9ipBtscZQuaBp3V5/VMw7eZH6GX+g=
44
20230712094107-cas-backends-workflow-runs.sql h1:a5rzxpVGyd56nLRSsKrmCFc9sebg65RWzLghKHh5xvI=
@@ -75,3 +75,4 @@ h1:3XtNxeVylkGLkmmWYuyhEJRgjMfE2Cw3EZ3YjZN9EEQ=
7575
20241209230337.sql h1:u7wrkqqkn1s5CkY4DCeMYMvl9j8ml/eZw7yhM6haf2E=
7676
20241210063348.sql h1:8pCi/LfX9ukdL2xeWoOe7GI+iPLSQoxHTwJfPPzZ1zY=
7777
20250102214939.sql h1:KBI0HXwKNzBaJkeAHm6FtC9Il/FCCH397q/aYIN0ZcQ=
78+
20250130180534.sql h1:mu74cc67job7Ed0ZhdmTKFYgNJicE3pZRmE6XeSlJns=

app/controlplane/pkg/data/ent/migrate/schema.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -325,6 +325,7 @@ var (
325325
{Name: "deleted_at", Type: field.TypeTime, Nullable: true},
326326
{Name: "prerelease", Type: field.TypeBool, Default: true},
327327
{Name: "workflow_run_count", Type: field.TypeInt, Default: 0},
328+
{Name: "released_at", Type: field.TypeTime, Nullable: true},
328329
{Name: "project_id", Type: field.TypeUUID},
329330
}
330331
// ProjectVersionsTable holds the schema information for the "project_versions" table.
@@ -335,7 +336,7 @@ var (
335336
ForeignKeys: []*schema.ForeignKey{
336337
{
337338
Symbol: "project_versions_projects_versions",
338-
Columns: []*schema.Column{ProjectVersionsColumns[6]},
339+
Columns: []*schema.Column{ProjectVersionsColumns[7]},
339340
RefColumns: []*schema.Column{ProjectsColumns[0]},
340341
OnDelete: schema.Cascade,
341342
},
@@ -344,7 +345,7 @@ var (
344345
{
345346
Name: "projectversion_version_project_id",
346347
Unique: true,
347-
Columns: []*schema.Column{ProjectVersionsColumns[1], ProjectVersionsColumns[6]},
348+
Columns: []*schema.Column{ProjectVersionsColumns[1], ProjectVersionsColumns[7]},
348349
Annotation: &entsql.IndexAnnotation{
349350
Where: "deleted_at IS NULL",
350351
},

0 commit comments

Comments
 (0)