rios0rios0/pipelines

Changing the job names to avoid having so many "/" in the Pull Request UI

Open

#22 opened on Feb 9, 2024

 (0 comments) (1 reaction) (2 assignees)Shell (5 forks)github user discovery
enhancementhelp wanted

Repository metrics

Stars
 (22 stars)
PR merge metrics
 (Avg merge 8h 32m) (39 merged PRs in 30d)

Description

Summary

When the pipelines repo is imported into other GitHub projects as reusable workflows, the job names in the Pull Request UI become excessively long due to hierarchical nesting (e.g., default / default / language / job with 4 levels of slashes).

Root Cause

The pipelines repo uses a two-level workflow_call chain:

  1. Consumer repo calls e.g. rios0rios0/pipelines/.github/workflows/go-binary.yaml@main from their workflow (typically named default.yaml)
  2. go-binary.yaml defines a go: job that calls rios0rios0/pipelines/.github/workflows/go.yaml@main (second workflow_call)
  3. go.yaml defines individual jobs with name: like 'code-check > style:golangci-lint'

GitHub Actions displays reusable workflow calls as <caller> / <callee-job>. With 3 levels of nesting, you get: default / go / code-check > style:golangci-lint — a 4-slash chain.

Proposed Fix Options

  1. Set explicit name: on intermediate jobs — control what GitHub displays at each level (e.g., name: '' to suppress a level)
  2. Rename job keys — use shorter, more descriptive keys that read better in the hierarchical display

Scope

All workflow files follow this pattern. Files to update (~20+):

  • .github/workflows/go.yaml, go-binary.yaml, go-docker.yaml, go-library.yaml
  • .github/workflows/java.yaml, java-*.yaml
  • .github/workflows/python.yaml, python-*.yaml
  • .github/workflows/javascript.yaml, javascript-*.yaml
  • And all other language variants

Acceptance Criteria

  • Job names in the PR UI have at most 2 levels of nesting (e.g., language / stage > tool)
  • All language workflow files are updated consistently
  • No functional change to the pipeline stages — same jobs run, same artifacts produced
  • Document the naming convention for future workflow additions
  • Test with a consumer repo to verify the PR UI displays correctly

Relevant Files

  • .github/workflows/go.yaml — base Go workflow with all job names
  • .github/workflows/go-binary.yaml — extends go.yaml, adds delivery jobs
  • .github/workflows/go-docker.yaml, go-library.yaml — similar patterns
  • .github/workflows/java.yaml, python.yaml, javascript.yaml — same for other languages

Contributor guide