Skip to content

OPRUN-3221: 🌱 fix xplat compile for of-tools image; hide utest files from git; use rhel8 art builder image #770

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

Merged
merged 1 commit into from
Jun 21, 2024

Conversation

grokspawn
Copy link
Contributor

@grokspawn grokspawn commented Jun 7, 2024

This change enables multi-platform image build.

opm compile is a bit of an odd duck because it requires clang for sqlite integration, and is dependent on the linux/amd64 builder image to generate darwin/windows binaries. Because of that dependency, the cross make target is only triggered for linux/amd64-based platforms.

Instead of re-plumbing the entire build process for these binaries, this will use a wildcard to copy all opm binaries. This is analogous to how operator-registry does it, but restricting to just the opm binaries.

This results in linux/amd64 output:

└── tools                                           
    ├── darwin-amd64-opm                            
    ├── opm                                         
    ├── opm-rhel8                                   
    ├── opm-rhel9                                   
    └── windows-amd64-opm     

The cross-compiled binaries will still require ARCH/OS-specific unpacking for mirrors.openshift.com

@openshift-ci openshift-ci bot requested review from anik120 and tmshort June 7, 2024 15:23
@openshift-ci openshift-ci bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jun 7, 2024
@grokspawn
Copy link
Contributor Author

/retest

@grokspawn grokspawn force-pushed the tools-cross-compile branch from f13f543 to b394079 Compare June 10, 2024 18:42
@grokspawn grokspawn changed the title 🌱 fix xplat compile for of-tools image; hide utest files from git 🌱 fix xplat compile for of-tools image; hide utest files from git; use rhel8 art builder image Jun 10, 2024
@grokspawn
Copy link
Contributor Author

/retest

since #767 merged y'day

@grokspawn grokspawn changed the title 🌱 fix xplat compile for of-tools image; hide utest files from git; use rhel8 art builder image OPECO-3232: 🌱 fix xplat compile for of-tools image; hide utest files from git; use rhel8 art builder image Jun 11, 2024
@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Jun 11, 2024
@openshift-ci-robot
Copy link

openshift-ci-robot commented Jun 11, 2024

@grokspawn: This pull request references OPECO-3232 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.17.0" version, but no target version was set.

In response to this:

This change enables multi-platform image build.

opm compile is a bit of an odd duck because it requires clang for sqlite integration, and is dependent on the linux/amd64 builder image to generate darwin/windows binaries. Because of that dependency, the cross make target is only triggered for linux/amd64-based platforms.

Instead of re-plumbing the entire build process for these binaries, this will use a wildcard to copy all opm binaries. This is analogous to how operator-registry does it, but restricting to just the opm binaries.

This results in linux/amd64 output:

└── tools                                           
   ├── darwin-amd64-opm                            
   ├── opm                                         
   ├── opm-rhel8                                   
   ├── opm-rhel9                                   
   └── windows-amd64-opm     

The cross-compiled binaries will still require ARCH/OS-specific unpacking for mirrors.openshift.com

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@perdasilva
Copy link
Contributor

/retest

@grokspawn grokspawn changed the title OPECO-3232: 🌱 fix xplat compile for of-tools image; hide utest files from git; use rhel8 art builder image OPRUN-3221: 🌱 fix xplat compile for of-tools image; hide utest files from git; use rhel8 art builder image Jun 13, 2024
@openshift-ci-robot
Copy link

openshift-ci-robot commented Jun 13, 2024

@grokspawn: This pull request references OPRUN-3221 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.17.0" version, but no target version was set.

In response to this:

This change enables multi-platform image build.

opm compile is a bit of an odd duck because it requires clang for sqlite integration, and is dependent on the linux/amd64 builder image to generate darwin/windows binaries. Because of that dependency, the cross make target is only triggered for linux/amd64-based platforms.

Instead of re-plumbing the entire build process for these binaries, this will use a wildcard to copy all opm binaries. This is analogous to how operator-registry does it, but restricting to just the opm binaries.

This results in linux/amd64 output:

└── tools                                           
   ├── darwin-amd64-opm                            
   ├── opm                                         
   ├── opm-rhel8                                   
   ├── opm-rhel9                                   
   └── windows-amd64-opm     

