Skip to content

Commit 225df79

Browse files
authored
Add release pipeline (microsoft#3230)
1 parent f730621 commit 225df79

File tree

5 files changed

+75
-3
lines changed

5 files changed

+75
-3
lines changed

azure-pipeline.release.yml

+71
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
trigger: none
2+
pr: none
3+
4+
pool:
5+
vmImage: 'macOS-10.15'
6+
7+
stages:
8+
- stage: Package
9+
jobs:
10+
- job: compile
11+
displayName: Compile and Package
12+
steps:
13+
- template: scripts/ci/common-setup.yml
14+
15+
- script: |
16+
VSIX=$(node -p "require(\"./package.json\").name + \"-\" + require(\"./package.json\").version + \".vsix\"")
17+
echo "##vso[task.setvariable variable=VSIX]$VSIX"
18+
displayName: Set environment variable
19+
20+
- script: yarn run compile
21+
displayName: Compile
22+
23+
- script: yarn run test
24+
displayName: Run test suite
25+
env:
26+
TEST_JUNIT_XML_PATH: $(Agent.HomeDirectory)/test-results.xml
27+
28+
- script: yarn run browsertest --browserType=chromium
29+
displayName: Run test suite (chromium)
30+
env:
31+
TEST_JUNIT_XML_PATH: $(Agent.HomeDirectory)/browser-chromium-test-results.xml
32+
33+
- script: yarn run browsertest --browserType=firefox
34+
displayName: Run test suite (firefox)
35+
env:
36+
TEST_JUNIT_XML_PATH: $(Agent.HomeDirectory)/browser-firefox-test-results.xml
37+
38+
- script: yarn run browsertest --browserType=webkit
39+
displayName: Run test suite (webkit)
40+
env:
41+
TEST_JUNIT_XML_PATH: $(Agent.HomeDirectory)/browser-webkit-test-results.xml
42+
43+
- script: npx vsce package -o ./$(VSIX)
44+
displayName: Package extension
45+
46+
- publish: $(System.DefaultWorkingDirectory)/$(VSIX)
47+
artifact: extension
48+
displayName: Publish artifact
49+
50+
- stage:
51+
displayName: Publish
52+
jobs:
53+
- deployment: DeployAppService
54+
displayName: Publish
55+
environment: VSCode-Marketplace
56+
strategy:
57+
runOnce:
58+
deploy:
59+
steps:
60+
- template: scripts/ci/common-setup.yml
61+
62+
- script: |
63+
VSIX=$(node -p "require(\"./package.json\").name + \"-\" + require(\"./package.json\").version + \".vsix\"")
64+
echo "##vso[task.setvariable variable=VSIX]$VSIX"
65+
displayName: Set environment variable
66+
67+
- script: npx vsce publish p "$TOKEN" --packagePath $(Pipeline.Workspace)/extension/$(VSIX)
68+
displayName: Publish extension
69+
env:
70+
TOKEN: $(vsce.token)
71+
condition: and(succeeded(), startsWith(variables['Build.SourceBranch'], 'refs/tags/'))

scripts/ci/common-setup.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,5 @@ steps:
44
inputs:
55
versionSpec: '14.x'
66

7-
- script: yarn install
7+
- script: yarn install --frozen-lockfile
88
displayName: Install dependencies

src/extension.ts

+2
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ import { GitHubContactServiceProvider } from './gitProviders/GitHubContactServic
2727
import { GitLensIntegration } from './integrations/gitlens/gitlensImpl';
2828
import { IssueFeatureRegistrar } from './issues/issueFeatureRegistrar';
2929
import { FileTypeDecorationProvider } from './view/fileTypeDecorationProvider';
30+
import { getInMemPRFileSystemProvider } from './view/inMemPRContentProvider';
3031
import { PullRequestChangesTreeDataProvider } from './view/prChangesTreeDataProvider';
3132
import { PullRequestsTreeDataProvider } from './view/prsTreeDataProvider';
3233
import { ReviewManager, ShowPullRequest } from './view/reviewManager';
@@ -298,6 +299,7 @@ async function deferredActivate(context: vscode.ExtensionContext, apiImpl: GitAp
298299
Logger.debug('Creating tree view.', 'Activation');
299300
const prTree = new PullRequestsTreeDataProvider(telemetry);
300301
context.subscriptions.push(prTree);
302+
context.subscriptions.push(vscode.workspace.registerFileSystemProvider('pr', getInMemPRFileSystemProvider(), { isReadonly: true }));
301303

302304
Logger.appendLine('Looking for git repository');
303305

src/test/runTests.ts

+1
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ async function go() {
1818
});
1919
} catch (e) {
2020
console.log(e);
21+
process.exit(1);
2122
}
2223
}
2324

src/view/prsTreeDataProvider.ts

-2
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import { EXTENSION_ID } from '../constants';
99
import { REMOTES_SETTING, ReposManagerState, SETTINGS_NAMESPACE } from '../github/folderRepositoryManager';
1010
import { RepositoriesManager } from '../github/repositoriesManager';
1111
import { FileViewedDecorationProvider } from './fileViewedDecorationProvider';
12-
import { getInMemPRFileSystemProvider } from './inMemPRContentProvider';
1312
import { DecorationProvider } from './treeDecorationProvider';
1413
import { CategoryTreeNode, PRCategoryActionNode, PRCategoryActionType } from './treeNodes/categoryNode';
1514
import { InMemFileChangeNode } from './treeNodes/fileChangeNode';
@@ -35,7 +34,6 @@ export class PullRequestsTreeDataProvider implements vscode.TreeDataProvider<Tre
3534

3635
constructor(private _telemetry: ITelemetry) {
3736
this._disposables = [];
38-
this._disposables.push(vscode.workspace.registerFileSystemProvider('pr', getInMemPRFileSystemProvider(), { isReadonly: true }));
3937
this._disposables.push(vscode.window.registerFileDecorationProvider(DecorationProvider));
4038
this._disposables.push(vscode.window.registerFileDecorationProvider(FileViewedDecorationProvider));
4139
this._disposables.push(

0 commit comments

Comments
 (0)