Comments (7)
I highly suspect this is a buffering problem with the child process; node's stdio support is really fickle and when I made this action, I had to make a bunch of changes to pyright in order to ensure that it didn't exit before it had a change to write all of its output.
I haven't seen any changes to pyright's CLI output code, so I'm going to guess that this is now a buffering problem on the action's side because it reads the output over stdin. (If it comes to it, I could probably modify pyright to write data via IPC or something; that would probably be a good change no matter what.)
On your local copy, can you pipe the JSON output to a file and then tell me its size in bytes?
from pyright-action.
Sure, looks to be about 700KB.
$ pyright NaviGator/gnc/navigator_controller/nodes/gps_to_baselink_odom.py ... --outputjson --pythonplatform=Linux --pythonversion=3.8 > test.json
$ wc -c test.json
727669
from pyright-action.
Hm, that doesn't seem all that large, really.
Is this repo available for me to test with, by chance?
from pyright-action.
Thanks for looking into this. You should be able to clone our repo (https://github.com/uf-mil/mil) - it's a bit of a monorepo, so it's not super tiny, unfortunately.
We've recently started migrating our Python 2 code to Python 3 on the noetic-migration
branch, so you'll just need to check out that branch after cloning. The work done on the GitHub Actions pipeline has been on noetic-ci-improvements
, which branched off of noetic-migration
a few days ago.
That should be enough to at least run pyright
!
from pyright-action.
I was able to copy the command run from your CI task and run it locally; the size of the output for the most recent run is actually ~1.4MB. The default buffer size Node uses for child processes is 1MB, so it's probable that this is part of the problem (the output is so huge). I can try and bump this number up higher and see if that helps, but it's definitely the case that your project is so huge that things are really hitting the limit (especially given pyright uses JSON.stringify
to produce its output, which is not streaming).
from pyright-action.
Can you try out v1.4.0, which I've just released?
from pyright-action.
Works like a charm; thank you Jake! Sorry about reporting the incorrect size of the errors earlier.
from pyright-action.
Related Issues (20)
- Module resolution change HOT 1
- Question: what's the recommended way to get stubs installed? HOT 2
- Support --verifytypes HOT 7
- `Unexpected end of JSON input` when running action HOT 14
- How to set venv? HOT 5
- Support for bumping pyright version using dependabot HOT 15
- Action fails to resolve package when installed with `poetry` HOT 30
- service is down? HOT 1
- The README should mention that this action produces annotations HOT 1
- Dependency Dashboard
- Action Required: Fix Renovate Configuration
- Fails for Pyright version `1.1.330.post0` HOT 3
- The newest pyright version is 1.1.331 but action prints 1.1.332 HOT 2
- Using skipunannotated throws error HOT 3
- Service Unavailable HOT 10
- Bumping from `v2.0.2` to `v2.1.0` raises `Error: Cannot find module './impl/format'` HOT 2
- 2.1.0 seems to be broken HOT 1
- Feature Request: Disable GitHub Problem Matcher annotations HOT 11
- Can't get annotations to run on repo code HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pyright-action.