Magento 2 as composer dev requirement for extensions
The answer depends on what your CI needs are.
For unit tests I am currently looking into the approach to only include in the require section the actual Magento modules I have as direct dependency (that I get nearly all modules this way anyway is for Magento to sort out):
"require": {
"magento/module-backend": "~100.0.2",
"magento/module-sales": "~100.0.2"
}
This works well for one of my extensions see Travis here but is running into an interesting issue on another extension where Magento should autogenerate an interface for a mock - details here.
If you are looking beyond unit tests I think it makes sense to have a pre-built Magento environment in which you install the extension into rather than running an install script for Magento environment on every build.