Simplify Makefile config generation pipeline
-
Please check this box if this contribution uses AI-generated content (including content generated by GitLab Duo features) as outlined in the GitLab DCO & CLA
What does this merge request do and why?
Tried to make make
code independent from rake
.
The make
code only need GDK config file. But config is for some reason needs rake
, which brings a lot of stuff on board imported from required lib/gdk.rb
.
As an alternative, generate Makefile
config with pure Ruby, and ensure there is no extra code executed for nothing. This will bring bootstrap sequence from:
graph LR
bash --> ruby --> bundle --> make --> rake --> make
To:
graph LR
bash --> ruby --> bundle --> make
Main problem: Makefile
uses GDK configuration
Why problem?: Makefile
are meant to run source code build tasks, not GDK logic, and here we have a mix of "logic to build GDK" and "GDK logic to build GitLab". The latter creates spaghetti code and confusion.
How to set up and validate locally
Numbered steps to set up and validate the change are strongly suggested.
Impacted categories
The following categories relate to this merge request:
-
gdk-reliability - e.g. When a GDK action fails to complete. -
gdk-usability - e.g. Improvements or suggestions around how the GDK functions. -
gdk-performance - e.g. When a GDK action is slow or times out.
Merge request checklist
-
This change is backward compatible. If not, please include steps to communicate to our users. -
Tests added for new functionality. If not, please raise an issue to follow-up. -
Documentation added/updated, if needed. -
Announcement added, if change is notable. -
gdk doctor
test added, if needed. -
Add the ~highlight
label if this MR should be included in theCHANGELOG.md
.
Edited by Anatoli Babenia