Difference between revisions of "Source code customization & Stable release services"

From Verific Design Automation FAQ
Jump to: navigation, search
Line 1: Line 1:
>>> Under construction <<<
+
On Verific's system, each of our licensees has a separate code branch. There are mechanisms in place to prevent cross-contamination among code branches, helping to ensure their privacy and security.  With this implementation Verific is able to offer two complimentary services to our licensees : ''Source Code Customization'' and ''Stable Release Maintenance''.
  
  
Verific offers two services to licensees: Source Code Customization and Stable Release.
+
'''1. Source Code Customization
 +
'''
  
On Verific's file system, each of the licensees has a separate code branch. There are mechanisms to prevent cross-contamination among code branches.
+
A licensee can send in custom code modifications to be merged into their branch maintained by Verific. The customizations will be included in future source code releases so that the licensee will not need to merge them manually each time. Please note the following :
  
 +
* The modified code should be complete and compilable on Verific's system.
  
1. Source Code Customization
+
* Zip the modified code with the same password used for the monthly code releases.
  
The licensee can send us your code modifications to be merged in your branch here.
+
* Mention the Verific release version that the modifications are based upon.
The customizations will be included in future source code releases and the licensee don't need to merge them her/himself.
+
Please note that:
+
  
- The modified code should be complete and compilable here on Verific system.
+
The licensee can include testcases that exercise the customized code. These testcases will be added to the regression testsuite of the licensee's code branch.
  
- Zip the modified code with the same password we use for the monthly code releases.
+
The best way to initiate this process is for the licensee to file a VIPER issue with Type "Merge Request" and attach the zip file of the code modifications to the VIPER issue. This VIPER issue will be closed (not just "fixed") when the code merge has been completed. The licensee will receive an email notice when the VIPER issue is closed.
  
- Mention the Verific release version the modifications are based upon.
 
  
The licensee can include testcases that exercise the customized code. The testcases will be added to the regression testsuite of the licensee's code branch.
 
  
The best way to initiate this process is for the licensee to file a VIPER issue with Type "Merge Request," and attached the zip file with the VIPER issue. This VIPER issue will be closed (not just "fixed") when the code merge is complete. The licensee will receive an email notice when the VIPER issue is closed.
+
'''2. Stable Release Mantenance
 +
'''
  
 +
A STABLE release is a physically separate branch of a licensee's code on Verific's system.  It is treated as a distinct "customer" branch.  There are no connections between a STABLE branch and the licensee's NORMAL branch.  A STABLE branch is usually requested by a licensee when a specific monthly NORMAL branch has been extensively tested and integrated into the licensee's tool and there is a need to maintain this branch of code for a longer period of time than the regular monthly Verific releases.  Some notes to keep in mind about  the STABLE branch :
  
 +
*  After creation, STABLE branch code can only be changed to fix STABLE branch VIPER issues.  VIPER issues filed for a STABLE branch are treated as "customer-specific".  In other words, VIPER fixes in a STABLE branch don't go into the NORMAL branch and, likewise, VIPER fixes in the NORMAL branch don't go into a STABLE branch.
  
2. Stable Release
+
*  To avoid having new issues introduced into a STABLE branch, only defect (not enhancement) VIPERs are allowed for a STABLE branch.
  
1.  A STABLE branch is a physically separate branch in our system.  It is
+
*  If an issue needs to be fixed in both a STABLE branch and in the NORMAL branch, two separate VIPER issues will need to be filed : one for the STABLE branch and one for the NORMAL branch.
treated as a separate "customer" branch.  There are no connections between the
+
STABLE branch and the NORMAL branch.
+
  
2.  After being created, STABLE branch code can only be changed due to work done
+
STABLE branch code can not be merged into NORMAL branch code.
to fix STABLE branch VIPER issues.  VIPER issues files against STABLE branch
+
are treated as "customer-specific."  In other works, VIPER fixes in STABLE
+
branch don't go into NORMAL branch and VIPER fixes in NORMAL branch don't go
+
into STABLE branch.
+
  
3.  To avoid new issues being introduced in STABLE branch, only defects (not
+
*  When a STABLE branch has served its purpose and is ready to be retired, the licensee should inform Verific about this decision as soon as possibleWe will then archive the branch and stop its maintenance, helping to free up our time and resources.
enhancements) are fixed in STABLE branch.
+
 
+
3If an issue needs to be fixed both in STABLE branch and in NORMAL
+
branch, there have to be two VIPER issues: one for the STABLE branch and one
+
for the NORMAL branch.
+
 
+
4.  STABLE branch code can not be merged into NORMAL branch code.
+

Revision as of 16:37, 8 October 2021

On Verific's system, each of our licensees has a separate code branch. There are mechanisms in place to prevent cross-contamination among code branches, helping to ensure their privacy and security. With this implementation Verific is able to offer two complimentary services to our licensees : Source Code Customization and Stable Release Maintenance.


1. Source Code Customization

A licensee can send in custom code modifications to be merged into their branch maintained by Verific. The customizations will be included in future source code releases so that the licensee will not need to merge them manually each time. Please note the following :

  • The modified code should be complete and compilable on Verific's system.
  • Zip the modified code with the same password used for the monthly code releases.
  • Mention the Verific release version that the modifications are based upon.

The licensee can include testcases that exercise the customized code. These testcases will be added to the regression testsuite of the licensee's code branch.

The best way to initiate this process is for the licensee to file a VIPER issue with Type "Merge Request" and attach the zip file of the code modifications to the VIPER issue. This VIPER issue will be closed (not just "fixed") when the code merge has been completed. The licensee will receive an email notice when the VIPER issue is closed.


2. Stable Release Mantenance

A STABLE release is a physically separate branch of a licensee's code on Verific's system. It is treated as a distinct "customer" branch. There are no connections between a STABLE branch and the licensee's NORMAL branch. A STABLE branch is usually requested by a licensee when a specific monthly NORMAL branch has been extensively tested and integrated into the licensee's tool and there is a need to maintain this branch of code for a longer period of time than the regular monthly Verific releases. Some notes to keep in mind about the STABLE branch :

  • After creation, STABLE branch code can only be changed to fix STABLE branch VIPER issues. VIPER issues filed for a STABLE branch are treated as "customer-specific". In other words, VIPER fixes in a STABLE branch don't go into the NORMAL branch and, likewise, VIPER fixes in the NORMAL branch don't go into a STABLE branch.
  • To avoid having new issues introduced into a STABLE branch, only defect (not enhancement) VIPERs are allowed for a STABLE branch.
  • If an issue needs to be fixed in both a STABLE branch and in the NORMAL branch, two separate VIPER issues will need to be filed : one for the STABLE branch and one for the NORMAL branch.
  • STABLE branch code can not be merged into NORMAL branch code.
  • When a STABLE branch has served its purpose and is ready to be retired, the licensee should inform Verific about this decision as soon as possible. We will then archive the branch and stop its maintenance, helping to free up our time and resources.