1
0
mirror of https://github.com/danog/psalm.git synced 2024-11-30 04:39:00 +01:00
Commit Graph

100 Commits

Author SHA1 Message Date
Matthew Brown
7b180ed091 Fix testing with real projects 2020-01-01 17:45:28 -05:00
Matthew Brown
033b610770 Fix composer checks once more 2020-01-01 17:29:30 -05:00
Matthew Brown
e70a282bce Fix require checker config 2020-01-01 17:23:40 -05:00
Matthew Brown
7ea6c8097d Add config 2020-01-01 17:03:28 -05:00
Marco Pivetta
b26c57237f Ensure BC of API, compat with roave/you-are-using-it-wrong, completeness of composer.json (#2140)
* Test against `roave/you-are-using-it-wrong`

* Added CI step to ensure BC of declared API

* Added step to ensure `composer.json` has all used deps

* Including CI check tools as dev dependencies

* Typo fix: s/backwards/backward

* Run `roave/backward-compatibility-check` off an isolated location with no other dependencies

* Run `test-with-real-projects` task with PHP 7.4 as base runtime

* Run `testing-with-real-projects` also against `ocramius/proxy-manager`

`ocramius/proxy-manager` is an extremely heavy `vimeo/psalm` consumer,
and relies on a lot of the templated types system to generate real
types for proxies produced by runtime evaluation.
2020-01-01 13:55:33 -05:00
Matthew Brown
1b4bda4e08
Go back to upstream 2020-01-01 12:32:03 -05:00
Matthew Brown
8e54e3aa06
Use forked collections for now 2019-12-29 11:11:07 -05:00
Bruce Weirdan
e3e3296dd9 Test doctrine collections (#2524)
* Added doctrine/collections to the list of real projects to test with

* Don't use phar version to check doctrine/collections
2019-12-28 20:51:39 -05:00
Matthew Brown
bdb2f3c2be Use fork for now 2019-12-27 17:10:16 -05:00
Matthew Brown
f48773e931 bump phpunit commit 2019-12-01 14:22:56 -05:00
Matthew Brown
4a2822eb24
Bump release 2019-09-14 15:50:21 -04:00
Matthew Brown
8f29db2408 Reduce output of PHPUnit test 2019-08-13 00:01:35 -04:00
Matthew Brown
aa0efcf026 Add PHPUnit static analysis tests to real project settings 2019-07-09 07:39:03 -04:00
Brown
d573a3e48d Use monochrome output when checkingg other projects 2019-06-17 17:00:38 -04:00
Barney Laurance
4e3a208ec3 Add circleci config file 2019-06-16 09:04:56 -04:00
Matthew Brown
b13eaa20d2 Fix namespacing of generated if 2019-06-08 20:27:49 -04:00
Matthew Brown
0d40fdaaa0 Add false arg 2019-06-08 20:10:51 -04:00
Matthew Brown
7f258100f2 Remove blank line 2019-06-08 20:03:46 -04:00
Matthew Brown
bfbe9a527a Hack around PHP 7.3 polyfill scoping 2019-06-08 19:51:47 -04:00
Barney Laurance
d44be5eb9c Allow deploying phar to any github repository
Potentially useful for fork owners to test out phar deployment without affecting
the official psalm/phar repo.

To enable phar deployments from your own fork of psalm:

- Enable builds with Travis
- Create a github repository to hold recieve the built phar packages
- Create a new dedicated github user for the deployments
- From your main github account, invite the new user to collobrate on the phar repository
- From the new user's account, accept the invitation
- From the new user's account, obtain a 'new personal access token' ( https://github.com/settings/tokens/new ) with repo scope

- In travis settings for your fork of psalm, set two environment
variables:

- PHAR_REPO_SLUG - this should be the name the phar repo you set up earlier, e.g. fred/phar
- GITHUB_TOKEN - This is the personal access token of the new user you obtained above. Anyone who knows this token
                 can push to the repository, so keep it secret. Make sure 'Display value in build log' is
                 switched off'

Now any push to branches in your fork of psalm, should automatically
result in a commit containing the phar file in your phar repository.
2019-06-08 09:46:08 -04:00
Barney Laurance
91c11a0443 Simpler globbing for travis deploy
Previous versions failed. This will delete all files except hidden files. The only hidden files that we expect to exist at present are the .git directory and .gitignore
2019-06-07 08:33:02 -04:00
Barney Laurance
80837267e7 Fix syntax error in travis deploy script
This should resolve the build failure https://travis-ci.org/vimeo/psalm/jobs/542700463
2019-06-07 07:49:07 -04:00
Barney Laurance
673661c6da Exit build-phar script on any error 2019-06-07 06:52:07 -04:00
Barney Laurance
fee7a7be43 Set travis deploy phar script to exit at first error 2019-06-07 06:52:07 -04:00
Barney Laurance
eecd21a7d5 Add executable PHP files to PHAR distribution
Previously a user of the phar distribution would have to invoke psalm as
`vendor/bin/psalm.phar`. This is different to the command given in
the psalm documentation, `vendor/bin/psalm`

I also copied all files from the psalm/phar repo into
assets/psalm-phar, so that development can be concentrated in this repo.

The travis-deploy-phar.sh should copy any changes made back into the
psalm/phar.git repo.
2019-06-07 06:52:07 -04:00
Bruce Weirdan
e6f4f27498 Simplify build config by using repo filter
Also deploy signature to psalm/phar repo (because why not)
2019-06-02 11:25:53 -04:00
Bruce Weirdan
96521a6469 Rearrange build/sign/deploy
- Phar signing moved to build-phar.sh (conditional on gpg keys
availability)
- Tagged phar releases moved to travis-deploy-phar.sh
- `travis-deploy-phar.sh` is now triggered via `script` deploy provider
2019-06-02 11:25:53 -04:00
Brown
3a11e1ff5b Set better permissions on Travis deploy script 2019-03-25 16:32:36 -04:00
Brown
bdf0889b4a Fix phar deployment 2019-03-25 13:40:17 -04:00
Bruce Weirdan
a338e76ef6 Plugin interface segregation (#1076)
* Split Plugin into PluginApi\Hook\* interfaces

* dropped Psalm\Plugin

* updated docs

* s/PluginApi/Plugin/g
2018-11-12 11:20:59 -05:00
Bruce Weirdan
aab345ad81 Multi-stage builds (#928)
- Run phpcs once, not on every row of build matrix
- Start coverage builds only when regular test builds succeed
- Always build phar (to see if it builds)
- Automatically deploy psalm.phar on tag builds (no more missing phars)

Also fixes vimeo/psalm#921
2018-08-02 00:44:15 -04:00
Théo FIDRY
1ecf1c4113 Update Box 2018-05-15 14:30:14 -04:00
Théo FIDRY
59d32566d2 Simplify the PHAR build script 2018-05-15 14:30:14 -04:00
Matt Brown
53566bbd90 Pin version of box that doesn’t require xdebug-handler dev-master 2018-04-19 17:44:22 -04:00
Matthew Brown
83811e6e8a Analyse scoped build with Psalm 2018-03-18 10:52:54 -04:00
Matthew Brown
73fadab0b5 Make Phar more robust to object namespace changes 2018-03-12 00:01:52 -04:00
Matthew Brown
0828d5e3b3 Namespace Phar using php-scoper 2018-03-12 00:01:52 -04:00
Bruce Weirdan
c2275f388a box.json -> box.json.dist, use non-deprecated command to build 2018-03-08 19:14:06 -05:00
Bruce Weirdan
742179bc6f more robust check for bz2 extension 2018-03-08 19:14:06 -05:00
Bruce Weirdan
632790e39e phar build tweaks
* run `box build` with phar.readonly=0 (to eliminate the need to change
php.ini settings)
* check for bz2 extension
2018-03-08 19:14:06 -05:00
Bruce Weirdan
0d07925755 increased FD limit 2018-03-08 19:14:06 -05:00
Bruce Weirdan
c13fda4034 phar build tweaks
* added build script
* rebuilt stub to include shebang
* moved built phar to build dir
2018-03-08 19:14:06 -05:00
Tyson Andre
cdcec69536 Support the pylint output format
This is a compact output format that is easy to write scripts that parse.
(And errors fit on a single line)

- E.g. jenkins violation plugin works reliably with pylint.

The multi-line details are deliberately omitted.
An application can output 'console' to stdout and to
a pylint file at the same time.

Files with the extension .pylint will use this format.

Document the emacs and pylint output formats in `psalm --help`

An optional followup task would be to create unique issue codes,
I don't have any use cases for that.
2018-02-19 22:35:48 -05:00
Matthew Brown
8efc939a5f Move Psalm execution code into PHP file that Psalm can analyse 2017-12-29 17:02:56 -05:00
Jon Ursenbach
fe514b6a9f Adding a --version argument to the Psalm executable. (#226)
* Adding a `--version` argument to the Psalm executable.

* Using ocramius/package-versions instead of hardcoding a version.

* Backporting PackageVersions to a PHP 5.6+ compatible fork.
2017-11-11 12:11:11 -05:00
ahebrank
f1435ae558 fix #280: incorrect reference by key (#281) 2017-11-10 16:44:16 -05:00
Matthew Brown
657d154288 CacheProvider -> ParserCacheProvider 2017-10-15 11:57:44 -04:00
Matthew Brown
00aaa4adaf Fix #242 - add --no-cache option 2017-10-13 21:27:20 -04:00
Matthew Brown
6c1587d4ab Fix #244 - ignore --ansi args after xdebug turned off 2017-10-13 21:16:34 -04:00
Matthew Brown
5eb7d541d4 Fix #234 - improve documentation 2017-10-12 23:33:53 -04:00