CircleCI-Archived / visual-config-editor

Generate your CircleCI configuration files by building a visual map of your project's workflows.
https://circle.ci/visual-config-editor
Apache License 2.0
73 stars 17 forks source link

Bug: Config Fails to Parse #268

Open daevidvincent opened 2 years ago

daevidvincent commented 2 years ago

Is there an existing issue for this?

Current behavior

I tried multiple of our company's circle.yml files (via the blue upload button right?) and NOTHING happens. No display of the file, no graph, no errors, no-thing at all... 😞

Minimum reproduction code

https://icantshareitbcitsprivate.error

Steps to reproduce

  1. push blue button here https://circleci-public.github.io/visual-config-editor/
  2. upload a circle.yml file from one of a half-dozen projects I tried
  3. nothing happens (no error, no display of yaml, no graph, nothing at all)
  4. curse and cry as the disappointment sets in
  5. make bug report and 🤞 it is fixed

Expected behavior

something. anything. error? show my yaml file? ideally show the graph and let me edit in glee and joy!

CircleCI Config SDK version

unknown

Node.js version

huh?

In which operating systems have you tested?

Other

Some of those questions seem odd for a web GUI interface? but windows 10 on chrome if that matters.

Jaryt commented 2 years ago

Hello! Thanks for writing in. There are some config features that may not be supported just yet. The parser is wrapped in a try/catch, and our validator is meant to throw the errors into the console if something is not loading. You've said no errors, so I am assuming you've checked the console already. I've seen strange behavior where an error isn't thrown, so I'll need to do more digging there.

There are a few things we can do to diagnose this issue: Implement a "soft parsing" flag, so that we do our best to parse the config as far as possible, and anything that fails gets put into some sort of output to properly expose the issues. I will be looking into this in the upcoming week.

Another (sub-optimal) option, would be to strip your config down from any actual code, so we can view the features that might be causing the config to fail to parse.

There are some advanced features (and likely a few remaining basic ones) that do not have support and that may trip up the validator. I have a wiki in the works to help communicate this better, but of course we should provide as much information in the web ui as possible.

I will let you know once we have made progress in this area, so that we can hopefully get your config editable ASAP!

Jaryt commented 2 years ago

Also, fair point on the bug report questions. We will take a look at improving that as well

tlaurion commented 2 years ago

On my side I get a e.jobs is undefined error that pointed me here for report.

I was trying to optimize a PR which includes a new workspace layer being passed and was wanting to give this visual editor a try to move steps around. CircleCI config is here and pretty standard, and of course, is successful currently building that PR: https://github.com/osresearch/heads/blob/acb6e78cc60a15e851022746625d54a2bcd19b4e/.circleci/config.yml

Build dependency tree: https://app.circleci.com/pipelines/github/tlaurion/heads/1149/workflows/69aa6837-69e4-4d14-9969-9621f17e052c

Where the editor would be needed to easily move things around and test scenarios more easily: https://github.com/osresearch/heads/pull/1002#issuecomment-1224309961

@Jaryt Don't hesitate to ping me directly here if needed.

Jaryt commented 2 years ago

@tlaurion thank you for the detailed report, and for providing that config. I'll take a look and let you know what I find. 🙂

Jaryt commented 2 years ago

@tlaurion For some reason, the version in workflows breaks the jobs stanza. Removing that lets your config load successfully! I also believe this key is not required, which is why it was overlooked.

This config points out some problems with how I'm handling workflow connection removal (due to the size of the config) Thanks again for providing this sample and helping make the VCE better!

Jaryt commented 2 years ago

Hello @daevidvincent ! A couple of days ago, we deployed a new version to try and surface any errors. I see you 🎉 reaction, and am wondering if this was also the problem for your config. Please let me know if you're continuing to receive no information when opening a config.

Can you confirm whether you mean config.yml rather than circle.yml? I was informed by a colleague that this was the name of the CircleCI 1.0 config file.