Skip to content

Commit eb70601

Browse files
committed
Merged PR 474688: Add prerelease branch to CI and packaging
Add prerelease branch to CI and packaging
2 parents 5fc67bb + e60148b commit eb70601

File tree

4 files changed

+29
-6
lines changed

4 files changed

+29
-6
lines changed

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

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);

0 commit comments

Comments
 (0)