Skip to content

Conversation

@sanderegg
Copy link
Member

@sanderegg sanderegg commented Dec 19, 2024

What do these changes do?

In order to run oSparc on ARM-based processors, this PR allows to build docker images for ARM64 processors
This is useful for cost reduction purposes.
re-used Makefile machinery used for building towards Raspberry Pi ARM architecture.

1st step shall run manually via triggering. next steps will follow in a separate PR.

some details:

  • Dockerfile TARGETARCH variable contains the target architecture (automatically filled in by docker at build time) (see Dockerfile multi-architecture docs)
  • Already adapted RClone installation

Bonuses:

  • upgraded shellcheck to 0.10.0

Current workflow

  • first create the usual amd64 image, and run all the tests as usual
  • once this goes through and in master,

Currently will be run manually for testing purposes

  • the arm64 images will be built (sadly for now with possibly slightly different libs as the build for arm64 happens at a different timepoint),
  • the arm64 build is pushed to dockerhub,
  • the arm64 and amd64 images are then "fused" as the registry is able to provide both architectures at the same time

Related issue/s

How to test

Dev-ops checklist

@sanderegg sanderegg added the a:infra+ops maintenance of infrastructure or operations (discussed in retro) label Dec 19, 2024
@sanderegg sanderegg added this to the Event Horizon milestone Dec 19, 2024
@sanderegg sanderegg self-assigned this Dec 19, 2024
@sanderegg sanderegg marked this pull request as draft December 19, 2024 16:31
@codecov
Copy link

codecov bot commented Dec 19, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 79.57%. Comparing base (081098c) to head (738bc7d).
Report is 1 commits behind head on master.

❗ There is a different number of reports uploaded between BASE (081098c) and HEAD (738bc7d). Click for more details.

HEAD has 53 uploads less than BASE
Flag BASE (081098c) HEAD (738bc7d)
unittests 47 2
integrationtests 9 1
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #6984      +/-   ##
==========================================
- Coverage   86.90%   79.57%   -7.34%     
==========================================
  Files        1638      282    -1356     
  Lines       64621    13871   -50750     
  Branches     2041      262    -1779     
==========================================
- Hits        56160    11038   -45122     
+ Misses       8121     2773    -5348     
+ Partials      340       60     -280     
Flag Coverage Δ
integrationtests 59.84% <ø> (-4.86%) ⬇️
unittests 89.95% <ø> (+4.73%) ⬆️
Components Coverage Δ
api ∅ <ø> (∅)
pkg_aws_library ∅ <ø> (∅)
pkg_dask_task_models_library ∅ <ø> (∅)
pkg_models_library ∅ <ø> (∅)
pkg_notifications_library ∅ <ø> (∅)
pkg_postgres_database ∅ <ø> (∅)
pkg_service_integration ∅ <ø> (∅)
pkg_service_library ∅ <ø> (∅)
pkg_settings_library ∅ <ø> (∅)
pkg_simcore_sdk 77.37% <ø> (-8.02%) ⬇️
agent 96.82% <ø> (ø)
api_server ∅ <ø> (∅)
autoscaling ∅ <ø> (∅)
catalog ∅ <ø> (∅)
clusters_keeper ∅ <ø> (∅)
dask_sidecar ∅ <ø> (∅)
datcore_adapter ∅ <ø> (∅)
director ∅ <ø> (∅)
director_v2 79.15% <ø> (-12.25%) ⬇️
dynamic_scheduler ∅ <ø> (∅)
dynamic_sidecar 89.74% <ø> (ø)
efs_guardian ∅ <ø> (∅)
invitations ∅ <ø> (∅)
osparc_gateway_server ∅ <ø> (∅)
payments ∅ <ø> (∅)
resource_usage_tracker ∅ <ø> (∅)
storage ∅ <ø> (∅)
webclient ∅ <ø> (∅)
webserver 56.21% <ø> (-27.85%) ⬇️

Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 081098c...738bc7d. Read the comment docs.

Copy link
Member

@pcrespov pcrespov left a comment

Choose a reason for hiding this comment

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

i wonder whether we should also have some of those for development

Copy link
Contributor

@GitHK GitHK left a comment

Choose a reason for hiding this comment

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

reassign when ready

@sanderegg sanderegg force-pushed the build-for-arm64 branch 3 times, most recently from 02015ca to 86fb6ec Compare January 6, 2025 14:11
@sanderegg sanderegg marked this pull request as ready for review January 6, 2025 14:12
Copy link
Collaborator

@matusdrobuliak66 matusdrobuliak66 left a comment

Choose a reason for hiding this comment

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

👍

Copy link
Member

@pcrespov pcrespov left a comment

Choose a reason for hiding this comment

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

thx

Copy link
Member

@mrnicegyu11 mrnicegyu11 left a comment

Choose a reason for hiding this comment

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

lgtm keep us in the loop on the progress, thx

@sanderegg sanderegg force-pushed the build-for-arm64 branch 4 times, most recently from cb6a301 to 1f7b717 Compare January 7, 2025 10:23
@sanderegg sanderegg force-pushed the build-for-arm64 branch 2 times, most recently from addda28 to ce419ae Compare January 7, 2025 14:57
@sonarqubecloud
Copy link

sonarqubecloud bot commented Jan 8, 2025

@sanderegg sanderegg merged commit 324c053 into ITISFoundation:master Jan 8, 2025
88 of 92 checks passed
@sanderegg sanderegg deleted the build-for-arm64 branch January 8, 2025 07:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

a:infra+ops maintenance of infrastructure or operations (discussed in retro)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants