Skip to content

[SFI-ID4.2.1] Configure pipelines to upload to both MSIT and Torus storage accounts#26538

Draft
RishhiB wants to merge 3 commits intomicrosoft:mainfrom
RishhiB:rishhib/pipeline-upload-both-storage
Draft

[SFI-ID4.2.1] Configure pipelines to upload to both MSIT and Torus storage accounts#26538
RishhiB wants to merge 3 commits intomicrosoft:mainfrom
RishhiB:rishhib/pipeline-upload-both-storage

Conversation

@RishhiB
Copy link
Contributor

@RishhiB RishhiB commented Feb 25, 2026

Description

  • Configure pipelines to upload artifacts to both old (MSIT) and new (Torus) storage accounts during migration
  • Added STORAGE_ACCOUNT_NEW variable to storage-vars variable group
  • Modified publish-api-model-artifact.yml and upload-dev-manifest.yml to duplicate upload tasks

Azure DevOps Variable Group

  • storage-vars (ID: 2): Added STORAGE_ACCOUNT_NEW = fluidframeworkcdn

Pipeline Files Modified

1. tools/pipelines/publish-api-model-artifact.yml

  • Duplicated 3 upload scenarios to upload to both storage accounts (6 tasks total):
    • Upload JSON with commit SHA filename → both old and new storage
    • Upload JSON as latest.tar.gz (main branch only) → both old and new storage
    • Upload JSON as latest-v*.tar.gz (latest minor version) → both old and new storage
  • All uploads to container: api-extractor-json
  • Both use MSI authentication (--auth-mode login)

2. tools/pipelines/templates/upload-dev-manifest.yml

  • Duplicated upload task to upload manifest files to both storage accounts
  • Uploads to container: manifest-files
  • Both use MSI authentication (--auth-mode login)

Duplicate blob upload tasks in publish-api-model-artifact.yml and upload-dev-manifest.yml to upload to both old (fluidframework) and new (fluidframeworkcdn) storage accounts during migration.

Uses STORAGE_ACCOUNT_NEW variable from storage-vars group.
…connections

Create include-upload-blob-storage.yml template to reduce duplication and use different service connections for each storage account:
- Old storage (fluidframework): Uses fluid-docs service connection (MSIT subscription)
- New storage (fluidframeworkcdn): Uses fluid-docs-torus service connection (Torus subscription)

Template supports both single file and multi-file uploads with optional conditional execution.

Updated files:
- tools/pipelines/templates/include-upload-blob-storage.yml (NEW)
- tools/pipelines/templates/upload-dev-manifest.yml
- tools/pipelines/publish-api-model-artifact.yml
Resolved conflicts in upload-dev-manifest.yml by:
- Keeping template-based approach for dual storage uploads
- Incorporating upstream changes:
  - Added checkout step with FluidFrameworkDirectory path
  - Updated working directories to use Pipeline.Workspace paths
  - Added content-cache max-age=300 parameter for performance
- Updated include-upload-blob-storage.yml template to support contentCache parameter
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant