Files
devops-lib-gcp/ai-blitz/task-02-checkoutSubmodule-typo.md
T
2026-08-26 02:02:24 +05:30

1.6 KiB

Task 02: Fix chekoutSubmodule method-name typo across all call sites

  • Type: Bug fix (correctness)
  • Source: BUGS_AND_IMPROVEMENTS_REPORT.md §1.2

Goal

Method name in src/com/meesho/stages/checkOut.groovy:20 reads correctly as checkoutSubmodule; every caller in the codebase resolves; consumer Jenkinsfiles that reference the old name don't break overnight.

Acceptance Criteria

  • checkOut.groovy:20 defines def checkoutSubmodule(String repo_name) — not chekoutSubmodule
  • Every grep -rn 'chekoutSubmodule' hit in src/, vars/, resources/ is updated to checkoutSubmodule
  • Cross-org sweep: search Meesho/* for chekoutSubmodule references and either:
    • (a) raise companion PRs on each consumer to update the call, or
    • (b) add a backwards-compat alias in checkOut.groovy:
      def chekoutSubmodule(String repo_name) {
          log.warning('chekoutSubmodule is deprecated — use checkoutSubmodule')
          return checkoutSubmodule(repo_name)
      }
      
  • Alias (if present) is documented in a CHANGELOG-style note with a target removal date
  • Smoke-test via a consumer Jenkinsfile that exercises the submodule checkout path
  • No behavioural change in the underlying method body — only the name changes

Notes / known gotchas

  • The alias path is the safer choice in a shared library — consumer Jenkinsfiles get reviewed and merged on their own schedule, and a hard rename will silently fail across the org.
  • Once the alias is in, run gh search code 'chekoutSubmodule' --owner Meesho --json repository,path periodically to track removal readiness.