New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
messages: PHP implementation #1884
Conversation
Their most recently public accepted PR is: vimeo/psalm#6954 |
c39280c
to
cc87eee
Compare
Nice! Looks great! 🤩 |
6be9fc1
to
dc0cb6f
Compare
This raises Psalm's inspection level to 1, which requires many further type checks. These checks will be useful when accepting untrusted content
dc0cb6f
to
591d78c
Compare
@ciaranmcnulty I've worked on adding php templates to the monorepo and messages/php to the CI. Regarding the CI, we may have to install php as part of the build image actually, as the codegen is written in ruby, we need both php and ruby installed |
@aurelien-reeves thanks for doing this! Yes I see the issue. I could re-implement the file splitter in bash perhaps, to remove the need for PHP in the build script (the CS fixer could be removed) |
We still need php to run the phpunit tests so I'll add it to the build image 🙂 For cs fixer and all the tools of that kind, it's up to you. At the moment you are the owner of the php implementation 😁 |
What's the split on other implementations between build + test? I would imagine we can use phpunit in the PHP image (and in future will want to with different PHP versions), but the code generation can happen in the main build image? |
At the moment, the code generation actually happens on the developer computer and is pushed in the repo. Thus in the CI, the build and the tests are part of the same jobs too. Thus when it is needed, we use the cucumber-buid docker image which contains all development language we support. This is not perfect, and this is done differently in polyglot repos. There is more decoupling between build and tests when it is needed. But as part of the monorepo, there is a single Does that answer your question? 😅 |
I have a commit ready to be pushed once the new build image is ready :D |
Due to an issue while releasing cucumber-build 0.12, it has actually been tagged 0.11.0
f12c16a
to
506938c
Compare
Hi @ciaranmcnulty, Thanks for your making your first contribution to Cucumber, and welcome to the Cucumber committers team! You can now push directly to this repo and all other repos under the cucumber organization! 🍾 In return for this generous offer we hope you will:
On behalf of the Cucumber core team, |
This is a PHP implementation of Cucumber Messages (with thanks to @aurelien-reeves)
Todo before merge
To make usable as a package