feat: Add workflow dependencies visualization

## API changes:
    - Add job_id field for YAML job identifiers
    - Add needs field for job dependencies
    - Update swagger documentation

    ## Frontend features:
    - Interactive graph with zoom/pan navigation
    - Matrix jobs visualization
    - Custom job names support via job_id
    - Status-based coloring and animations
    - Hover highlighting for related jobs
    - Click to navigate to job details

    ## Technical details:
    - Uses existing database columns (no schema changes)
    - Backward compatible (omitempty for new fields)
    - Handles edge cases (cycles, missing dependencies)
    - Performance optimized

    ## UI integration:
    - Updated RepoActionView.vue styles for proper theme compatibility
    - Consistent styling with Gitea's CSS variables
This commit is contained in:
Semenets V. Pavel
2025-12-26 10:23:03 +03:00
parent 64fcf847ce
commit 438ac5acc1
6 changed files with 1302 additions and 35 deletions
+2
View File
@@ -161,6 +161,7 @@ type ActionWorkflowStep struct {
// ActionWorkflowJob represents a WorkflowJob
type ActionWorkflowJob struct {
ID int64 `json:"id"`
JobID string `json:"job_id,omitempty"`
URL string `json:"url"`
HTMLURL string `json:"html_url"`
RunID int64 `json:"run_id"`
@@ -175,6 +176,7 @@ type ActionWorkflowJob struct {
RunnerID int64 `json:"runner_id,omitempty"`
RunnerName string `json:"runner_name,omitempty"`
Steps []*ActionWorkflowStep `json:"steps"`
Needs []string `json:"needs,omitempty"`
// swagger:strfmt date-time
CreatedAt time.Time `json:"created_at"`
// swagger:strfmt date-time