Comments (12)
Totally missed this again, sorry. In practice, I ended up moving away from the laminas CI setup in https://github.com/Ocramius/event-sourcing-workshop/ for now.
That said, I think we may need an explicit map of require
to PECL/APT packages here: there is no clear rule on what needs to be installed.
For instance, installing Sqlite3 + PDO means having ext-pdo_sqlite
🤷
from laminas-ci-matrix-action.
I remember that I somewhere had some kind of mapping for these cases... 🤔
from laminas-ci-matrix-action.
That was somehow removed but only relates to sqlsrv
and not to sqlite
.
Does that extension actually exist or should it be ext-sqlite
instead in combination with ext-pdo
?
from laminas-ci-matrix-action.
In composer, ext-pdo_sqlite
means "PDO with Sqlite driver", which is kinda weird :|
from laminas-ci-matrix-action.
Mh, could you try to actually add pdo
+ sqlite
to your .laminas-ci.json
in the extensions
list?
Afaik, sury provides some magic to actually deliver these via dedicated packages.
from laminas-ci-matrix-action.
I tried adding pdo
and sqlite3
(sqlite
doesn't exist)
from laminas-ci-matrix-action.
Does that work or is the sqlite
plugin for pdo
missing afterwards? 🤔
from laminas-ci-matrix-action.
When installing sqlite3, PDO also gets PDO-Sqlite 🤷
from laminas-ci-matrix-action.
That was what I was expecting.
So maybe we should add some kind of "rules" for this.
Something like:
- parse extensions with
pdo_(.*)
- if exists, add
pdo
to theextensions
list we do provide to the container - add special handlings for
sqlite
(so requiresqlite3
) - ignore those without special handlings
This will at least avoid the CI container from failing. Is there a list of all these pdo_*
combinations?
from laminas-ci-matrix-action.
It seems that this works: https://github.com/laminas/laminas-db/blob/da6d5a49ac4f200da61b3a59096bf2717fbaf928/.laminas-ci.json#L5
from laminas-ci-matrix-action.
Consider that it's not in the required dependencies though: https://github.com/laminas/laminas-db/blob/da6d5a49ac4f200da61b3a59096bf2717fbaf928/composer.json#L33-L43
from laminas-ci-matrix-action.
Correct, I just try to find solutions here.
I don't care if its the requirement of a package - if packages do not explicitly require extensions but provide some via .laminas-ci.json
, that would be fine for me.
Imho, the container should convert extensions to the appropriate namings of the packages. As of now, we are lucky that sury usually names packages exactly the same as they're named in PECL. Sadly, thats not the case for those pdo_*
extensions.
So we should rename it within the container like:
if (string_starts_with($extension, 'pdo_')) {
$extension = str_replace('_', '-', $extension);
}
Do we have other ideas or should we create a bug ticket within the container action?
from laminas-ci-matrix-action.
Related Issues (20)
- Dependency Dashboard
- Verify `composer.json` constraint changes
- Implement dependency injection HOT 2
- Consider composer validation commands HOT 4
- support for the config.bin-dir options in composer.json HOT 2
- Initial clone not working for private repositories HOT 5
- Add in `composer-require-checker` as a globally installed tool HOT 5
- Run psalm against highest PHP version? HOT 3
- Bump `package.json` to use `node:^19` HOT 1
- Stable PHP version should be changed to PHP 8.0 HOT 1
- GHA `set-output` is deprecated
- Implement a mechanism to shrink the `vimeo/psalm` baseline, when possible HOT 1
- [RFC]: stop testing `latest` dependencies HOT 7
- Marking extensions as optional HOT 1
- Missing `backwardCompatibilityCheck` configuration flag documentation
- Enable `backwardsCompatibilityCheck` by-default for laminas components
- Allow org-wide configuration
- Invalid composer.json isn't handled gracefully HOT 1
- Missing support for `psalm/phar` HOT 15
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 laminas-ci-matrix-action.