-
Notifications
You must be signed in to change notification settings - Fork 46
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: add yaml validation #236
feat: add yaml validation #236
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@mihai-sysbio thanks for working on this, it's great to finally have some CI in the repo :) I agree that continuing on error is misleading... As the main two tests (yaml lint and cobra reading) are failing, maybe it makes sense to first solve at least one of them before we merge this? I can look into the parsing errors. @hao-chalmers were you able to solve linting issues in human-GEM?
I totally understand how merging this PR now would result a bunch of red |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I opened SysBioChalmers/RAVEN#309 which solves the cobrapy import issue (#238), so at least this test will soon pass. Let's hold on merging this PR until after the new yeast-GEM release (#241), to allow enough time for a new release of RAVEN (that way this test will pass once it gets to master
).
update: I found SysBioChalmers/Human-GEM#173 which solves linting issues + other issues in the yaml file, so I would hold on merging this PR until RAVEN's |
Normally I'd preach loose coupling as much as possible (ie to not couple this PR with an unscheduled release of RAVEN), but yeah it doesn't look great to have failing workflows. On the other hand, the released versions already fail the tests, we're just choosing not to show that but modellers might notice anyway SysBioChalmers/Human-GEM#169. |
@mihai-sysbio at least the linting seems to be quite straightforward to fix? And then both of the tests here would pass... let's continue the discussion at SysBioChalmers/Human-GEM#173 to see how much work would it entail to adapt |
It looks like the |
This can be easily fixed by adapting RAVEN's |
I suspect so, but I'm not sure how the discussion in SysBioChalmers/Human-GEM#173 concluded. |
- using RAVEN PR #338
|
After merging in the I've noticed that the |
Main improvements in this PR:
This pull request adds YAML validation to all PRs targeting
devel
andmaster
by running yamllint and then importing theyml
format with Cobrapy.As of now, there are two issues that should be at some point addressed:
requirements/requirements.txt
fails because of a dependency onpywin32
. This is not ideal for cross-platform development, nor for GitHub actions (where the cost of running Windows is 2x the cost of Ubuntu). This has been dealt with by replacing the installation step to install justcobra
.exportForGit
function upstream, which would require updatingRAVEN/io/writeYaml.m
. Alternatively, one can ignore indentation problems. The current solution was to simply ignore the problem by continuing on error.Continuing on error can be misleading, since it gives the impression that everything is alright, even if checking the output things are not. I'd consider removing these flags and allowing the workflow to fail.