Add workflow job URL and some logging improvements

Record the workflow job run URL for both scaleset and workflow jobs and
add some logging fixes.

Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
This commit is contained in:
Gabriel Adrian Samfira 2026-02-14 19:36:42 +02:00 committed by Gabriel
parent 3ceb2f7ebb
commit 61e674e1fd
10 changed files with 86 additions and 8 deletions

View file

@ -63,11 +63,13 @@ func sqlWorkflowJobToParamsJob(job WorkflowJob) (params.Job, error) {
CreatedAt: job.CreatedAt,
UpdatedAt: job.UpdatedAt,
LockedBy: job.LockedBy,
WorkflowRunURL: job.WorkflowRunURL,
}
if job.InstanceID != nil {
jobParam.RunnerName = job.Instance.Name
}
return jobParam, nil
}
@ -273,6 +275,7 @@ func (s *sqlDatabase) CreateOrUpdateJob(ctx context.Context, job params.Job) (pa
workflowJob.GithubRunnerID = job.GithubRunnerID
workflowJob.RunnerGroupID = job.RunnerGroupID
workflowJob.RunnerGroupName = job.RunnerGroupName
workflowJob.WorkflowRunURL = job.WorkflowRunURL
if job.RunID != 0 && workflowJob.RunID == 0 {
workflowJob.RunID = job.RunID
}
@ -312,6 +315,7 @@ func (s *sqlDatabase) CreateOrUpdateJob(ctx context.Context, job params.Job) (pa
if err != nil {
return params.Job{}, fmt.Errorf("error converting job: %w", err)
}
workflowJob.WorkflowRunURL = job.WorkflowRunURL
if err := s.conn.Create(&workflowJob).Error; err != nil {
return params.Job{}, fmt.Errorf("error creating job: %w", err)
}
@ -391,7 +395,9 @@ func (s *sqlDatabase) ListAllJobs(_ context.Context) ([]params.Job, error) {
var jobs []WorkflowJob
query := s.conn.Model(&WorkflowJob{})
if err := query.Preload("Instance").Find(&jobs); err.Error != nil {
if err := query.
Preload("Instance").
Find(&jobs); err.Error != nil {
if errors.Is(err.Error, gorm.ErrRecordNotFound) {
return []params.Job{}, nil
}

View file

@ -419,7 +419,8 @@ type WorkflowJob struct {
RepositoryName string
RepositoryOwner string
Labels datatypes.JSON
Labels datatypes.JSON
WorkflowRunURL string
// The entity that received the hook.
//