Frontend: Make CI/CD Catalog breadcrumb work

What does this MR do and why?

This MR adds client-side breadcrumbs to the CI/CD catalog page. It supports static breadcrumbs ('Explore'), index breadcrumb ('CI/CD Catalog), and show breadcrumbs (specific resource). For resource-specific breadcrumb, we use the last part of the path ('root/markdown-lint' would render as 'markdown-lint').

References

Screenshots or screen recordings

Before After
Screen_Recording_2025-07-23_at_23.16.51 Screen_Recording_2025-07-23_at_23.17.33

How to set up and validate locally

  1. Create a new project for your CI/CD component

  2. Set up the component structure Create the following files in your test project:

    template.yml (CI/CD component template):

    spec:
      inputs:
        stage:
          default: test
          description: Pipeline stage
        image:
          default: alpine:latest
          description: Docker image to use
    
    ---
    
    lint-markdown:
      stage: $[[ inputs.stage ]]
      image: $[[ inputs.image ]]
      script:
        - echo "Running markdown lint"
        - echo "Component: $CI_PROJECT_PATH"

    README.md:

    # Test Component
    
    This is a test CI/CD component for validating breadcrumb functionality.
    
    ## Usage
    
    ```yaml
    include:
      - component: gitlab.example.com/root/test-component@main
        inputs:
          stage: validate
  3. Publish the component to the catalog

  4. Visit Explore -> CI/CD catalog and verify the breadcrumbs work as expected

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 #421922 (closed) and #472190 (closed)

Edited by Anna Vovchenko

Merge request reports

Loading