Migrate step templates to a source-first layout#1679
Draft
bcullman wants to merge 7 commits intoOctopusDeploy:masterfrom
Draft
Migrate step templates to a source-first layout#1679bcullman wants to merge 7 commits intoOctopusDeploy:masterfrom
bcullman wants to merge 7 commits intoOctopusDeploy:masterfrom
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Background
This PR applies the repository migration to a source-first step-template layout.
It addresses the reviewability and contributor-workflow problems tracked in #1677 by moving editable step-template source into
src/step-templates/**while retaining generatedstep-templates/*.jsonas the compatibility output.The migration tooling itself lives in draft PR #1678. That draft PR exists so reviewers can inspect the migration and validation mechanics independently of this repository-migration PR, and use that branch if they want to reproduce the conversion flow locally.
Results
Step templates are now authored in a source-first layout, with script content stored as normal source files beside
metadata.json.Contributor documentation and review guidance have been updated to reflect that workflow, including how to start from an Octopus-exported JSON file using the existing unpack tooling.
Migration-only scripts used to validate the transition are not carried in this branch.
Before
step-templates/*.jsonAfter
src/step-templates/**step-templates/*.jsonremains in place as the compatibility outputsrc/step-templates/logosPre-requisites
Idshould be a GUID that is not00000000-0000-0000-0000-000000000000Idproperty (updating theIdwill break the Library sync functionality in Octopus).Versionshould be incremented, otherwise the integration with Octopus won't update the step template correctly$LastModifiedByfield must be present, and (optionally) updated with the correct authorCategoryhas been created:{categoryname}.pngmust be present under thesrc/step-templates/logosfolderswitchin thehumanizefunction ingulpfile.babel.jsmust have acasestatement corresponding to itFixes #1677
Validation and compatibility note
Draft PR #1678 is the place to review or rerun the migration mechanics and validation workflow.
This PR assumes compatibility is preserved as long as the build continues to generate
step-templates/*.jsonin the legacy location. The exact retrieval flow used bylibrary.octopus.comis not fully documented here, but the generated JSON output is believed to remain compatible.