Skip to content

concore validate and build resolve --source from different directories #602

Description

@bhuvan-somisetty

validate and inspect resolve --source relative to the workflow file, but build resolves it relative to the current directory. So the same command line means two different folders depending on which subcommand you run.

Repro (from the folder above the project):

concore init demo
concore validate demo/workflow.graphml                   # passes
concore build demo/workflow.graphml                      # Error: Source directory 'src' not found
concore build demo/workflow.graphml --source demo/src    # works
concore validate demo/workflow.graphml --source demo/src # looks in demo/demo/src

The last one is the worst part. It only warns Source directory not found: demo/demo/src, skips the source file checks, and still says valid with exit 0. I deleted demo/src/script.py and it still passed.

Expected: --source means the same path for every command, so validate catches what build will fail on.

Actual: validate/inspect use workflow_path.parent / source_dir (validate.py line 135, inspect.py lines 64, 136, 223), build uses Path(source).resolve().

Tested on dev at 8e0913e, Python 3.12.10

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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