What happened
Deploying an R project (with renv.lock) without a manifest.json, the deploy step ran generate-requirements.sh and failed with a Python-specific error:
No uv.lock or pyproject.toml file found. Please run 'uv sync' to generate uv.lock or create a pyproject.toml before deploying.
##[error]Process completed with exit code 1.
The action appears to assume Python content whenever manifest.json is absent. For an R project this error is confusing and misleading — it points the user toward uv/pyproject.toml when the actual requirement is an R manifest.
Expected behavior
- Don't assume Python content solely because
manifest.json is missing.
- Detect content type (e.g. presence of
renv.lock, .R/.Rmd/.qmd files, DESCRIPTION, etc.) before choosing the requirements-generation path.
- Produce an error message tailored to the detected content type. For R content, the message should explain that a
manifest.json is required (and how to generate one) rather than mentioning uv.lock/pyproject.toml.
What happened
Deploying an R project (with
renv.lock) without amanifest.json, the deploy step rangenerate-requirements.shand failed with a Python-specific error:The action appears to assume Python content whenever
manifest.jsonis absent. For an R project this error is confusing and misleading — it points the user towarduv/pyproject.tomlwhen the actual requirement is an R manifest.Expected behavior
manifest.jsonis missing.renv.lock,.R/.Rmd/.qmdfiles,DESCRIPTION, etc.) before choosing the requirements-generation path.manifest.jsonis required (and how to generate one) rather than mentioninguv.lock/pyproject.toml.