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
Various testing improvments #1788
Comments
Thanks for these suggestions! I have thoughts:
Yeah, will need to migrate to pcov for this (xdebug now too slow)
Open to this, though not as high a priority as other stuff on this list.
Sounds good
Definitely
Pre-release I run Psalm against a few open source projects that use it - PHPUnit, CakePHP and Monica. It’d be great to have a bash script that automates that process. It could run Psalm against the projects you mentioned, and compare the output against some sort of checked-in baseline e.g.
There are definitely things that could be more precisely unit-tested (e.g the type reconciler) but functional tests are incredibly easy to write.
Not a big fan of this - I like seeing similar tests in plain text together (though some of the large test files should definitely be broken up). I doubt performance would be affected, though. |
What do you think about using CircleCI? The artefact support and execution time seem very valuable. |
@muglug thanks for merging the PR. It'd be good to know if you're considering fully replacing Travis with Circle — if so I can probably make some more PRs to port over the missing parts of the set up from Travis. It would mean that the deployment to the psalm/phar repo could use the exact same phar file built once and tested in https://github.com/vimeo/psalm/blob/master/bin/test-with-real-projects.sh |
ok now definitely considering replacing Travis with Circle, given Travis is basically going away for OS developments |
I'm initially posting this to get some feedback from @muglug and others before I start on any of this or make individual issues.
I'm potentially interested in making various additions to the test pipeline for Psalm, e.g.
However for a lot of this I think Travis is too limiting, as it has a 1 hour limit for each job, and it doesn't seem to have any easy way to carry artefacts between jobs, or offer artefacts for download. Instead I'd probably want to use CircleCI, since it supports artefacts, apparently will allow builds of up to 5 hours, and allows free unlimited use of up to three concurrent container instances for open source projects.
Some of these ideas could lead to a full test pipeline that would take multiple hours to run, but I think if it's well organised so that the most useful tests run first and the others only rarely fail that could be manageable.
The text was updated successfully, but these errors were encountered: