Skip to content

score-pr-checks.yml only validates MODULE.bazel naming, not .bazelrc registry config - missing registry line went undetected in score-crates #186

Description

@hskang-amelia

Summary

score-pr-checks.yml (bazel-module-name-check job) validates that
MODULE.bazel's module() name matches ^score_[a-z_]+$, but does not check
.bazelrc for the S-CORE custom Bazel registry configuration. As a result, a
repo can silently drift from the standard template without any CI signal.

This actually happened: score-crates's .bazelrc was missing the two lines
that every other module (per module_template) has:

common --registry=https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/
common --registry=https://bcr.bazel.build

Without the first line, any module version with an "-score" suffix (e.g.
rules_rust@0.68.2-score) cannot be resolved, since those versions only
exist in the S-CORE registry, not the Bazel Central Registry. This went
unnoticed until it caused real build failures.

Evidence

  • module_template/.bazelrc (canonical template): has both registry lines.
  • baselibs/.bazelrc, persistency/.bazelrc: have both registry lines.
  • score-crates/.bazelrc: was missing both lines entirely, with no CI check
    catching the discrepancy.

Suggested improvement

Extend score-pr-checks.yml with an additional check (or a new job) that
verifies .bazelrc contains the required S-CORE registry line(s), similar to
how the existing job already parses MODULE.bazel. Something like:

- name: Check .bazelrc for S-CORE registry
  run: |
    if [ -f ".bazelrc" ]; then
      if ! grep -q "raw.githubusercontent.com/eclipse-score/bazel_registry" .bazelrc; then
        echo "S-CORE Bazel registry entry missing from .bazelrc"
      fi
    fi

This would catch the same class of drift (a repo silently missing a
template-standard .bazelrc line) before it causes confusing "-score"
version resolution failures downstream.

Environment

  • cicd-workflows @ main
  • module_template @ main
  • Repro case: score-crates @ main (as of 2026-08-07, before local fix)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status
    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions