-
Notifications
You must be signed in to change notification settings - Fork 229
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
[bug] GitHub Actions build_examples.py output not showing up #100
Comments
I suggest reversing these changes to GitHub actions and test them in a separate test repo, e.g. a fork from this one. |
I am leaning towards removing the examples from the repo entirely, and curating a second |
Does this mean that we throw out the possability to do regression testing? You asked for comments about this to #94 and there I tried explaining my thoughts about this, but the case seems closed. I'm a bit confused about the workflow. You seem to merge in many PRs rather quickly into a test feature branch and then do a review, but as the PR seems to disappear from the PR list after your merge-in, it will be hidden from people that might have comments unless they discover it before your merge-in. It is also hard to know when you decide it's good enough or if it has just been put on hold in your feature branch. In PR #96 I was also asked for comments, but you merged it in the next day just before my comments about the change requests from #17 that still was not applied. Now, I don't know if anyone care about comments or change requests because the discussion turned towards the new banded coloring. I thought the PRs normally are kept open durimg reviews, updates, and until all change requests are corrected, and then closed by merge-in (normally to dev). Please tell me what I have misunderstood about the workflow. |
Thanks for your comment, I'll try and address the issues you mentioned!
I agree this is a major drawback of the separate repo approach. I haven't found a solution yet, but I am looking into using
I will admit that I merged this a bit too quickly without realizing all the consequences. The hope is to get a satisfactory result via this new issue #100.
You raise very valid points. As a non-programmer and self-taught Git[Hub] user, I am figuring out all this stuff on the go.
See my last sentence above and the linked commit. I was eager to get the feature in, so I decided it was easier to apply those missing minor changes myself.
That is unfortunate and I have asked for a new issue to discuss the color bands, so as not to derail from the original topic.
Please see my answer three paragraphs up. Maybe I am missing some way of getting the changes from a PR into my local copy (on its separate feature branch) without marking it as officially "merged" until it reaches the
If anything, you are overestimating the existence of a defined workflow 😄 I very much appreciate receiving your input and want to keep the discussions open; I hope that this intention is conveyed here as well as in all the other threads! |
Thank you for addressing all the issues in my long posting. I have never got the impression that you deliberately ignore or want to avoid comments, but by closing the PRs too early, you risk that fewer people are seeing the commits and comments, and hence risk loosing valuable feedback and maybe the PR author might ignore comments on his closed PR.
I have never used Please read my 3 comments to #94 and argue against me before you decide what to do with the generated files. I would suggest testing the GitHub actions thoroughly in a separate repo before applying it in your main repo (this). Automatically regenerate all output files for each PR might not be what you want unless at least all output files get identical contents and that git detect that when the commits do not change the output. Note that different Graphviz versions normally generate different output from the same input. I recommend you keep the PRs open until there are nothing more to do and you have merged in all or the useful parts, or finally rejected it. You can fetch the PR commits into a local branch from your git command for testing while keeping the PR open. This also makes it easy to rebase or cherry-pick the commits onto other branches in your local repo to prepare pushing them to GitHub. Personally, I use remote URLs to several forks from my local repo and
However, there are other methods that might work better for you. Here are some links you might find useful: Note that I have not tested all these methods myself. |
Thanks for all the links! They all offered some new insight, but the first one gave me exactly what I [didn't know I] needed:
Previously, I was doing something similar to your suggestion, tracking various forks, but it was a bit messy since I don't really need to see everything other people are doing, until it becomes a PR. Now I've learned I can just check those out locally while keeping the PR open, and my commit tree looks exactly how I need it! (Yes I use a GUI, sue me 😆) The only downside is that all the PR branches persist even after the PR is closed... Thanks so much for the hints! Comments on the regression testing coming in a separate comment. |
Regarding the output files:
|
As for specific steps to take now, to move the project forward while we figure this out, here's my proposal:
This will allow me to work on #66, #69, #77, #78 and hopefully resolve #95 soon, using the newest |
I'm glad you found my links helpful. Right now, I have only time to answer one of your messages (I'll look into the rest later):
Thank you.
I agree, but as long as we diff the .gv files, then we probably can safely ignore any diagram diffs. I want to look into that when I get the time.
I disagree. The .gv file does not change with the Graphviz version and is very useful for regression testing. It's mainly the .svg and .png outputs that cause problems in that context.
If we want to write the generated files to a subfolder without first copying the YAML file to the same subfolder, I believe methods for writing output files in the Harness class need to be changed to allow a different destination folder, but I might have overlooked something. It is not tested. |
My intent with this Github action is not to recreate the example images e.g. for the Readme or the examples folder, but to run some code that uses the WireViz API as a basic test (e.g. to catch syntax errors, API misuse, etc.). |
That action is not intended to automatically re-add the images to the repo, I do not think that is possible, and it would create an infinite loop in the actions. It is intended to allow the generated examples to be downloaded and verified, so that the output generated by the github actions can be compared to the expected output, as the old action without the artifact upload simply generated and then discarded the examples. |
Thank you for bringing the discussion back on track. I'm sorry for including the off-topic issues here. Is it possible to move some messages to another issue (new or existing)? |
I've opened #101 to allow for general discussion among collaborators :) It seems I misunderstood the use of the new GitHub action, and it requires further review, preferably as a separate issue. In the interest of moving the project forward, as mentioned earlier, I propose to keep including the rebuilt examples for now so as not to block new feature merges. If there are no major objections, I will close this issue soon. |
I have no objections. |
I have no objections, the idea was to try to prevent any rebuilt examples from creating merge conflicts. |
After testing #94, I realized that the output images referenced to in the main readme as well as the example and tutorial galleries (
readme.md
in the respective directories) are no longer showing up on GitHub in the feature branch.I am not familiar with GitHub actions, but if I understand correctly, the new addition from a3f2134...
is meant to work as follows:
python build_examples.py clean
to remove any PNG, SVG, GV and other output files as well as the two readme's to keep the repo clean 👍Either I am misunderstanding, or it's not working; the fact is that the current system is broken.
Where exactly do the files uploaded by this action end up?
Perhaps @aakatz can explain what's going on, and maybe @flopp (who implemented the initial GitHub Actions workflow) knows something about this topic? Thanks!
The text was updated successfully, but these errors were encountered: