-
-
Notifications
You must be signed in to change notification settings - Fork 5
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
Fix Everything That Is Broken (Which Is Almost Everything) #2
Conversation
Hi! This is the friendly automated conda-forge-linting service. I wanted to let you know that I linted all conda-recipes in your PR ( Here's what I've got... For recipe:
|
LGTM but you need to fix the tests file. |
Cheers, @ccordoba12! Thanks for taking the scarce time to review this; my sanity appreciates it. I'll rectify the shamefully failing test suite and re-push. Oddly, the So, CPython itself and/or CPython documentation is wrong here. Sadly, nobody cares. Let's randomly shuffle the offending module docstring and comments about and see what happens. If it takes all week, I'll |
Also, the linter still unjustifiably hates me. Each of the Why you so crazy, conda-forge-linter. Why. |
Actually, all of the linter output appears to be erroneous. I'm unconvinced the linter is correctly parsing the pushed
It's there.
It's there!
Damn your uselessness, it's there!
It does, already. die conda-forge-linter die
It does, you senseless pile of non-functioning automation.
If Could this be a Jinja2, PyYAML, or |
27a1dc1
to
e7eac27
Compare
Hi! This is the friendly automated conda-forge-linting service. I just wanted to let you know that I linted all conda-recipes in your PR ( |
Ohboyohboy. conda-forge-linter can't actually tolerate any comments in |
I... don't understand why CPython is failing to accept That doesn't quite seem right, at all. Is conda-smithy circumventing Python's standard Luckily, we don't appear to actually require But know this, conda-smithy: I will never forget your brazen treachery. |
e7eac27
to
07c6c28
Compare
Curiouser and curiouser. GraphViz fails to recognize a file format that it actually recognizes:
Note the |
07c6c28
to
8f36cda
Compare
...oh wait, it absolutely is. Travis-CI, why you continue to disappoint me? |
No one will ever quite know why Travis-CI is failing with this cryptic exception:
I assume this is all my fault and that I should feel bad. Time to roll up my YAML sleeves and get dirty with |
8fb7d86
to
7eb16eb
Compare
This commit fundamentally refactors this recipe to comply with modern conda-forge design principles, largely inspired by the comparable "python-graphviz" recipe. Significant improvements are as follows: * Installation via "pip" rather than "setuptools", improving both the portability and reliability of this recipe. * Addition of "pip" as a build-time requirement. * Addition of "graphviz" as a runtime requirement, which the prior version of this recipe erroneously omitted. * Inclusion of a new Windows-specific patch, enforcing compatibility with the "dot.bat" workaround bundled with the conda-specific version of GraphViz under Windows. This patch fixes ContinuumIO/anaconda-issues#1666 with respect to this package. * Inclusion of a new "run_test.py" script, a unittest-based test suite guaranteeing the usability of this package across all supported platforms. The prior version of this recipe erroneously reported test success despite this package failing to run under Windows. * Addition of new ".appveyor.yml" and ".travis.yml" configurations – judiciously copypasted from the corresponding YAML files in the conda-forge/python-graphviz-feedstock with tokens manually replaced by those listed in this feedstock's "conda-forge.yml".
7eb16eb
to
1f2785d
Compare
Blargh. Assistance politely requested, because you are all awesome and I have no idea what I'm doing. I'm feebly trying to re-render the feedstock so that conda-smithy adds an Appveyor-based Windows configuration to the build matrix; adding a Travis-CI-based macOS configuration would be nice as well, but entirely optional. Windows isn't, because Naturally, conda-smithy only adds a CircleCI-based Linux configuration to the build matrix. I'm perusing the new conda-build 3 instructions for "Writing the EDIT: Blargh! That's exactly it:
A sad day for Python-kind. Since |
Well, isn't this just the veritable Mr. Toad's Wild Ride of build management. |
Oh... Oh, my Nordic Gods. Appveyor actually passed. The bloodied but unbroken Eagle has landed.
EDIT: Would anyone like me to clean up the commit history a bit, or is the shambolic wreckage fine as is? |
@@ -0,0 +1,18 @@ | |||
This patch is required to properly recognize the Windows-specific batch script |
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.
Please move this comment to the recipe itself. I'll point it out where.
recipe/meta.yaml
Outdated
@@ -10,21 +10,23 @@ source: | |||
fn: {{ name }}-{{ version }}.tar.gz | |||
url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz | |||
sha256: {{ sha256 }} | |||
patches: | |||
- windows-bat.patch # [win] |
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.
Please move the comment about the need of this patch above this line.
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.
You got it. That comment was originally situated above that exact line, for orthogonality with the python-graphviz feedstock. However, this caused conda-forge-linter to break with non-human-readable non-errors. In the interest of just shutting up the linter, I then shifted that commentary out into the patch.
Annnnyway. As you suggest, who cares about the linter? Recipe maintainability takes precedence. The linter's fundamentally broken as currently defined, anyway. Christ, someone fix that linter.
I have the sudden feeling I talk too much.
I don't see the need of it. There are only 4 commits in this PR. |
That's what I'm talkin' about. I've now added the Windows patch commentary back to the recipe as you advise, because conda-forge-linter is dumb. We're probably nearly there. Maybe? I cross all ten of my fingers for good luck. |
Cheers, @ccordoba12. Thanks again for the perspicacious review. |
@leycec has done a great work here. This deserves to be merged ASAP. Thanks! |
@leycec, please add yourself as maintainer to the recipe so you can merge PRs yourself in the future in this feedstock. |
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.
The comments on this GH issue made my day.
I apologize for the broken recipe.
@ccordoba12 I guess @nehaljwani is the maintainer here and he is active in the thread, so no need for me to step on his toes 😉 @nehaljwani please merge when you are ready @leycec thanks for the PR! Please consider becoming a maintainer for this feedstock. |
Thanks @nehaljwani! |
Thanks for such prompt action, all. Conda-forge collaboration wins again! Against all sense of rationality and the instinctual drive for self-preservation, I've submitted yet another pull request adding myself as additional repository maintainer. Apparently, some people think that's a not-awful idea. whatamidoing |
pydot 1.4.1 it seems to have resurrected the issue. Fixed it by manually changing the $PATH, but that's what we were eliminating, no? |
Greetings and summery salutations, fellow open-source compatriots. This means @kalefranz, @jakirkham, and @ccordoba12, may your Github usernames live in infamy.
You may remember me from such GitHub commentary as "Completely untested and liable to implode your fingers like meaty blood sausages across the keyboard." and such industry-standard feedstocks as BETSE and BETSEE, both of which depend upon this feedstock. When I originally authored those feedstocks, I made the inappopriate assumption that this feedstock behaved as advertised.
It doesn't. It's broken like a soggy watermelon on a urine-stained Hollywood sidewalk in June. Specifically, this feedstock (A) doesn't require the GraphViz package, (B) doesn't work under Windows but advertises that it does, (C) doesn't provide either Appveyor or Travis-CI configurations, and (D) doesn't define any meaningful unit or functional tests for those CI configurations to even exercise. well isn't that convenient
On the other hand, at least this feedstock actually exists. Large thanks for small favours, Universe.
Are You Babbling Incoherently?
I... I might be.
It's Friday night and I wanted to be doing something glamorous with my life. But our vocal userbase has begun shrieking like squalid harpies about our multiphysics biology simulator spontaneously failing with non-human-readable exceptions when graphing gene regulatory networks under Windows. Their plaintive mewling has moved me to
vengeful tears of frustrationfinally do something useful.This is that something. You may judge its usefulness.
Still Doing That Babbling Thing.
Very well. We shall now convey meaningful information.
This pull request fundamentally refactors this feedstock to comply with modern conda-forge design principles, largely inspired by the comparable python-graphviz feedstock. Changes are as follows:
pip
rather thansetuptools
, improving both the portability and reliability of this recipe.pip
as a build-time requirement.graphviz
as a runtime requirement, which the prior version of this recipe erroneously omitted. ohmygodsdot.bat
workaround bundled with the conda-specific version of GraphViz under Windows. This patch fixes graphviz package doesn't add executable to PATH on windows ContinuumIO/anaconda-issues#1666 with respect to this package.run_test.py
script, a minimalistunittest
-based test suite ensuring the usability of this package across all supported platforms. The prior version of this recipe erroneously reported test success despite this package failing to run under Windows..appveyor.yml
and.travis.yml
configurations – judiciously copypasted from the corresponding YAML files in the python-graphviz feedstock with tokens manually replaced by those listed in this feedstock'sconda-forge.yml
. Obviously, this isn't right. In my fondest dreams, these YAML files would already have been auto-generated by conda-smithy. They weren't, because this is no dream; this is the waking nightmare of a Friday night gone David Lynchian. I doubt my manually defining these files suffices to enable either Appveyor or Travis-CI integration. That probably requires some sort of authoritative administrator privileges. Like a thirsty man in the desert, however, even I will try to lick water from a toad's back. sounds deep, right?The changeset is fairly hefty. I expect failure. I'll probably need a few rounds of deadly combat with the CI to smooth things over... assuming the CI decides to awaken from its poisonous slumber and actually do something, of course.
Thanks for all the ironclad packages forged in the hot depths of conda-forge! May the all-inclusive package manager be with you.
EDIT: Please do something useful, Heroku bot:
@conda-forge-admin, please rerender
O.K.! Now that we've stripped
noarch: python
to coerce conda-smithy into adding Windows to the build matrix, let's re-render us up the bomb yet again:@conda-forge-admin, please rerender