|
| 1 | +# ChipsecExperimental |
| 2 | + |
| 3 | +This repository is used by CHIPSEC as a staging/evaluation location for new features that are not yet ready for inclusion in CHIPSEC. |
| 4 | + |
| 5 | +## Introduction |
| 6 | + |
| 7 | +This repository is where new or experimental features that, are not ready for or may never make it to product |
| 8 | +integration, can be checked in for evaluation by the CHIPSEC community prior to introducing it into the CHIPSEC main trunk. This serves several purposes: |
| 9 | + |
| 10 | +* Encourage source code to be shared earlier in the development process. |
| 11 | +* Allow source code to be shared that does not yet meet all CHIPSEC required quality criteria. |
| 12 | +* Allow source code to be shared so the CHIPSEC community can help finish and validate new features. |
| 13 | +* Provide a location to hold new features until they are deemed ready for integration. |
| 14 | +* Provide a location to hold new features until there is a natural point in the CHIPSEC release cycle to fully validate the new feature. |
| 15 | + |
| 16 | +Notes: |
| 17 | + |
| 18 | +* Not intended to be used for bug fixes. |
| 19 | +* Not intended to be used for small, simple, or low risk features. |
| 20 | +* Creation of a branch does not guarantee feature integration into CHIPSEC. |
| 21 | + |
| 22 | +## Process for creating, using, and maintaining experimental efforts |
| 23 | + |
| 24 | +1) ChipsecExperimental discussions can use: |
| 25 | + 1) The existing chipsec mailing list for design/patch/test. |
| 26 | + 1) The Discussion board on [chipsec/chipsec/discussions](https://github.com/chipsec/chipsec/discussions). |
| 27 | + |
| 28 | + Use the following style for discussion of a specific feature branch in ChipsecExperimental repo: |
| 29 | + |
| 30 | + `[ChipsecExperimental/branch]: Subject` |
| 31 | + |
| 32 | +1) Process to add a new feature to ChipsecExperimental: |
| 33 | + 1) Developer creates feature branch in ChipsecExperimental with `README.md` in root of feature branch with: summary, instructions to run, owners, timeline, and links to related materials. |
| 34 | + 1) Developer is responsible for making sure feature is frequently synced to chipsec/main where possible. |
| 35 | + |
| 36 | + |
| 37 | +1) Process to update sources in feature branch: |
| 38 | + 1) Directly commit changes to feature branch. |
| 39 | + 1) If community review is desired, send an email to the chipsec mailing list<email>: `[ChipsecExperimental/branch PATCH]: Subject` |
| 40 | + |
| 41 | +1) Process to promote a ChipsecExperimental branch to CHIPSEC trunk: |
| 42 | + 1) Integrate changes into chipsec fork or branch that is based on chipsec/main. |
| 43 | + 1) Create standard pull request referencing ChipsecExperimental Branch. |
| 44 | + 1) Update ChipsecExperimental Branch's `README.md` and on the first line place: ```# Archived: chipsec/chipsec/pull/[PR#]``` |
| 45 | + |
| 46 | +``` |
| 47 | +CHIPSEC Maintiners and Admins reserve the right to clean up/remove stale or unwanted branches at any time. |
| 48 | +``` |
0 commit comments