@@ -36,6 +36,16 @@ parameters:
3636 type : boolean
3737 default : true
3838
39+ - name : enableRustBuild
40+ displayName : Enable standalone Rust Debug/Release build steps
41+ type : boolean
42+ default : true
43+
44+ - name : enableClippy
45+ displayName : Enable Rust Clippy lint step
46+ type : boolean
47+ default : true
48+
3949steps :
4050- template : generate-sql-password-template.yml
4151 parameters :
@@ -44,22 +54,23 @@ steps:
4454- script : cargo fetch
4555 displayName : Fetch Crates
4656
47- - script : |
48- cargo build --frozen 2>&1
49- displayName : Rust Debug Build
50- condition : and(succeeded(), or(eq('${{parameters.buildType}}', 'Debug'), eq('${{parameters.buildType}}', 'Both')), eq(variables['Build.Reason'], 'PullRequest'))
57+ - ${{ if eq(parameters.enableRustBuild, true) }} :
58+ - script : |
59+ cargo build --frozen 2>&1
60+ displayName: Rust Debug Build
61+ condition: and(succeeded(), or(eq('${{parameters.buildType}}', 'Debug'), eq('${{parameters.buildType}}', 'Both')), eq(variables['Build.Reason'], 'PullRequest'))
5162
52- - script : |
53- cargo build --frozen --release 2>&1
54- displayName : Rust Release Build
55- condition : and(succeeded(), or(eq('${{parameters.buildType}}', 'Release'), eq('${{parameters.buildType}}', 'Both')), eq(variables['Build.Reason'], 'PullRequest'))
63+ - script : |
64+ cargo build --frozen --release 2>&1
65+ displayName: Rust Release Build
66+ condition: and(succeeded(), or(eq('${{parameters.buildType}}', 'Release'), eq('${{parameters.buildType}}', 'Both')), eq(variables['Build.Reason'], 'PullRequest'))
5667
57- - ${{ if eq(parameters.osType, 'Windows') }} :
68+ - ${{ if and( eq(parameters.enableClippy, true), eq(parameters. osType, 'Windows') ) }} :
5869 - pwsh : ./scripts/bclippy.ps1
5970 displayName : Rust Clippy Lint (workspace + mssql-py-core)
6071 condition : and(succeeded(), or(eq('${{parameters.buildType}}', 'Release'), eq('${{parameters.buildType}}', 'Both')), eq(variables['Build.Reason'], 'PullRequest'))
6172
62- - ${{ if ne(parameters.osType, 'Windows') }} :
73+ - ${{ if and(eq(parameters.enableClippy, true), ne(parameters.osType, 'Windows') ) }} :
6374 - script : ./scripts/bclippy.sh
6475 displayName : Rust Clippy Lint (workspace + mssql-py-core)
6576 condition : and(succeeded(), or(eq('${{parameters.buildType}}', 'Release'), eq('${{parameters.buildType}}', 'Both')), eq(variables['Build.Reason'], 'PullRequest'))
@@ -164,25 +175,26 @@ steps:
164175 summaryFileLocation : " $(Build.SourcesDirectory)/target/lcov.info"
165176 pathToSources : " $(Build.SourcesDirectory)"
166177
167- - task : CopyFiles@2
168- displayName : Copy Rust Debug Build
169- condition : and(succeeded(), eq(variables['Build.Reason'], 'PullRequest'), or(eq('${{parameters.buildType}}', 'Debug'), eq('${{parameters.buildType}}', 'Both')))
170- inputs :
171- SourceFolder : ' $(CARGO_TARGET_DIR)/debug'
172- Contents : |
173- *
174- !.cargo-lock
175- TargetFolder : ' $(Build.ArtifactStagingDirectory)/debug'
176-
177- - task : CopyFiles@2
178- displayName : Copy Rust Release Build
179- condition : and(succeeded(), eq(variables['Build.Reason'], 'PullRequest'), or( eq('${{parameters.buildType}}', 'Release'), eq('${{parameters.buildType}}', 'Both')))
180- inputs :
181- SourceFolder : ' $(CARGO_TARGET_DIR)/release'
182- Contents : |
183- *
184- !.cargo-lock
185- TargetFolder : ' $(Build.ArtifactStagingDirectory)/release'
178+ - ${{ if eq(parameters.enableRustBuild, true) }} :
179+ - task : CopyFiles@2
180+ displayName : Copy Rust Debug Build
181+ condition : and(succeeded(), eq(variables['Build.Reason'], 'PullRequest'), or(eq('${{parameters.buildType}}', 'Debug'), eq('${{parameters.buildType}}', 'Both')))
182+ inputs :
183+ SourceFolder : ' $(CARGO_TARGET_DIR)/debug'
184+ Contents : |
185+ *
186+ !.cargo-lock
187+ TargetFolder : ' $(Build.ArtifactStagingDirectory)/debug'
188+
189+ - task : CopyFiles@2
190+ displayName : Copy Rust Release Build
191+ condition : and(succeeded(), eq(variables['Build.Reason'], 'PullRequest'), or( eq('${{parameters.buildType}}', 'Release'), eq('${{parameters.buildType}}', 'Both')))
192+ inputs :
193+ SourceFolder : ' $(CARGO_TARGET_DIR)/release'
194+ Contents : |
195+ *
196+ !.cargo-lock
197+ TargetFolder : ' $(Build.ArtifactStagingDirectory)/release'
186198
187199- ${{ if eq(parameters.enableJsBuild, true) }} :
188200 - bash : |
0 commit comments