...
Building Steps (Struts)
Getting ready
- Prepare new Security Bulletin - use just brief description about the security vulnerability, no examples, no proof-of-concept, anything that could be used against users, secure the page to allow access only member of struts-committers group in Confluence
- Create a new Version Notes page in Confluence, link from Migration Guide, and link to prior release page and JIRA DONE filters of the version to release, secure the page to allow access only member of struts-committers group in Confluence
- When a serious security issue arises, we should try to create a
STRUTS_#_#_#_X
branch from the last GA release (from tag - check it out and usemvn release:branch
as below).
Read the maven release:branch docs for further details or alternativelyNo Format svn co https://svn.apache.org/repos/asf/struts/struts2/tags/STRUTS_#_#_# cd STRUTS_#_#_# mvn release:branch -DbranchName=STRUTS_#_#_#_X -DupdateBranchVersions=true -DupdateWorkingCopyVersions=false -DautoVersionSubmodules=true
- Apply to that branch only the security patch
- Commit the fix. No reference should be make to the commit being related to a security vulnerability.
- If the patch first applies to some other dependency, implore the other group to do the same, to avoid side-effects from other changes.
- Release the upcoming version in JIRA (under Administration/Manage Releases) and tag the release date
- Create DONE and TODO filters for the new version, share with all, and remove obsolete TODO filterCreate a new Version Notes page in Confluence, link from Migration Guide, and link to prior release page and JIRA DONE filters of the version to release, secure the page to allow access only member of struts-committers group in Confluence
Obtain a fresh checkout of created branch.
...