Pin version of ff_pipeline_host to particular commit#27110
Pin version of ff_pipeline_host to particular commit#27110
Conversation
There was a problem hiding this comment.
Pull request overview
This PR makes the ff_pipeline_host dependency deterministic across several Azure Pipelines by pinning the repo resource to a specific commit SHA, improving e2e/test reproducibility and making regressions easier to bisect.
Changes:
- Pin
ff_pipeline_hostrepository resourcerefto commit11f135dcc8dfa42519157bb460fdcb345c19a477in multiple test pipelines. - Update shared build templates to use the same pinned
ff_pipeline_hostcommit instead of a moving branch ref.
Reviewed changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
| tools/pipelines/test-service-clients.yml | Pins ff_pipeline_host repo resource to a specific commit. |
| tools/pipelines/test-real-service.yml | Pins ff_pipeline_host repo resource to a specific commit. |
| tools/pipelines/test-real-service-stress.yml | Pins ff_pipeline_host repo resource to a specific commit. |
| tools/pipelines/test-perf-benchmarks.yml | Replaces ref: main with a pinned commit for ff_pipeline_host. |
| tools/pipelines/test-dds-stress.yml | Pins ff_pipeline_host repo resource to a specific commit. |
| tools/pipelines/templates/build-npm-package.yml | Pins internal/ff_pipeline_host repo resource to a specific commit in a shared template. |
| tools/pipelines/templates/build-npm-client-package.yml | Pins internal/ff_pipeline_host repo resource to a specific commit in a shared template. |
| - repository: ff_pipeline_host | ||
| type: git | ||
| name: ff_pipeline_host | ||
| ref: '11f135dcc8dfa42519157bb460fdcb345c19a477' |
There was a problem hiding this comment.
Nit: this pins ff_pipeline_host via a literal commit SHA, and the same SHA is duplicated in several pipeline YAMLs/templates. If ADO template expressions/variables can be used for resources.repositories[*].ref, consider factoring it into a single shared value to prevent drift during bumps.
| - repository: ff_pipeline_host | ||
| type: git | ||
| name: ff_pipeline_host | ||
| ref: '11f135dcc8dfa42519157bb460fdcb345c19a477' |
There was a problem hiding this comment.
Nit: the pinned ff_pipeline_host SHA is repeated across multiple pipeline YAMLs. If feasible, centralize the ref into a shared variable/parameter so future bumps can’t accidentally miss updating one of the pipelines.
| type: git | ||
| name: ff_pipeline_host | ||
| ref: main | ||
| ref: '11f135dcc8dfa42519157bb460fdcb345c19a477' |
There was a problem hiding this comment.
Nit: this hard-codes the ff_pipeline_host commit SHA, which is duplicated across several pipelines/templates in this PR. Consider making the SHA a single shared value (variable/parameter) to avoid partial updates when bumping.
| - repository: ff_pipeline_host | ||
| type: git | ||
| name: ff_pipeline_host | ||
| ref: '11f135dcc8dfa42519157bb460fdcb345c19a477' |
There was a problem hiding this comment.
Nit: the pinned ff_pipeline_host commit SHA is duplicated across multiple pipeline YAMLs. If possible, centralize it so bumps are atomic and don’t risk leaving one pipeline on an older SHA.
| type: git | ||
| # Specify internal project, since this pipeline runs in both the public and internal projects | ||
| name: internal/ff_pipeline_host | ||
| ref: '11f135dcc8dfa42519157bb460fdcb345c19a477' |
There was a problem hiding this comment.
Nit: this introduces another hard-coded copy of the pinned ff_pipeline_host SHA. Since the same SHA is also hard-coded in multiple pipeline YAMLs, consider making this template (or another single shared definition) the source of truth for the ref to prevent drift on future bumps.
| type: git | ||
| # Specify internal project, since this pipeline runs in both the public and internal projects | ||
| name: internal/ff_pipeline_host | ||
| ref: '11f135dcc8dfa42519157bb460fdcb345c19a477' |
There was a problem hiding this comment.
Nit: the ff_pipeline_host ref is pinned via a literal commit SHA here, and the same value is duplicated in other pipelines/templates. If feasible, centralize the pinned ref into a single shared value to reduce the chance of inconsistent updates when bumping.
There was a problem hiding this comment.
While we might want a way for specific pipelines to override this, having them default to a centralized value seems like a good idea.
There was a problem hiding this comment.
Done in d735646. Both extends templates (build-npm-package.yml and build-npm-client-package.yml) now expose a ff_pipeline_host_ref parameter with the pinned SHA as the default. Pipelines extending these templates can pass a different value to override. For the standalone test pipelines (which don't use these extends templates), I added comments pointing to build-npm-package.yml as the canonical source for the ref value.
| - repository: ff_pipeline_host | ||
| type: git | ||
| name: ff_pipeline_host | ||
| ref: '11f135dcc8dfa42519157bb460fdcb345c19a477' |
There was a problem hiding this comment.
Nit: the ff_pipeline_host commit SHA is hard-coded here and repeated across multiple pipeline YAMLs in this PR. That duplication makes future bumps easy to apply inconsistently; if possible, centralize the pinned ref (e.g., a shared template parameter/variable) so updating it is a single change.
There was a problem hiding this comment.
Need to double-check if doing deduplication here impacts ADO's ability to configure alternative refs at pipeline queue time. We don't want to break that.
…alue Agent-Logs-Url: https://github.com/microsoft/FluidFramework/sessions/11520601-6f7d-4623-a6dd-111319be3c7a Co-authored-by: ChumpChief <4276348+ChumpChief@users.noreply.github.com>
Description
After some recent discussions, we'd like to make the process of bumping ff_pipeline_host versions a bit more explicit by pinning the active version in
main. This should make it easier to root cause problematic changes in the e2e tests, as OCEs don't need to leaf through multiple repository's git histories.The commit chosen here is latest main.