The cross-compiled binaries will still require ARCH/OS-specific unpacking for mirrors.openshift.com

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@Ximinhan
Copy link
Member

/retest-required

@grokspawn
Copy link
Contributor Author

IMO we should ignore the failing e2e-gcp-olm, since it's not related to this PR's changes of the operator-framework-tools.Dockerfile or gitignore filtering out utest leftover artifacts.

@perdasilva
Copy link
Contributor

/retest

2 similar comments
@tmshort
Copy link
Contributor

tmshort commented Jun 17, 2024

/retest

@grokspawn
Copy link
Contributor Author

/retest

@Ximinhan
Copy link
Member

IMO we should ignore the failing e2e-gcp-olm, since it's not related to this PR's changes of the operator-framework-tools.Dockerfile or gitignore filtering out utest leftover artifacts.

can you help make this pr merged?

@tmshort
Copy link
Contributor

tmshort commented Jun 18, 2024

/retest

Copy link
Contributor

@tmshort tmshort left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm

@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Jun 18, 2024
Copy link
Contributor

openshift-ci bot commented Jun 18, 2024

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: grokspawn, tmshort

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@tmshort
Copy link
Contributor

tmshort commented Jun 18, 2024

/retest

@openshift-ci-robot
Copy link

/retest-required

Remaining retests: 0 against base HEAD dc02939 and 2 for PR HEAD b394079 in total

@perdasilva
Copy link
Contributor

/retest

@openshift-ci-robot
Copy link

/retest-required

Remaining retests: 0 against base HEAD 092123a and 1 for PR HEAD b394079 in total

@grokspawn
Copy link
Contributor Author

/retest

…iles from git; use rhel8 art builder image

Signed-off-by: Jordan Keister <[email protected]>
@grokspawn grokspawn force-pushed the tools-cross-compile branch from b394079 to 893b225 Compare June 20, 2024 12:25
@openshift-ci openshift-ci bot removed the lgtm Indicates that a PR is ready to be merged. label Jun 20, 2024
@perdasilva
Copy link
Contributor

/lgtm

@perdasilva
Copy link
Contributor

/label backport-risk-assessed

@openshift-ci openshift-ci bot added the backport-risk-assessed Indicates a PR to a release branch has been evaluated and considered safe to accept. label Jun 20, 2024
@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Jun 20, 2024
@openshift-ci-robot
Copy link

/retest-required

Remaining retests: 0 against base HEAD 092123a and 2 for PR HEAD 893b225 in total

@perdasilva
Copy link
Contributor

/retest

1 similar comment
@perdasilva
Copy link
Contributor

/retest

Copy link
Contributor

openshift-ci bot commented Jun 21, 2024

@grokspawn: all tests passed!

Full PR test history. Your PR dashboard.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

@openshift-merge-bot openshift-merge-bot bot merged commit 06c943a into openshift:master Jun 21, 2024
13 checks passed
@openshift-bot
Copy link
Contributor

[ART PR BUILD NOTIFIER]

This PR has been included in build operator-registry-container-v4.17.0-202406211242.p0.g06c943a.assembly.stream.el9 for distgit operator-registry.
All builds following this will include this PR.

@grokspawn
Copy link
Contributor Author

/cherry-pick release-4.16

@openshift-cherrypick-robot

@grokspawn: #770 failed to apply on top of branch "release-4.16":

Applying: UPSTREAM: <carry>: fix xplat compile for of-tools image; hide utest files from git; use rhel8 art builder image
Using index info to reconstruct a base tree...
M	operator-framework-tools.Dockerfile
Falling back to patching base and 3-way merge...
Auto-merging operator-framework-tools.Dockerfile
CONFLICT (content): Merge conflict in operator-framework-tools.Dockerfile
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
Patch failed at 0001 UPSTREAM: <carry>: fix xplat compile for of-tools image; hide utest files from git; use rhel8 art builder image
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".

In response to this:

/cherry-pick release-4.16

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. backport-risk-assessed Indicates a PR to a release branch has been evaluated and considered safe to accept. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. lgtm Indicates that a PR is ready to be merged.
Projects
None yet
Development

Successfully merging this pull request may close these issues.