feat: allow occam to cope with pack limitations #339
+25
−5
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
pack seems to be very limited in the options it will accept when building for multi-arch. It does not
seem to accept a path with a tgz as input and only works properly if you build in an exploded directory. Otherwise it appears to have built the cnb file but the structure of the bin directory is incorrect and the executables cannot be found.
Update the jam packager to work around this by exploding the tgz after creating it and then build in that
exploded directory.
It is still a good idea to build the tgz as that
filters the files based on what is specified in the buildpack.toml.
The unit tests pass, but more integration testing might be good. Once I have confirmation that people
are comfortable withe the PR I'll manually test on a few existing buildpacks in addition to the testing I've
already done on the npm-install buildpack modified for multi-arch -> https://github.com/mhdawson/npm-install/tree/test-multi (Note that this needs an updated jam that includes an updated packit with this change - paketo-buildpacks/packit#604)
Summary
Allow the ability to test buildpacks that have been updated to support multi-arch. Occam will still only test on the one architecture as the machine the tests are run on but with the update can run tests for buildpacks that support multi-arch, or buildpacks that don't.
Use Cases
Testing buildpacks that support multi-arch
Checklist