Comments (6)
Note that this is going to be slightly tricky because of the dependency on the php-ast extension which isn't in pecl yet. I think we'll have to build the extension manually in the travis environment.
This restriction also means that we will not be able to run tests agains the nightly builds of PHP which is a bit of a bummer.
from phan.
- Do we really need to run it against PHP nightlies? I think 7.0.0 is probably adequate for now.
- You could run it in a Docker container with the ast extension pre-installed. Happy to build this image if needed. I'm doing something similar for https://github.com/cweagans/mcrypt-polyfill, so happy to set it up for this project too if needed.
from phan.
Hey @cweagans,
We definitely don't need to run it against the nightlies, but this feels like the type of code that might break with new versions of PHP so running it against nightlies will be valuable I think.
Also I know very little about Travis CI, this would be my first time setting it up! Can you provide them an arbitrary Docker container to run the tests in? If so then I think that's a great solution.
from phan.
@jazzdan Well, it's not really "officially" supported, I guess. I'm just running arbitrary containers in https://github.com/cweagans/mcrypt-polyfill/blob/master/tests/run-tests.sh (and the specific contents of the container vary by environment).
phpseclib takes a different approach (https://github.com/phpseclib/phpseclib/blob/master/.travis.yml#L30) which also works well.
from phan.
Returning to this thread - travis is already integrated and add (or not) nightly would be easy implementation, so I suggest to decide and close this.
from phan.
I think we can close this now.
from phan.
Related Issues (20)
- `@param 'AND'|'OR'` interpreted as `'AND'|'OR'|string`, but `'AND'|'OR'` when in `@method` definition.
- PhanUnreferencedUseNormal reported in constructor promotion
- PhanImpossibleCondition: testing for initialized static variable
- __CLASS__ no longer has the MAGIC_CLASS flag in PHP 8.3's native AST
- Symlink loops prevent finding all files, but phan still exits with a successful exit code
- Generic abstract classes don't respect type annotations
- False positive that xml_parser_create() can not take null as parameter.
- Phan reports an error for trait methods that have a return type hint of static and a return value of $this
- if($var) should not modify the type of $var.
- Question: PhanPossiblyUndeclaredVariable HOT 2
- PhanUndeclaredThis when newThis assigned to closure HOT 1
- `static` return type loses information about intersection types
- False positive PhanTypePossiblyInvalidDimOffset after array_key_exists
- Odd `PhanEmptyFQSENInClasslike` error when an intersection type is the object in an array callable
- Incorrect line number for PhanPluginMixedKeyNoKey and nested arrays
- `@return mixed` annotation suppressed errors about nulls being used even with `allow_overriding_vague_return_types` set to true
- Type condition lost when intermediary variable is used (PhanUndeclaredMethod)
- PhanUndeclaredConstant when constant is loaded late
- Variable detected as non-empty-list<…> fails some array shape checks that list<…> passes
- PhanDeprecatedFunction not emitted when used as a callable
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 phan.