@@ -36,26 +36,41 @@ 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 :
50+ - template : generate-sql-password-template.yml
51+ parameters :
52+ osType : ${{ parameters.osType }}
53+
4054- script : cargo fetch
4155 displayName : Fetch Crates
4256
43- - script : |
44- cargo build --frozen 2>&1
45- displayName : Rust Debug Build
46- 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'))
4762
48- - script : |
49- cargo build --frozen --release 2>&1
50- displayName : Rust Release Build
51- 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'))
5267
53- - ${{ if eq(parameters.osType, 'Windows') }} :
68+ - ${{ if and( eq(parameters.enableClippy, true), eq(parameters. osType, 'Windows') ) }} :
5469 - pwsh : ./scripts/bclippy.ps1
5570 displayName : Rust Clippy Lint (workspace + mssql-py-core)
5671 condition : and(succeeded(), or(eq('${{parameters.buildType}}', 'Release'), eq('${{parameters.buildType}}', 'Both')), eq(variables['Build.Reason'], 'PullRequest'))
5772
58- - ${{ if ne(parameters.osType, 'Windows') }} :
73+ - ${{ if and(eq(parameters.enableClippy, true), ne(parameters.osType, 'Windows') ) }} :
5974 - script : ./scripts/bclippy.sh
6075 displayName : Rust Clippy Lint (workspace + mssql-py-core)
6176 condition : and(succeeded(), or(eq('${{parameters.buildType}}', 'Release'), eq('${{parameters.buildType}}', 'Both')), eq(variables['Build.Reason'], 'PullRequest'))
@@ -160,25 +175,26 @@ steps:
160175 summaryFileLocation : " $(Build.SourcesDirectory)/target/lcov.info"
161176 pathToSources : " $(Build.SourcesDirectory)"
162177
163- - task : CopyFiles@2
164- displayName : Copy Rust Debug Build
165- condition : and(succeeded(), eq(variables['Build.Reason'], 'PullRequest'), or(eq('${{parameters.buildType}}', 'Debug'), eq('${{parameters.buildType}}', 'Both')))
166- inputs :
167- SourceFolder : ' $(CARGO_TARGET_DIR)/debug'
168- Contents : |
169- *
170- !.cargo-lock
171- TargetFolder : ' $(Build.ArtifactStagingDirectory)/debug'
172-
173- - task : CopyFiles@2
174- displayName : Copy Rust Release Build
175- condition : and(succeeded(), eq(variables['Build.Reason'], 'PullRequest'), or( eq('${{parameters.buildType}}', 'Release'), eq('${{parameters.buildType}}', 'Both')))
176- inputs :
177- SourceFolder : ' $(CARGO_TARGET_DIR)/release'
178- Contents : |
179- *
180- !.cargo-lock
181- 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'
182198
183199- ${{ if eq(parameters.enableJsBuild, true) }} :
184200 - bash : |
0 commit comments