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

81 Commits

Author SHA1 Message Date
Bruce Weirdan
dabfb16e34
Test parallelization (#4045)
* Run tests in random order

Being able to run tests in any order is a pre-requisite for being able
to run them in parallel.

* Reset type coverage between tests, fix affected tests

* Reset parser and lexer between test runs and on php version change

Previously lexer was reset, but parser kept the reference to the old
one, and reference to the parser was kept by StatementsProvider. This
resulted in order-dependent tests - if the parser was first initialized
with phpVersion set to 7.4 then arrow functions worked fine, but were
failing when the parser was initially constructed with settings for 7.3

This can be demonstrated on current master by upgrading to
nikic/php-parser:4.9 and running:

```
vendor/bin/phpunit --no-coverage --filter="inferredArgArrowFunction" tests/ClosureTest.php
```

Now all tests using PHP 7.4 features must set the PHP version
accordingly.

* Marked more tests using 7.4 syntax

* Reset newline-between-annotation flag between tests

* Resolve real paths before passing them to checkPaths

When checkPaths is called from psalm.php the paths are resolved, so we
just mimicking SUT behaviour here.

* Restore newline-between-annotations in DocCommentTest

* Tweak Appveyor caches

* Tweak TravisCI caches

* Tweak CircleCI caches

* Run tests in parallel

Use `vendor/bin/paratest` instead of `vendor/bin/phpunit`

* Use default paratest runner on Windows

WrapperRunner is not supported on Windows.

* TRAVIS_TAG could be empty

* Restore appveyor conditional caching
2021-01-29 11:38:04 +01:00
Brown
335fae0b33 Remove nightly builds until PHPUnit fixes deprecated method 2020-05-12 22:41:33 -04:00
Bruce Weirdan
fe1cd8ecf4
Use stable composer on Appveyor (#3097)
* Use stable composer on Appveyor

Composer now ships unstable 2.x version under old URL.
See https://twitter.com/seldaek/status/1247770566045491201

* Discard changes in vendor
2020-04-08 09:04:36 -04:00
Brown
e6ec5fa22a Simplify 2020-02-07 12:15:50 -05:00
Brown
33ff1f96ef Maybe this works 2020-02-07 12:08:21 -05:00
Brown
461790a1d1 Test travis jobs 2020-02-07 12:04:19 -05:00
Andreas Möller
5dde74e1ed Enhancement: Validate composer.json (#2601) 2020-01-12 10:43:30 -05:00
Matthew Brown
8d9ad338fb Add whitelist of pre-checked extensions 2020-01-01 16:43:36 -05:00
Matthew Brown
1ff24c03bb Remove BC-compatibility check cc @ocramius
On account of it’s broken
2020-01-01 15:21:06 -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
Witold Wasiczko
cbdf6ad2c6 Remove 7.4snapshot from allow_failures (#2535) 2019-12-30 20:25:35 -05:00
SignpostMarv
37496e9569 amending travis config, 7.4snapshot > 7.4 (#2516) 2019-12-28 15:58:04 -05:00
Matthew Brown
88633bb95d
Remove Shepherd logs 2019-12-02 22:20:47 -05:00
Matthew Brown
f7ec5c5003 Make sure 7.4 with high deps works 2019-11-27 01:14:09 -05:00
SignpostMarv
e9cd7917a4 symfony/process:^4.3 requires php:^7.1.3, adjust dependency constraint to prevent install on < 7.1.3 (#2141)
* symfony/process:^4.3 requires php:^7.1.3, adjust dependency constraint to prevent install on < 7.1.3

* remove 7.1 option
2019-09-18 15:03:12 -04:00
Gert de Pagter
f08894df04 Test on nightly build (#2040)
Nightly is PHP 8, and therefore dependencies can't be installed normally.
So we ignore the platform reqs
2019-08-21 11:32:50 -04:00
Andrey Bolonin
cb34810cdd add php 7.4snapshot (#1948)
* add php 7.4snapshot

* Allow 7.4snapshot to fail
2019-07-19 08:20:54 -04:00
Matthew Brown
c42269e2bf
Add shepherd stats back 2019-06-14 08:14:57 -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
Matthew Brown
5a9052fa18 Use low 7.2 for Phar 2019-06-04 20:32:30 -04:00
Matthew Brown
a581b4c443 Build Phar on 7.1 so it doesn’t get php73 polyfill
Fixes #1739
2019-06-04 19:14:12 -04:00
Bruce Weirdan
7f86e3cdc5 Deploy phar on all branches 2019-06-02 11:25:53 -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
Bruce Weirdan
b494629d55 Allow people using their own travis on their forks
Deployment to `psalm/phar` repo is possible only when travis runs on the
main `vimeo/psalm` repository people, so only attempt to deploy there
when `$GITHUB_TOKEN` is available.
2019-06-02 11:25:53 -04:00
Matthew Brown
4b5f89d9d0 Disable code coverage 2019-06-01 22:54:03 -04:00
Matthew Brown
a92edda495 Temporarily disable code coverage while I figure out a way forward 2019-06-01 21:51:50 -04:00
Matthew Brown
1318b7e0fa
Add extra dash 2019-06-01 20:23:51 -04:00
Matthew Brown
a3d2391acb
Install paratest for 7.3 2019-06-01 19:28:08 -04:00
Matthew Brown
10db8d5402 Regular tests use PHPUnit 2019-06-01 19:14:24 -04:00
Matthew Brown
d6e1b26b9f Try to make tests faster 2019-06-01 19:03:24 -04:00
Barney Laurance
7ec9818192 Don't attempt to deploy phar from forked repos (#1720)
Only vimeo/psalm should be deploying
2019-06-01 09:32:12 -04:00
Brown
0bd4dbcbc4 Bump to PHP 7.1
Fixes #1650
2019-05-16 18:36:36 -04:00
Brown
0824ca3bbd Move Phar build sooner 2019-04-29 14:05:43 -04:00
Brown
57bf0fda0d Fix #1562 - use latest version of PHP to build phar 2019-04-16 09:07:03 -04:00
Matthew Brown
284d182fff Fix command 2019-03-31 14:07:59 -04:00
Matthew Brown
326249e13b spirit => shepherd 2019-03-31 14:02:30 -04:00
Brown
bdf0889b4a Fix phar deployment 2019-03-25 13:40:17 -04:00
Matthew Brown
dec5dfbd0f Fix shim dir 2019-03-24 23:58:06 -04:00
Matthew Brown
b357a407f9 Only push Phar to repo when not in a PR 2019-03-24 23:00:22 -04:00
Matthew Brown
ba603acd7b Send build information to remote server 2019-03-23 12:49:37 -04:00
Brown
07768cf505 Add automatic Phar upload to github.com/psalm/shim 2019-03-22 19:14:29 -04:00
Brown
bd372e93af Add config flags for findUnusedVariables and findUnusedCode 2019-03-05 15:45:09 -05:00
Bruce Weirdan
16deb388ae Pull requests and feature branches are considered dev-master 2019-03-02 08:43:19 -05:00
Matthew Brown
58b6ce5c03 Drop 7.4 snapshot support 2019-02-26 08:21:49 -05:00
Bruce Weirdan
80c9114efd Enable 7.4snapshot to replace nightly (that's now 8.x) 2019-02-09 15:48:35 -05:00
Matthew Brown
69d44070f8 Remove nightly PHP builds now they’ve switched to 8.0.0-dev 2019-02-06 16:58:15 -05:00
Bruce Weirdan
c472153329 use xdebug filter for faster builds 2019-01-14 18:38:32 -05:00
Bruce Weirdan
29f5eb559e Added 7.3 to build matrix
PHPCS and code coverage now run on 7.3 as well
2019-01-14 18:38:32 -05:00