Details
-
Epic
-
Status: Closed
-
Medium
-
Resolution: Done
-
None
-
None
-
Refactor SO
-
To Do
Description
This is to refactor the SO components to multiple sub projects and provide a plug and play function aspect to the code.
- reduce SO overall build time,
- make SO a flexible and extensible platform,
- bringing in additional sub-components without affecting other SO sub-components, and
- allowing individual sub-component release lifecycle
Implementation Steps:
1st Steps:
Separate the components on an as-needed basis from the SO Core components
For those components on an as-needed basis, we will have:
- a separate project per component
- a separate repo per component
- a separate Jenkins build job per component
2nd Steps:
- Once the core component and those optional components are ready (i.e., successfully created their projects, repos, Jenkins scripts and builds), those components will be integrated into SO as needed
- OOM scripts will be enhanced for integration
Info on how to create projects / repos:
Correct clone options for your LFID will be available here: .. _info-master: https://gerrit.linuxfoundation.org/infra/admin/repos/releng/info-master
Example of cloning the info-master repo and creating a new repo “example-parent/example-child” on gerrit.example.org
git clone ssh://LFID@gerrit.linuxfoundation.org:29418/releng/info-master cd info-master/gerrit.example.org/example-parent/ mkdir example-child/ && cd example-child
We are now in an empty directory whose name matches the repository we are creating. We must create an INFO.yaml file in this directory and submit it for review. We have created an optional helper to expediate this step, it makes creating and INFO.yaml file quicker and less error prone.
lftools infofile create-info-file gerrit.example.org example-parent/example-child --empty --tsc_approval "https://link.to.meeting.minutes" > INFO.yaml
We must now pause and fill out the empty sections on the INFO.yaml
vim INFO.yaml #(add committers and lead) tox #(check that you have entered valid yaml) git add INFO.yaml git commit -sv git review