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
None of the support crates are being tidy-checked or license-checked #861
Comments
the platform directory has a similar problem |
…stcommon_js_path fix testcommon.js path
Looking at the list of ignored files, this might be done |
A bunch of "our" code (which might be defined as non-forks under https://github.com/servo/) is in separate repositories and used through cargo, and so not visible to |
Can't we just put tidy in each repo with a different config? Those repos should all be in the CI system, so that would achieve the same end. |
Each repos has its own separate CI that could have a copy of |
Move tidy to a submodule? Download it and run it during CI? There are a few approaches to reduce that problem. |
An option to consider: uploading EDIT: jack beat me to it |
@frewsxcv But I like Corey's more concrete version of the suggestion best. |
Alright. I have thought about this for a little and think I am up for the challenge. I will report back with my thoughts before implementing anything; I might be able to fix #6999 simultaneously with this. |
After some thinking, here is what I propose:
Let me know if anyone has any other ideas or thoughts |
We already have a virtualenv for web-platform-tests, maybe it could also be used for this. |
Good idea. I was about to suggest that we also move |
The upstream for that is https://github.com/w3c/wptrunner , and changes made in our copy are supposed to be upstreamed. I don’t know why it’s not a submodule or installed from PyPI. But that’s kinda off topic, feel free to open another issue. I was thinking of |
Also if that _virtualenv is going to do more duties (which is fine), it should probably move higher up the tree. |
Right, sounds good. The Python code to generate/activate a new virtual environment is not very much, so in case we ever want to separate WPT requirements and tidy requirements in the future (due to incompatibilities or whatever) it should not be that difficult. I am also not opposed to moving the virtualenv path to a more generic place like |
And yet again, jack beat me to it |
|
Prior to this commit: * Our Python dependency story was a bit of a mess. We had complete Python packages (wheels and directories) living in-tree, despite not having any changes from upstream. This is particularly bad because `setup.py` never gets run on these packages which could (sometimes silently) unintended breakage. * Python virtual environments (virtualenv) were only utilized for testing web-platform tests After this commit: * A single virtualenv (`python/_virtualenv`) is activated upon *every* call to mach * A requirements file (`python/requirements.txt`) is added to describe the dependencies needed by Python modules in `python/`. The child commit immediately following this will remove all the dependencies no longer needed in-tree (for the sake of keeping this commit readable). Relevant to servo#861 Fixes servo#6999
Prior to this commit: * Our Python dependency story was a bit of a mess. We had complete Python packages (wheels and directories) living in-tree, despite not having any changes from upstream. This is particularly bad because `setup.py` never gets run on these packages which could (sometimes silently) unintended breakage. * Python virtual environments (virtualenv) were only utilized for testing web-platform tests After this commit: * A single virtualenv (`python/_virtualenv`) is activated upon *every* call to mach * A requirements file (`python/requirements.txt`) is added to describe the dependencies needed by Python modules in `python/`. The child commit immediately following this will remove all the dependencies no longer needed in-tree (for the sake of keeping this commit readable). Relevant to servo#861 Fixes servo#6999
mach now uses The benefit to publishing the package from where it lives in servo tree is that we wouldn't have to change all the other repos if we eventually split it out; the drawback is that we have to manage yet another set of credentials for pypi and make sure the requisite changes get pushed. To publish on pypi, someone would have a copy of the With that said, I'm fine with either pypi or direct installation. Pypi is more work now, direct installation is a bigger hassle at an indeterminate point in the future, and both require making tidy into a package. @shinglyu, do you want to move tidy and set it up as a Python package, or shall I? |
@edunham : I can do that. :) |
My colleague @askeing is very interested in this issue, so I'll leave this to him. |
Hi @edunham , |
@askeing Thank you! It looks like you've done most of the hard work already. My only nitpick is that it'd be helpful to have
so that we can just invoke |
@frewsxcv @larsbergstrom @metajack What are your thoughts on |
No strong preference from me. Worth mentioning that |
I think the most important concern is that it's possible to modify tidy.py and see how those changes affect |
servo#861 (comment) "I think the most important concern is that it's possible to modify tidy.py and see how those changes affect ./mach test-tidy with the fewest possible intermediate steps." - jdm This takes publishing complexity away from the contributor when testing changes and makes it an infra problem instead, where it's much easier to automate & saner to manage pypi credentials
Package tidy This fixes #861. @askeing, I've copied your work from https://github.com/askeing/servo_tidy and attributed the commit to you. My commit in this PR is Git housekeeping to preserve `tidy`'s history. If you'd like to make additional changes, I've given you and @shinglyu push access to my fork of Servo. Apologies if this is already familiar, but the workflow for pushing to my branch is: ``` $ git remote add edunham git@github.com:edunham/servo.git $ git checkout -b package-tidy $ git pull edunham package-tidy $ git push edunham package-tidy ``` Once this lands, I'll look at how to publish it to PyPI and automate that process. Please don't merge this yet; we still need to discuss how the change should work around https://github.com/servo/servo/blob/master/python/servo/testing_commands.py#L33 , as I've yet to figure out how to get the egg to actually expose its tests. <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/10590) <!-- Reviewable:end -->
Oops, saying "fixes" in that PR was going a bit far. The crates aren't actually using it in their CI yet. |
I'm pretty sure this has been down by now, or that other issues superseded this one. |
…sbergstrom This fixes servo/servo#861. askeing, I've copied your work from https://github.com/askeing/servo_tidy and attributed the commit to you. My commit in this PR is Git housekeeping to preserve `tidy`'s history. If you'd like to make additional changes, I've given you and shinglyu push access to my fork of Servo. Apologies if this is already familiar, but the workflow for pushing to my branch is: ``` $ git remote add edunham gitgithub.com:edunham/servo.git $ git checkout -b package-tidy $ git pull edunham package-tidy $ git push edunham package-tidy ``` Once this lands, I'll look at how to publish it to PyPI and automate that process. Please don't merge this yet; we still need to discuss how the change should work around https://github.com/servo/servo/blob/master/python/servo/testing_commands.py#L33 , as I've yet to figure out how to get the egg to actually expose its tests. Source-Repo: https://github.com/servo/servo Source-Revision: bfe54539d290cb287e59e8ba106a54a3fab6201a UltraBlame original commit: 11cc0b9e7ced9d12abf44b25fff16081f19730f2
…sbergstrom This fixes servo/servo#861. askeing, I've copied your work from https://github.com/askeing/servo_tidy and attributed the commit to you. My commit in this PR is Git housekeeping to preserve `tidy`'s history. If you'd like to make additional changes, I've given you and shinglyu push access to my fork of Servo. Apologies if this is already familiar, but the workflow for pushing to my branch is: ``` $ git remote add edunham gitgithub.com:edunham/servo.git $ git checkout -b package-tidy $ git pull edunham package-tidy $ git push edunham package-tidy ``` Once this lands, I'll look at how to publish it to PyPI and automate that process. Please don't merge this yet; we still need to discuss how the change should work around https://github.com/servo/servo/blob/master/python/servo/testing_commands.py#L33 , as I've yet to figure out how to get the egg to actually expose its tests. Source-Repo: https://github.com/servo/servo Source-Revision: bfe54539d290cb287e59e8ba106a54a3fab6201a UltraBlame original commit: 11cc0b9e7ced9d12abf44b25fff16081f19730f2
…sbergstrom This fixes servo/servo#861. askeing, I've copied your work from https://github.com/askeing/servo_tidy and attributed the commit to you. My commit in this PR is Git housekeeping to preserve `tidy`'s history. If you'd like to make additional changes, I've given you and shinglyu push access to my fork of Servo. Apologies if this is already familiar, but the workflow for pushing to my branch is: ``` $ git remote add edunham gitgithub.com:edunham/servo.git $ git checkout -b package-tidy $ git pull edunham package-tidy $ git push edunham package-tidy ``` Once this lands, I'll look at how to publish it to PyPI and automate that process. Please don't merge this yet; we still need to discuss how the change should work around https://github.com/servo/servo/blob/master/python/servo/testing_commands.py#L33 , as I've yet to figure out how to get the egg to actually expose its tests. Source-Repo: https://github.com/servo/servo Source-Revision: bfe54539d290cb287e59e8ba106a54a3fab6201a UltraBlame original commit: 11cc0b9e7ced9d12abf44b25fff16081f19730f2
These are listed as exceptions in tidy.py, but most of it is maintained by us. The licensing in particular should be validated on everything we maintain.
The text was updated successfully, but these errors were encountered: