Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ jobs:
name: Build on ${{ matrix.displayName }}
runs-on: ${{ matrix.os }}
timeout-minutes: 20
env:
INSTALL_RUN_RUSH_LOCKFILE_PATH: ${{ github.workspace }}/common/config/validation/rush-package-lock.json
steps:
- uses: actions/checkout@v4
with:
Expand Down
25 changes: 14 additions & 11 deletions common/config/azure-pipelines/bump-versions.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -81,23 +81,26 @@ extends:

- template: /common/config/azure-pipelines/templates/install-node.yaml@self

- script: node common/scripts/install-run-rush.js install
displayName: 'Rush Install'
workingDirectory: $(SelfRepoPath)
- template: /common/config/azure-pipelines/templates/install-run-rush.yaml@self
parameters:
Arguments: 'install'
DisplayName: 'Rush Install'
RepoPath: $(SelfRepoPath)

- template: /common/config/azure-pipelines/templates/bump-versions.yaml@self
parameters:
VersionPolicyName: spfx
RepoPath: $(SelfRepoPath)

- script: >
node common/scripts/install-run-rush.js
test-and-package-solution
--production
--timeline
--verbose
displayName: 'Rush Rebuild'
workingDirectory: $(SelfRepoPath)
- template: /common/config/azure-pipelines/templates/install-run-rush.yaml@self
parameters:
Arguments: >
test-and-package-solution
--production
--timeline
--verbose
DisplayName: 'Rush Rebuild'
RepoPath: $(SelfRepoPath)

- template: /common/config/azure-pipelines/templates/pack.yaml@self
parameters:
Expand Down
14 changes: 8 additions & 6 deletions common/config/azure-pipelines/templates/bump-versions.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,11 @@ parameters:
default: '$(Build.SourcesDirectory)'

steps:
- script: >
node common/scripts/install-run-rush.js version
--bump
--version-policy ${{ parameters.VersionPolicyName }}
displayName: 'Rush Version Bump (Policy: ${{ parameters.VersionPolicyName }})'
workingDirectory: ${{ parameters.RepoPath }}
- template: /common/config/azure-pipelines/templates/install-run-rush.yaml@self
parameters:
Arguments: >
version
--bump
--version-policy ${{ parameters.VersionPolicyName }}
DisplayName: 'Rush Version Bump (Policy: ${{ parameters.VersionPolicyName }})'
RepoPath: ${{ parameters.RepoPath }}
23 changes: 23 additions & 0 deletions common/config/azure-pipelines/templates/install-run-rush.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Template: Run install-run-rush.js with INSTALL_RUN_RUSH_LOCKFILE_PATH set.
# This pins the Rush version used in CI to the one recorded in rush-package-lock.json.
Comment on lines +1 to +2

Copilot AI Mar 23, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PR description says INSTALL_RUN_RUSH_LOCKFILE_PATH is set on every install-run-rush.js invocation in CI, but there are still CI templates invoking node common/scripts/install-run-rush.js ... directly (e.g. common/config/azure-pipelines/templates/record-versions.yaml for the Rushstack checkout). Either update those remaining steps to set the env var (potentially requiring this wrapper to accept a lockfile path) or adjust the PR description to match the actual scope.

Copilot uses AI. Check for mistakes.

parameters:
- name: Arguments
type: string
- name: DisplayName
type: string
- name: Condition
type: string
default: ''
- name: RepoPath
type: string
default: '$(Build.SourcesDirectory)'

steps:
- script: 'node common/scripts/install-run-rush.js ${{ parameters.Arguments }}'
displayName: '${{ parameters.DisplayName }}'
workingDirectory: ${{ parameters.RepoPath }}
${{ if ne(parameters.Condition, '') }}:
condition: ${{ parameters.Condition }}
env:
INSTALL_RUN_RUSH_LOCKFILE_PATH: $(Build.SourcesDirectory)/common/config/validation/rush-package-lock.json
18 changes: 10 additions & 8 deletions common/config/azure-pipelines/templates/pack.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,13 @@ parameters:
default: '$(Build.SourcesDirectory)'

steps:
- script: >
node common/scripts/install-run-rush.js publish
--publish
--pack
--include-all
--release-folder $(Build.ArtifactStagingDirectory)/packages
displayName: 'Rush Pack'
workingDirectory: ${{ parameters.RepoPath }}
- template: /common/config/azure-pipelines/templates/install-run-rush.yaml@self
parameters:
Arguments: >
publish
--publish
--pack
--include-all
--release-folder $(Build.ArtifactStagingDirectory)/packages
DisplayName: 'Rush Pack'
RepoPath: ${{ parameters.RepoPath }}
Loading
Loading