Skip to content

Commit 63b7515

Browse files
committed
Merged PR 474704: Merge prerelease CI changes into main branch
2 parents 5fc67bb + 8eb75ef commit 63b7515

File tree

7 files changed

+48
-7
lines changed

7 files changed

+48
-7
lines changed

.vscodeignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ azure-pipelines
2424

2525
.editorconfig
2626
.gitignore
27+
CODEOWNERS
2728
gulpfile.ts
2829
!install.Lock
2930
ISSUE_TEMPLATE
@@ -35,6 +36,7 @@ package-lock.json
3536
package.json
3637
tsconfig.json
3738
tslint.json
39+
version.json
3840
wallaby.js
3941
webpack.config.js
4042

azure-pipelines.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,17 @@ trigger:
33
branches:
44
include:
55
- feature/*
6+
- prerelease
7+
- release
68

79
pr:
810
- feature/*
11+
- prerelease
12+
- release
13+
14+
variables:
15+
- name: prereleaseFlag
16+
value: '--prerelease'
917

1018
stages:
1119
- stage: Build
@@ -14,6 +22,8 @@ stages:
1422
- job: Build
1523
steps:
1624
- template: azure-pipelines/build.yml
25+
parameters:
26+
prereleaseFlag: $(prereleaseFlag)
1727

1828
- stage: Test
1929
displayName: Test

azure-pipelines/build.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
parameters:
2+
- name: prereleaseFlag
3+
type: string
4+
15
steps:
26
- checkout: self
37
clean: true
@@ -7,7 +11,7 @@ steps:
711

812
- template: prereqs.yml
913

10-
- script: gulp 'vsix:release:package'
14+
- script: gulp 'vsix:release:package' ${{ parameters.prereleaseFlag }}
1115
displayName: 'Build VSIXs'
1216

1317
- task: PublishPipelineArtifact@1

azure-pipelines/prereqs.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,13 @@ steps:
88
inputs:
99
versionSpec: '16.x'
1010

11+
- task: UseDotNet@2
12+
13+
# Set the CI build number to the VSIX version we're creating from this build.
14+
- script: |
15+
dotnet tool install --tool-path $(Agent.BuildDirectory) nbgv
16+
$(Agent.BuildDirectory)/nbgv cloud
17+
1118
- script: |
1219
npm ci
1320
npm i -g gulp

tasks/offlinePackagingTasks.ts

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,11 @@ async function doPackageOffline() {
158158
console.log(versionInfo.npmPackageVersion);
159159
await nbgv.setPackageVersion();
160160

161+
let prerelease = false;
162+
if (argv.prerelease) {
163+
prerelease = true;
164+
}
165+
161166
try {
162167
// Now that we've updated the version, get the package.json.
163168
const packageJSON = getPackageJSON();
@@ -169,7 +174,7 @@ async function doPackageOffline() {
169174
continue;
170175
}
171176

172-
await buildVsix(packageJSON, packedVsixOutputRoot, p.vsceTarget, p.platformInfo);
177+
await buildVsix(packageJSON, packedVsixOutputRoot, prerelease, p.vsceTarget, p.platformInfo);
173178
}
174179
catch (err) {
175180
const message = (err instanceof Error ? err.stack : err) ?? '<unknown error>';
@@ -180,7 +185,7 @@ async function doPackageOffline() {
180185
}
181186

182187
// Also output the platform neutral VSIX using the platform neutral server bits we created before.
183-
await buildVsix(packageJSON, packedVsixOutputRoot);
188+
await buildVsix(packageJSON, packedVsixOutputRoot, prerelease);
184189
}
185190
finally {
186191
// Reset package version to the placeholder value.
@@ -196,7 +201,7 @@ async function cleanAsync(deleteVsix: boolean) {
196201
}
197202
}
198203

199-
async function buildVsix(packageJSON: any, outputFolder: string, vsceTarget?: string, platformInfo?: PlatformInformation) {
204+
async function buildVsix(packageJSON: any, outputFolder: string, prerelease: boolean, vsceTarget?: string, platformInfo?: PlatformInformation) {
200205
await cleanAsync(false);
201206

202207
await installRoslyn(packageJSON, platformInfo);
@@ -207,7 +212,7 @@ async function buildVsix(packageJSON: any, outputFolder: string, vsceTarget?: st
207212
}
208213

209214
const packageFileName = getPackageName(packageJSON, vsceTarget);
210-
await createPackageAsync(outputFolder, packageFileName, vsceTarget);
215+
await createPackageAsync(outputFolder, prerelease, packageFileName, vsceTarget);
211216
}
212217

213218
function getPackageName(packageJSON: any, vscodePlatformId?: string) {

tasks/vsceTasks.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import spawnNode from '../tasks/spawnNode';
1010
import { vscePath } from './projectPaths';
1111

1212
/// Packaging (VSIX) Tasks
13-
export async function createPackageAsync(outputFolder: string, packageName?: string, vscodePlatformId?: string) {
13+
export async function createPackageAsync(outputFolder: string, prerelease: boolean, packageName?: string, vscodePlatformId?: string) {
1414

1515
let vsceArgs = [];
1616
let packagePath = undefined;
@@ -44,6 +44,10 @@ export async function createPackageAsync(outputFolder: string, packageName?: str
4444
vsceArgs.push(vscodePlatformId);
4545
}
4646

47+
if (prerelease) {
48+
vsceArgs.push("--pre-release");
49+
}
50+
4751
vsceArgs.push('--baseContentUrl', 'https://devdiv.visualstudio.com/DevDiv/_git/vscode-csharp-next?path=/');
4852

4953
const spawnResult = await spawnNode(vsceArgs);

version.json

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,12 @@
11
{
2-
"version": "2.0-beta"
2+
"$schema": "https://raw.githubusercontent.com/dotnet/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json",
3+
"version": "2.0-beta",
4+
"publicReleaseRefSpec": [
5+
"^refs/heads/release$"
6+
],
7+
"cloudBuild": {
8+
"buildNumber": {
9+
"enabled": false
10+
}
11+
}
312
}

0 commit comments

Comments
 (0)