A sanitation route job finds its CSV on a technician's laptop via a relative path but fails on the municipal CI agent with a missing-file runtime error. What should the team recognize?
Select an answer to reveal the explanation.
Short Explanation
Relative paths are like saying “the folder next to me”—fine at your desk, but confusing in a different CI setup. Your laptop and the agent can have different working directories, so check the file’s path or put it in the job’s known location.
Full Explanation
A sanitation route job that finds its CSV through a relative path on a technician’s laptop but fails on the municipal CI agent with a missing-file runtime error is most likely encountering environment and working-directory differences. Relative paths resolve from the process’s current working directory and the agent’s checkout layout, which may differ from the laptop’s ad-hoc folder structure. The code worked locally because the expected relative layout happened to exist there. Incrementing semantic versioning MAJOR whenever a CSV moves confuses packaging version policy with path portability; a version change does not fix a missing file. The claim that syntax parsers always reject relative paths on every operating system is incorrect: relative paths are valid, and the failure occurs at runtime when the target cannot be found. A detached HEAD state does not make Git resolve relative CSV paths against a remote registry URL; that claim mixes unrelated Git and path-resolution concepts. Exam caveat: the fix may be to check the CSV into the repository at a known path, generate it in an earlier CI step, or use an absolute path rooted at the workspace checkout variable, such as GITHUB_WORKSPACE or CI_PROJECT_DIR. A laptop home-directory absolute path is no more portable. Binary or privacy-sensitive sanitation data may instead belong in an artifact store, with an explicit download step. Practical check: print the current working directory and resolved CSV path in CI logs, align the job with the agent’s workspace layout, rerun the pipeline until the file opens, and add a CI assertion that fails fast when the expected input artifact is missing.