Skip to content

Better error when no manifest.json: don't assume Python content #69

Description

@nealrichardson

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions