Update the visuals for presenting long job names

What does this MR do and why?

This MR updates the pipeline graph to only truncate long names when they reach two lines. We are already doing it in the pipeline mini-graph on the MR page.

References

Screenshots or screen recordings

Before After
Screenshot_2025-08-05_at_19.03.31 Screenshot_2025-08-05_at_19.03.47

How to set up and validate locally

  1. Use this .gitlab-ci.yml to create a bunch of jobs with long names:
# GitLab CI/CD Configuration - UI Development Placeholders

stages:
  - preflight

# Simple placeholder jobs for UI development

danger-review:
  stage: preflight
  script:
    - echo "Running danger-review..."
    - sleep 2
    - echo "Danger review completed"

docs_code_quality:
  stage: preflight
  script:
    - echo "Running docs code quality check..."
    - sleep 3
    - echo "Docs code quality check completed"

eslint:
  stage: preflight
  script:
    - echo "Running eslint..."
    - sleep 2
    - echo "ESLint completed"

feature-flags-usage:
  stage: preflight
  script:
    - echo "Checking feature flags usage..."
    - sleep 1
    - echo "Feature flags check completed"

test_job_wakeup_from_hello_world.py::TestHelloWorld::test_hello_world:
  stage: preflight
  script:
    - echo "Running test_job_wakeup_from_hello_world.py::TestHelloWorld::test_hello_world..."
    - sleep 4
    - echo "Test completed"

test_job_wakeup_from_hello_worl.py::TestHelloWorld::test_hello_world_ee:
  stage: preflight
  script:
    - echo "Running test_job_wakeup_from_hello_worl.py::TestHelloWorld::test_hello_world_ee..."
    - sleep 3
    - echo "Test EE completed"

haml-lint:
  stage: preflight
  script:
    - echo "Running haml-lint..."
    - sleep 2
    - echo "HAML lint completed"

haml-lint_ee:
  stage: preflight
  script:
    - echo "Running haml-lint EE..."
    - sleep 2
    - echo "HAML lint EE completed"

data_processing_pipeline.py::DataValidationModule[v2][batch_mode]:
  stage: preflight
  script:
    - echo "Running data_processing_pipeline.py::DataValidationModule[v2][batch_mode]..."
    - sleep 3
    - echo "Data validation v2 completed"

data_processing_pipeline.py::DataValidationModule[v3][batch_mode]:
  stage: preflight
  script:
    - echo "Running data_processing_pipeline.py::DataValidationModule[v3][batch_mode]..."
    - sleep 3
    - echo "Data validation v3 completed"

# Extra long job names for UI testing
test_integration_suite_with_extremely_long_descriptive_name_for_comprehensive_end_to_end_validation.py::TestIntegrationSuite::test_user_authentication_flow_with_multi_factor_authentication_and_session_management:
  stage: preflight
  script:
    - echo "Running very long test..."
    - sleep 2
    - echo "Long test completed"

data_processing_and_transformation_pipeline_with_advanced_etl_operations.py::DataQualityValidationModule[version_4_beta_2][distributed_parallel_processing_mode][with_checkpointing_enabled]:
  stage: preflight
  script:
    - echo "Running data pipeline..."
    - sleep 3
    - echo "Pipeline completed"

test_microservices_communication_layer_with_circuit_breaker_pattern_implementation.py::TestMicroservicesOrchestration::test_service_discovery_and_load_balancing_with_retry_logic_and_timeout_handling:
  stage: preflight
  script:
    - echo "Running microservices test..."
    - sleep 2
    - echo "Test completed"

frontend_component_integration_tests_for_responsive_design_across_multiple_breakpoints.spec.js::ResponsiveDesignTestSuite::test_mobile_tablet_desktop_ultra_wide_screen_layouts_with_dynamic_content_loading:
  stage: preflight
  script:
    - echo "Running frontend tests..."
    - sleep 4
    - echo "Frontend tests completed"

security_vulnerability_scanning_with_dependency_checking_and_static_code_analysis.py::SecurityAuditModule::test_owasp_top_ten_vulnerabilities_sql_injection_xss_csrf_and_authentication_bypass_scenarios:
  stage: preflight
  script:
    - echo "Running security scan..."
    - sleep 3
    - echo "Security scan completed"

# Jobs with parallel/matrix configuration for grouping
test_parallel_suite:
  stage: preflight
  parallel: 5
  script:
    - echo "Running test_parallel_suite job $CI_NODE_INDEX..."
    - sleep 2
    - echo "Test completed"

browser_compatibility_tests:
  stage: preflight
  parallel:
    matrix:
      - BROWSER: ["chrome", "firefox", "safari", "edge"]
        VERSION: ["latest", "latest-1"]
  script:
    - echo "Testing on $BROWSER version $VERSION..."
    - sleep 3
    - echo "Browser test completed"

database_migration_tests:
  stage: preflight
  parallel:
    matrix:
      - DATABASE: ["postgresql", "mysql", "mongodb"]
        VERSION: ["14", "15", "16"]
  script:
    - echo "Testing database $DATABASE version $VERSION..."
    - sleep 2
    - echo "Database test completed"

performance_benchmarks_across_different_configurations_and_environments.py::PerformanceBenchmarkSuite::test_load_stress_endurance_spike_testing:
  stage: preflight
  parallel: 10
  script:
    - echo "Running performance benchmark $CI_NODE_INDEX/10..."
    - sleep 4
    - echo "Benchmark completed"

api_endpoint_integration_tests_with_multiple_authentication_providers.spec.js::APITestSuite::test_oauth_saml_jwt_basic_auth_flows:
  stage: preflight
  parallel:
    matrix:
      - AUTH_PROVIDER: ["oauth2", "saml", "jwt", "basic"]
        API_VERSION: ["v1", "v2", "v3"]
  script:
    - echo "Testing $AUTH_PROVIDER with API $API_VERSION..."
    - sleep 2
    - echo "API test completed"
  1. Run a pipeline and visit Build -> Pipelines
  2. Select the pipeline and verify that the long job names take 2 lines before truncating.

MR acceptance checklist

Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

Related to #543735 (closed)

Edited by Anna Vovchenko

Merge request reports

Loading