-
Notifications
You must be signed in to change notification settings - Fork 699
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
Execute External Build Command #996
Conversation
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: otaviof The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Good work, let's ensure that this is tested without the docker socket active on the host. |
6fc2045
to
49bb5c3
Compare
Indeed, without Docker socket exposed it was not able to reach the point of invoking the external builder. I've made a few more changes, making sure it's only calling |
85b75d2
to
9c5ef9c
Compare
/retest |
If a user uses,
Let's ensure we don't return an error. It could internally take any of the following code paths:
|
(3) attempts a Pull Image using the docker API, and would therefore fail. source-to-image/pkg/cmd/cli/cmd/rebuild.go Lines 48 to 54 in 0b950e4
@bparees Do you think we should refactor all docker API calls to start using external tool invocations wherever applicable? |
Another thing: If
In light of the above, my preference would be to invest in :
|
@sbose78 Please consider latest commit. Now it support |
09bcd14
to
5361bf6
Compare
Summarizing the conversation on slack ➡️ s2i build --with-builder=docker. We invoke external tool. That's what is being done now in the PR. |
Not that I don't like this ;) I like it very much. However, this is opposite to what we summarized the other day :) It is fine to fall back to your older approach of calling external
|
5361bf6
to
c09948a
Compare
Done. Reverting the changes we had before, where on using
Okay. The parameter
This topic I would like to tackle in a different PR. |
2714531
to
e17366f
Compare
/retest |
d01e585
to
61be61a
Compare
/retest |
6e465a3
to
e0bfbc7
Compare
e0bfbc7
to
7588622
Compare
7588622
to
1285622
Compare
@adambkaplan, @sbose78 the build failures are addressed, please consider. |
@sbose78 @adambkaplan @otaviof What is pending for this PR to be merged? There is no action on this since last 14 days. Can one of you please have a look and unblock this? Thanks. |
// expect to find generated Dockerfile with s2i extension | ||
expectedFiles := []string{filepath.Join(tempdir, "Dockerfile.s2i")} | ||
|
||
dockerfile.RunDockerfileTest(t, config, expected, nil, expectedFiles, false) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@otaviof why run the Dockerfile
test here? Since this is running on our Jeninks VM, why not run an actual Docker build (just like the other docker-based tests)?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In fact, it does run the actual Docker file build, but via the --with-builder
external builder command-line. Therefore, we os/exec
this builder command and wait for the outcome.
/hold |
Issues go stale after 90d of inactivity. Mark the issue as fresh by commenting If this issue is safe to close now please do so with /lifecycle stale |
/lifecycle frozen We will want to resurrect this PR once we are ready to implement the node cache feature. |
@otaviof Is this pull request still relevant? |
Definitely not relevant. I'm closing it. |
Extending
s2i build
command to build images using an external command, in this PR we are addingbuildah
,docker
andpodman
. Therefore, users can run:The idea is to improve user experience to in a single action, generate the
Dockerfile
and use a external command to build the container image, therefore the build environment would allow to bring OCI toolset.