ClassicToStreams.helix-installer #4

  • //
  • spec/
  • branch/
  • ClassicToStreams.helix-installer
  • View
  • Commits
  • Open Download .zip Download (5 KB)
# The form data below was edited by tom_tyler
# A Perforce Branch Specification.
#
#  Branch:      The branch name.
#  Update:      The date this specification was last modified.
#  Access:      The date of the last 'integrate' using this branch.
#  Owner:       The user who created this branch.
#  Description: A short description of the branch (optional).
#  Options:     Branch update options: [un]locked.
#  View:        Lines to map source depot files to target depot files.
#
# Use 'p4 help branch' to see more about branch views.

Branch:	ClassicToStreams.helix-installer

Update:	2024/06/27 19:23:41

Access:	2024/06/27 17:17:30

Owner:	tom_tyler

Description:
	Branch spec for migration from Classic to Streams for the Helix Installer.
	
	At the start of migration the //guest/perforce_software/helix-installer
	Classic structure contains these folders:
	
	* dev - primary development branch.
	* main - mainline from which releases have been done.
	* tools - separate folder with tools for doing releases.
	* downloads - separate folder for publishing release tarballs.
	* azure-quickstart, branched from main. Inactive since 2021.
	* ami-builder - branched from azure-quickstart (and thus indirectly form main).
	* dev-ami-builder - active dev branch for ami-builder.
	
	Migration strategy for each folder:
	* main - The mainline stream 'main' will be populated from the Classic 'main' branch.
	* dev - The 'dev' stream will be created from the 'main' stream.
	* tools - To be migrated as a folder under the main stream.
	* downloads - To be started as a fresh/empty folder under the 'main' stream.
	* azure-quickstart - To be abandoned and left behind in Classic.
	* ami-builder - To be created as a development stream from 'main', and
	then integrated to from the corresponding Classic path.
	* dev-ami-builder - To be created as a development stream from 'ami-builder'
	then integrated to from the corresponding Classic path.
	
	Workflows on Streams:
	* New release streams e.g. r24.2 will be created from 'main' upon release.
	* Merge Down from 'main' to 'dev' regularly.
	* Copy Up from 'dev' to 'main' when code has reached Sharable Quality.
	* Merge Down from 'main' to 'ami-builder' regularly or as needed.
	* Merge Down from 'ami-builder' to 'dev-ami-builder' regularly.
	* Copy Up from 'dev-ami-builder' to 'ami-builder' for release.
	* Optional: Create release streams like 'r24.1-ami-builder' from
	'ami-builder' upon release.
	
	Procedure Notes:
	
	STEP 1: Confirm that the Classic 'dev' and 'main' branches are identical
	
	Do:
	
	$ p4 diff2 -q dev/... main/...
	
	Ensure outpout indicates these are identical.
	
	STEP 2: Fix stream specs.
	
	Removed all 'import' entries from //helix-installer/* streams, which were
	there for when streams were used to provide workspace management for the
	Classic paths.
	
	STEP 3: Populate Mainline and dev
	
	$ p4 populate -o -b ClassicToStreams.helix-installer
	$ p4 populate -r -S //helix-installer/dev
	
	STEP 4: Update Protections
	
	Lock down //guest/perforce_software/helix-installer/... to be read-only.
	Open read access to //helix-installer/...
	Open group-based write access to //helix-installer/main/...
	Open group-based write access to //helix-installer/dev/...
	
	STEP 5: Generate stream structure for other streams.
	
	$ p4 stream -t development -P //helix-installer/main -o //helix-installer/ami-builder | p4 stream -i
	
	$ p4 stream -t development -P //helix-installer/ami-builder -o //helix-installer/dev-ami-builder | p4 stream -i
	
	STEP 6: Populate and Merge other streams from Classic
	
	       $ p4 populate -r -S //helix-installer/ami-builder
	$ p4 populate -r -S //helix-installer/dev-ami-builder
	
	$ p4 switch ami-builder
	$ p4 integrate //guest/perforce_software/helix-installer/ami-builder/... //helix-installer/ami-builder/...
	$ p4 resolve -am //helix-installer/ami-builder/...
	$ p4 submit -d MergeFromClassic //helix-installer/ami-builder/...
	
	$ p4 switch dev-ami-builder
	$ p4 integrate //guest/perforce_software/helix-installer/dev-ami-builder/... //helix-installer/dev-ami-builder/...
	$ p4 resolve -am //helix-installer/dev-ami-builder/...
	$ p4 submit -d MergeFromClassic //helix-installer/ami-builder/...
	
	STEP 7: Fix Swarm Project.
	
	Adjust Swarm branches to reference the stream paths.  Create new stream
	paths to reference legacy paths.
	
	STEP 8: Update Readme.md and docs.
	
	Find all docs and web URLs that require updating based on path
	changes. Adapt so they reference new stream paths.
	
	STEP 9: Exercise the HITS (regression test suite). Fix as needed.

Options:	unlocked

View:
	//guest/perforce_software/helix-installer/main/... //helix-installer/main/...
	//guest/perforce_software/helix-installer/tools/... //helix-installer/main/tools/...
# Change User Description Committed
#4 default
#3 default
#2 default
#1 default