Refactor binary builder#502
Conversation
4dc6d37 to
ce1aefe
Compare
|
@TisVictress whats the reason for this PR being a draft still?
|
e5a24ce to
c3c3c8a
Compare
|
@sophiewigmore I didn't get a chance to add some comments but I split the main file out into The Compilation works for jammy and bionic. |
Are you specifically looking for feedback on that? Or is it in progress?
This is pretty important so we can verify that we haven't changed any behaviour with the new dependencies. |
| RUN apt-get update && \ | ||
| apt-get -y install \ | ||
| autoconf \ | ||
| automake \ | ||
| bison \ | ||
| build-essential \ |
There was a problem hiding this comment.
Same comment as on the bionic Dockerfile - If we're compiling on the stack image we shouldn't need to install all of these things because a good number of them should already be there. There may be a few we still need to install
There was a problem hiding this comment.
This comment still stands :/ a lot of these packages are on the Full jammy build image.
In general the new split has made things clearer, well done. Would it be possible to achieve some kind of method override pattern, were and then, we can use the common |
|
small nit - I noticed that the |
|
Just compiled 8.0.27 (bionic) and 8.1.15 (bionic and jammy) with the code here and put them into the buildpack. The integration tests here fail with: during the step during the build phase where we try to install (and untar) the dependency. |
@sophiewigmore Each extension type is an |
Both |
c3c3c8a to
a44df4e
Compare
|
@TisVictress have you had a chance to test out these changes in the buildpack? That's how I discovered the failures last time |
|
@sophiewigmore This looks like a bad merge. I have some files in here that should be deleted. I'll update the PR...sorry about that |
@sophiewigmore Yes...I used the integration tests and they were green. |
c7702b9 to
b06fbb2
Compare
robdimsdale
left a comment
There was a problem hiding this comment.
In general I think this looks great. Thanks for all the hard work @TisVictress - I appreciate you sticking with it for so long!
My review has essentially only been around writing Golang / using packit. I don't have enough context on the php extensions to have an opinion on any of those.
I have a couple of minor suggestions about improved error handling and resiliency (inline). But I don't think any of them should block the merging of this PR.
ce21d3f to
81ebff5
Compare
| apt-get -y install \ | ||
| automake \ | ||
| build-essential \ | ||
| bundler \ | ||
| cmake \ | ||
| curl \ |
There was a problem hiding this comment.
I am still wondering why we need to install this entire list of packages if were building on the stack
There was a problem hiding this comment.
Oh yes sorry @sophiewigmore I'll see what can be removed
There was a problem hiding this comment.
there may be packages we need here that aren't in the stack image though so might need to do a cross-check against the build image receipt
There was a problem hiding this comment.
@TisVictress this comment still stands, a large number of these packages are in the Bionic stack build image. :/
| "name": "psr", | ||
| "version": "1.2.0", | ||
| "md5": "07695da8376002babbce528205decf07" | ||
| }, | ||
| { | ||
| "name": "solr", | ||
| "version": "2.6.0", | ||
| "md5": "ac5e1e1fbf28e0c543a52c533c967634" |
There was a problem hiding this comment.
Looking at the list of extensions here, it seems like some extensions that were in the old extensions-manifests/extensions-8.2.yml file are missing, like pdo_oci and oci8, and possibly others. I didn't check 8.0 and 8.1 but we need to make sure we're not missing extensions
There was a problem hiding this comment.
@sophiewigmore I removed them because it doesn't seem that they are actually getting installed. For example, there is a check for oci8 that seems to always return false for the currently supported versions (https://github.com/cloudfoundry/binary-builder/blob/main/recipe/php_meal.rb#L202). And some extensions were causing make test to fail, because the test wasn't expecting to see these extensions pop up. I'll rerun the test and post the failing extensions here. If you think I should add them back, I can update the current tests to include them.
There was a problem hiding this comment.
@TisVictress that's strange... hmmm. It could be worthwhile just double checking if the versions of PHP in the buildpack.toml now have those extensions or not. If not then we're probably OK to leave them out, but I'm worried to stop supporting them if they do somehow end up available in the versions of PHP we currently ship, you know?
3f35bb1 to
fef9417
Compare
| @@ -1,9 +1,11 @@ | |||
| FROM ubuntu:22.04 | |||
| FROM paketobuildpacks/build-jammy-full | |||
There was a problem hiding this comment.
We're still installing a whole bunch of packages that are on the stack image (starting on line 10). Can we please pare this down?
fef9417 to
4468b9b
Compare
|
@TisVictress btw I was able to compile 8.1.21 on bionic, but 8.2.8 takes a really long time and errors out on my machine. Are you able to do it on your machine? |
4468b9b to
a08c6b2
Compare
@sophiewigmore No I haven't had any issues. Would you mind trying again? |
|
@TisVictress what should we do with this PR? |
Remove binary builder code from compilation