Difference between revisions of "Oslo/CreatingANewLibrary"
(Created page with "= Oslo Library Graduation Process = Graduating a library is a multi-step process. It isn't complicated, but there are a lot of details that are easy to miss. Please tread car...") |
|||
Line 1: | Line 1: | ||
− | = Oslo Library | + | = Creating a New Oslo Library = |
+ | == Creating an Initial Repository for Import == | ||
+ | |||
+ | There are three sources for new Oslo libraries: | ||
+ | |||
+ | # Incubated code that is graduating. | ||
+ | # A brand new library. | ||
+ | # An existing library that we are adopting. | ||
+ | |||
+ | These subsections cover incubated code and new libraries. Existing libraries can skip ahead to "Importing the Repository into the CI System" below. | ||
+ | |||
+ | === Graduating a Library from the Incubator === | ||
Graduating a library is a multi-step process. It isn't complicated, but there are a lot of details that are easy to miss. Please tread carefully. | Graduating a library is a multi-step process. It isn't complicated, but there are a lot of details that are easy to miss. Please tread carefully. | ||
Line 10: | Line 21: | ||
== Extracting a Clean Copy of the History == | == Extracting a Clean Copy of the History == | ||
+ | |||
+ | The oslo-incubator repository includes a script in tools/graduate.sh that can be used to | ||
== Importing the Repository into the CI System == | == Importing the Repository into the CI System == |
Revision as of 21:53, 10 February 2014
Contents
Creating a New Oslo Library
Creating an Initial Repository for Import
There are three sources for new Oslo libraries:
- Incubated code that is graduating.
- A brand new library.
- An existing library that we are adopting.
These subsections cover incubated code and new libraries. Existing libraries can skip ahead to "Importing the Repository into the CI System" below.
Graduating a Library from the Incubator
Graduating a library is a multi-step process. It isn't complicated, but there are a lot of details that are easy to miss. Please tread carefully.
Updating the Incubator
- Update oslo-incubator/MAINTAINERS:
- Set the status of the module(s) to "Graduating".
- Verify all of the correct names and contact details are present.
Extracting a Clean Copy of the History
The oslo-incubator repository includes a script in tools/graduate.sh that can be used to
Importing the Repository into the CI System
- infra/config - requirements - governance
First Testable Release
Marking Incubator Obsolete
After the first release of the new library, the status of the module(s) should be updated to "Obsolete." During this phase, only critical bug fixes will be allowed in the incubator version of the code. New features and minor bugs should be fixed in the released library, and effort should be spent focusing on having downstream projects consume the library.
After all integrated projects that use the code are using the library instead of the incubator, the module(s)_ can be deleted from the incubator.