Skip to content
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

Run build steps for multi-arch sequentially #7333

Conversation

kimwnasptd
Copy link
Member

We saw that if we try to build using an ENV var containing all the architectures then docker buildx will run 3 parallel jobs.

This made the GH runners crash in some cases because they were over-utilizing the resources.

To mitigate this we'll sequentially build each image for each arch.

/assign @thesuperzapper
cc @DnPlas

We saw that if we try to build using an ENV var containing all the
architectures then docker buildx will run 3 parallel jobs.

This made the GH runners crash in some cases because they were
over-utilizing the resources.

To mitigate this we'll sequentially build each image for each arch.

Signed-off-by: Kimonas Sotirchos <kimwnasptd@gmail.com>
Copy link
Member

@thesuperzapper thesuperzapper left a comment

Choose a reason for hiding this comment

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

@kimwnasptd can I request we do the amd64 builds first, so they fail faster for broken images?

Also, can we make the same re-ordering change on the other workflows (I am happy to do this in a separate PR, if you want).

@kimwnasptd
Copy link
Member Author

@thesuperzapper I'm on it

Signed-off-by: Kimonas Sotirchos <kimwnasptd@gmail.com>
@kimwnasptd
Copy link
Member Author

@thesuperzapper just pushed a commit, PTAL

@thesuperzapper
Copy link
Member

/lgtm
/approve

@google-oss-prow google-oss-prow bot added the lgtm label Oct 13, 2023
@google-oss-prow
Copy link

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: thesuperzapper

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

@google-oss-prow google-oss-prow bot merged commit 0a69444 into kubeflow:master Oct 13, 2023
2 checks passed
kimwnasptd added a commit to kimwnasptd/kubeflow that referenced this pull request Oct 13, 2023
* Run build steps for multi-arch sequentially

We saw that if we try to build using an ENV var containing all the
architectures then docker buildx will run 3 parallel jobs.

This made the GH runners crash in some cases because they were
over-utilizing the resources.

To mitigate this we'll sequentially build each image for each arch.

Signed-off-by: Kimonas Sotirchos <kimwnasptd@gmail.com>

* review: Build first for amd64

Signed-off-by: Kimonas Sotirchos <kimwnasptd@gmail.com>

---------

Signed-off-by: Kimonas Sotirchos <kimwnasptd@gmail.com>
kimwnasptd added a commit to kimwnasptd/kubeflow that referenced this pull request Oct 13, 2023
* Run build steps for multi-arch sequentially

We saw that if we try to build using an ENV var containing all the
architectures then docker buildx will run 3 parallel jobs.

This made the GH runners crash in some cases because they were
over-utilizing the resources.

To mitigate this we'll sequentially build each image for each arch.

Signed-off-by: Kimonas Sotirchos <kimwnasptd@gmail.com>

* review: Build first for amd64

Signed-off-by: Kimonas Sotirchos <kimwnasptd@gmail.com>

---------

Signed-off-by: Kimonas Sotirchos <kimwnasptd@gmail.com>
google-oss-prow bot pushed a commit that referenced this pull request Oct 16, 2023
* ci: Build ARM images for core components (#7220)

* ci: Build ARM images for core components

Extend the GH Actions to also build the images on ARM architectures.

Signed-off-by: Kimonas Sotirchos <kimwnasptd@gmail.com>

* crud-web-apps: Update python and gevent versions

In order to successfully build on linux/arm64/v8 we'll need to:
* Update to Python 3.10
* Bump the gevent version

gevent/gevent#1721 (comment)

* Update the workflows for JWA

Signed-off-by: Kimonas Sotirchos <kimwnasptd@gmail.com>

* Update workflows for centraldb

Signed-off-by: Kimonas Sotirchos <kimwnasptd@gmail.com>

* Update workflows for kfam

Signed-off-by: Kimonas Sotirchos <kimwnasptd@gmail.com>

* Update workflows for notebook-controller

Signed-off-by: Kimonas Sotirchos <kimwnasptd@gmail.com>

* Update workflows for PodDefaults

Signed-off-by: Kimonas Sotirchos <kimwnasptd@gmail.com>

* Update workflows for Profile Controller

Signed-off-by: Kimonas Sotirchos <kimwnasptd@gmail.com>

* Update workflows for pvcviewer controller

Signed-off-by: Kimonas Sotirchos <kimwnasptd@gmail.com>

* Update workflows for TensorBoard Controller

Signed-off-by: Kimonas Sotirchos <kimwnasptd@gmail.com>

* Update workflows for TWA

Signed-off-by: Kimonas Sotirchos <kimwnasptd@gmail.com>

* Update workflows for VWA

Signed-off-by: Kimonas Sotirchos <kimwnasptd@gmail.com>

* Update releasing script to include PVCViewers

Signed-off-by: Kimonas Sotirchos <kimwnasptd@gmail.com>

---------

Signed-off-by: Kimonas Sotirchos <kimwnasptd@gmail.com>

* Run build steps for multi-arch sequentially (#7333)

* Run build steps for multi-arch sequentially

We saw that if we try to build using an ENV var containing all the
architectures then docker buildx will run 3 parallel jobs.

This made the GH runners crash in some cases because they were
over-utilizing the resources.

To mitigate this we'll sequentially build each image for each arch.

Signed-off-by: Kimonas Sotirchos <kimwnasptd@gmail.com>

* review: Build first for amd64

Signed-off-by: Kimonas Sotirchos <kimwnasptd@gmail.com>

---------

Signed-off-by: Kimonas Sotirchos <kimwnasptd@gmail.com>

* ci: Ensure we publish for all architectures (#7343)

Previously we omitted the ARCH env var, which resulted in the last step
to not push for all architectures, but only for amd64.

This commit will set a default ENV var with all architectures, which
will be picked up by the build-push make rule we have.

Signed-off-by: Kimonas Sotirchos <kimwnasptd@gmail.com>

* ci: Push the multi-arch image for specific tag (#7345)

The latest changes made the CI to only build the images for different
archs, but not push for the tag value of the commit.

While next steps, for pushing the latest tag or a release version tag
will work we still want to ensure we push an image with a tag.

Signed-off-by: Kimonas Sotirchos <kimwnasptd@gmail.com>

---------

Signed-off-by: Kimonas Sotirchos <kimwnasptd@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants