-
Notifications
You must be signed in to change notification settings - Fork 20
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
Change build order #873
Change build order #873
Conversation
Code Coverage Summary
Linter reportsPylint report
Black report
Bandit report
View full reports on the Job Summary page. |
alws/build_planner.py
Outdated
@@ -660,9 +666,16 @@ async def build_dependency_map(self): | |||
# - All architectures should have dependencies | |||
# between their own tasks to ensure correct build order. | |||
all_tasks = [] | |||
priority_arches = ['src', 'i686'] |
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.
All arch tasks should be dependent only on src
task, so first arch will always be src
, even when the list of arches is custom
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.
I added i686 as the second priority arch to leave the possibility of building from src. For this case 'i686' will be a priority arch as it is now
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.
Are you sure that if I leave only src
then I didn't break a multilib?
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.
Multilib is triggered when x86_64 arch is finishing, and at planner time it's only a question of modules. BTW, please check modules workflow: does it remain the same as now?
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.
Checked modules. Now all works fine
supported_arches.remove('src') | ||
task_arch = task.arch | ||
if task_arch == 'src': | ||
task_arch = supported_arches[0] |
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.
What if src
will not be the first arch?
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.
We don't need src
as the first arch in supported_arches
that's why I removed it
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.
Okay, but what will happen when you finishing src task? It looks like this way you'll be treating src task like e.g. aarch64 task which is not fully correct
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.
No that is exactly what I am trying to do here. This part of the code adds repositories for a builder to build RPM. So because we can build src
on any builders we need to add here only repositories for builder supported arch.
Resolves: AlmaLinux/build-system#212