Coder Social home page Coder Social logo

Comments (12)

Ocramius avatar Ocramius commented on June 12, 2024 1

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.

boesing avatar boesing commented on June 12, 2024

I remember that I somewhere had some kind of mapping for these cases... 🤔

from laminas-ci-matrix-action.

boesing avatar boesing commented on June 12, 2024

https://github.com/laminas/laminas-continuous-integration-action/blob/9376275b657d69ec7bbe72fb4b94b88e4724a42f/scripts/extensions.sh#L53

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.

Ocramius avatar Ocramius commented on June 12, 2024

In composer, ext-pdo_sqlite means "PDO with Sqlite driver", which is kinda weird :|

from laminas-ci-matrix-action.

boesing avatar boesing commented on June 12, 2024

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.

Ocramius avatar Ocramius commented on June 12, 2024

I tried adding pdo and sqlite3 (sqlite doesn't exist)

from laminas-ci-matrix-action.

boesing avatar boesing commented on June 12, 2024

Does that work or is the sqlite plugin for pdo missing afterwards? 🤔

from laminas-ci-matrix-action.

Ocramius avatar Ocramius commented on June 12, 2024

When installing sqlite3, PDO also gets PDO-Sqlite 🤷

from laminas-ci-matrix-action.

boesing avatar boesing commented on June 12, 2024

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 the extensions list we do provide to the container
  • add special handlings for sqlite (so require sqlite3)
  • 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.

boesing avatar boesing commented on June 12, 2024

It seems that this works: https://github.com/laminas/laminas-db/blob/da6d5a49ac4f200da61b3a59096bf2717fbaf928/.laminas-ci.json#L5

from laminas-ci-matrix-action.

Ocramius avatar Ocramius commented on June 12, 2024

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.

boesing avatar boesing commented on June 12, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.