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

31 lines
1.6 KiB
Markdown

# 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`:
```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.