prismicio-community / php-kit

Community maintained development kit for Prismic and the PHP language
https://prismic.io
Other
108 stars 82 forks source link

Add CI Workflow for GitHub Actions #192

Closed gsteel closed 1 year ago

gsteel commented 1 year ago

@c0nst4ntin - This CI workflow should help get #190 over the line. It will also take care of phpcs, psalm and composer require checker for future ref. Feel free to close this PR if it's not useful. Obviously, nothing will pass on main or master here.

c0nst4ntin commented 1 year ago

@gsteel I think for now the old CI Workflow works fine. I will do some more research on GHA though.

If there is the wish to move forward with this at some point I will definitely take a closer look at this again. Thank you a whole lot for your support with this topic and #190. Overall, it was a really pleasant experience for me.

For now, I would proceed to close this PR

gsteel commented 1 year ago

No problem @c0nst4ntin 👍

Using the re-usable workflows from the @laminas org here is a bit opaque, but it's a very useful tool. The matrix is built automatically by detecting the php dependency range in composer.json and runs QA checks on stable PHP with locked, lowest and latest, and lowest and latest on newer versions so you can be sure the dependency set is in an installable state for all supported versions of PHP.

There's a lot of additional QA tools available such as psalm, PHP_CodeSniffer, composer-require-checker, roave-bc-checker, markdown-lint etc…

More info:

The prismic-client I maintain uses most of these QA tools (along with the exceptional Automatic Releases tooling) - Example CI Run

c0nst4ntin commented 1 year ago

@gsteel As you mentioned, this now becomes more interesting again. Is the used pipeline well maintained and can be trusted?

Is there a way to add phpdoc? Currently this is getting generated: https://prismicio-community.github.io/php-kit/

Sadly the branch was deleted, so I can't re-open this pull-request

gsteel commented 1 year ago

The pipeline is well maintained - it's from the @laminas (Formerly Zend Framework) organisation of which I'm a member. It won't generate the docs, but you'd probably only want to do that on release anyway right?

I don't have the time to create a fresh patch, so you can just copy and paste this into a workflow file, enable GHA and see what you think.

There's a good chance you'll need to create a .laminas-ci.json file in the project root with:

{
    "extensions": [
        "apcu"
    ],
}