Fix #6411: pass the download config to lesson_checks.yml - #6412
Conversation
download_lesson_list requires 6 arguments; lesson_checks.yml passed 5, so the scheduled Monday run failed with a usage error and collected no lesson compatibility data. The 6th argument arrived with pull_latest_lesson_versions.yml, which passes it correctly. This aligns lesson_checks.yml with that call.
|
@Solarthis this PR is being marked as draft because the PR description must contain 'Fixes #' or 'Fixes part of #' for each issue the PR is changing, and each one on its own line with no other text. |
Coverage ReportResultsCoverage Analysis: SKIP ⏭️ This PR did not introduce any changes to Kotlin source or test files.
|
|
Hi @Solarthis, thanks for your interest in contributing! It looks like this issue hasn't been assigned to you yet. Please note that you should not raise a PR for an issue before it has been assigned to you. If you would like to work on this issue, please first leave a comment on the issue explaining how you plan to resolve it. Once we review your approach and confirm that you are on the right track, we can assign the issue to you, and you can then proceed with the PR. For now, this PR will not be reviewed. Please also go through this wiki, especially the onboarding and starter issue instructions, before starting your contribution. |
|
@Solarthis, please comment on the issue to be assigned, and please look at the failures in the PR. |
Explanation
Fixes #6411:
lesson_checks.ymlinvoked//scripts:download_lesson_listwith 5 arguments, but the script requires 6. Every scheduled Monday run failed at the "Download lesson version list" step with the usage error, so no lesson compatibility data was collected.DownloadLessonList.ktasserts the arity directly:args[5]isdownloadConfigPath, and the scriptchecks that the file exists. The parameter arrived withpull_latest_lesson_versions.yml, which passes it correctly;lesson_checks.ymlwas never updated to match. This change adds the missing 6th argument, so the two callers agree.Why
prod_download_config.textprotoTwo configs exist —
alpha_download_config.textprotoandprod_download_config.textproto. The prod one is correct here because this job isname: Check production lesson conversionand downloads fromhttps://www.oppia.org, matching howpull_latest_lesson_versions.ymlpairs the prod server with the prod config for its prod output.Note on the path
scripts/assets/*_download_config.textprotodoes not exist ondevelop— it lives onintroduce-asset-download-script. That is fine at runtime: this workflow already doesactions/checkoutwithref: introduce-asset-download-script(the same reason the Bazel target resolves), so the config is present in the workspace when the step runs.Verification
I could not execute the workflow — it is
schedule/workflow_dispatchonly and needsPROD_SERVER_LESSON_SECRET, which I do not have. What I did check:args.size in 6..7DownloadLessonList.ktpositionally (base_url,gcs_base_url,gcs_bucket, secret, output, config)pull_latest_lesson_versions.ymlA maintainer with the secret can confirm via
workflow_dispatchrather than waiting for the Monday cron.Essential Checklist
scripts/assetsfile is changed — one is referenced; rationale for which one is above.)Disclosure of LLM Usage
Did you use AI/LLMs when working on this PR? Yes.
If yes, describe the extent AI was used: Claude (Opus) was used for the whole of this change — locating the arity mismatch by reading
DownloadLessonList.ktagainst both workflow callers, deciding which of the two configs applies, making the one-line edit, and drafting this description. The change is a single added argument; every claim above was checked against the files in this repository rather than assumed, and the verification limits are stated explicitly.