Skip to content

.github/workflows/push.yml: add job to build out-of-tree extensions #10404

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

Closed
wants to merge 1 commit into from

Conversation

MaxKellermann
Copy link
Contributor

@MaxKellermann MaxKellermann commented Jan 21, 2023

This aims to detect API breakages early by compiling a selection of out-of-tree extensions in the CI.

@MaxKellermann MaxKellermann force-pushed the ci-out-of-tree branch 4 times, most recently from d823fd9 to eb429e8 Compare January 21, 2023 17:14
@MaxKellermann
Copy link
Contributor Author

This was surprisingly easy - right now, it builds APCu and xdebug. Suggestions for more extensions welcome (now or after this is merged).
Note that this PR contains #10395 because it also uses ccache, and not doing so would not make sense. As soon as ccache is merged, I'll rebase this PR and un-"draft" it.

@MaxKellermann MaxKellermann force-pushed the ci-out-of-tree branch 2 times, most recently from 74c9f6e to 0f65b67 Compare January 22, 2023 07:19
@MaxKellermann
Copy link
Contributor Author

Added a few more extensions from the PECL top 10 (https://pecl.php.net/package-stats.php).
I'll simplify the workflow by moving the checkout/build step into a separate GH action, and calling this for every extension.

@TimWolla TimWolla requested a review from iluuu1994 January 30, 2023 10:29
@iluuu1994
Copy link
Member

@MaxKellermann Thank you! This makes sense to me but should be moved to nightly. I'm also not sure if a failing build might be annoying as it is unavoidable for master, especially if we can't fix the 3rd party code.

@MaxKellermann
Copy link
Contributor Author

This makes sense to me but should be moved to nightly.

I can easily move it to nighly.yml as-is, and it will work just as well, I guess, but I guess I can't test it then?
I suggest I do that as soon as the rest is considered "done".

I'm also not sure if a failing build might be annoying as it is unavoidable for master, especially if we can't fix the 3rd party code.

Do you mean php-src master or extension's master? We could easily build specific versions of those extensions instead of their master branch, and probably should. Only the latest release should be considered stable enough. Of course, there will be breakages eventually, and that will be annoying, but it's a first step towards fixing those.
Once an extension breaks with no hope to get it fixed, it should be dropped from PHP's CI, of course.

@iluuu1994
Copy link
Member

I suggest I do that as soon as the rest is considered "done".

That's what I've usually done.

Do you mean php-src master or extension's master?

I meant php-src's master, given that most API breaks there are intentional. Your suggestion sounds good to me.

@MaxKellermann MaxKellermann force-pushed the ci-out-of-tree branch 2 times, most recently from 8b0477e to 9a743f5 Compare February 7, 2023 10:50
@MaxKellermann
Copy link
Contributor Author

@iluuu1994 I've moved the rules to nightly.yml as you suggested.
Please consider merging this now.

@MaxKellermann MaxKellermann marked this pull request as ready for review February 7, 2023 10:51
This aims to detect API breakages early by compiling a selection of
out-of-tree extensions in the CI.
@iluuu1994
Copy link
Member

Thank you @MaxKellermann!

@MaxKellermann MaxKellermann deleted the ci-out-of-tree branch March 7, 2023 13:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants