Skip to content

Commit b9374ed

Browse files
authored
Merge branch 'master' into testdocs
2 parents 00b352f + 7f09815 commit b9374ed

38 files changed

+1775
-851
lines changed

.github/FUNDING.yml

Lines changed: 0 additions & 9 deletions
This file was deleted.

.github/workflows/main.yml

Lines changed: 147 additions & 136 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,17 @@ on:
55
branches:
66
- master
77
paths-ignore:
8-
- 'docs/**'
9-
- '.vscode/**'
10-
- '.github/**'
11-
- '*.md'
12-
- '**/*.md'
8+
- "docs/**"
9+
- ".vscode/**"
10+
- ".github/**"
11+
- "*.md"
12+
- "**/*.md"
1313
pull_request:
1414
branches:
1515
- master
1616
release:
1717
types:
18-
- created
18+
- released
1919
jobs:
2020
build:
2121
timeout-minutes: 10
@@ -24,143 +24,154 @@ jobs:
2424
matrix:
2525
os: [ubuntu-latest, windows-latest, macOS-latest]
2626
steps:
27-
- uses: actions/checkout@v2
28-
- run: git fetch --depth=1 origin +refs/tags/*:refs/tags/*
29-
- name: Set an output
30-
id: set-version
31-
if: runner.os == 'Linux'
32-
run: |
33-
set -x
34-
VERSION=$(jq -r '.version' package.json | cut -d- -f1)
35-
[ $GITHUB_EVENT_NAME == 'release' ] && VERSION=${{ github.event.release.tag_name }} && VERSION=${VERSION/v/}
36-
CHANGELOG=$(cat CHANGELOG.md | sed -n "/## \[${VERSION}\]/,/## /p" | sed '/^$/d;1d;$d')
37-
CHANGELOG="${CHANGELOG//$'\n'/'%0A'}"
38-
echo ::set-output name=changelog::$CHANGELOG
39-
git tag -l | cat
40-
[ $GITHUB_EVENT_NAME == 'push' ] && VERSION+=-beta && VERSION+=.$(($(git tag -l "v$VERSION.*" | sort -nt. -k4 2>/dev/null | tail -1 | cut -d. -f4)+1))
41-
[ $GITHUB_EVENT_NAME == 'pull_request' ] && VERSION+=-dev.${{ github.event.pull_request.number }}
42-
echo ::set-output name=version::$VERSION
43-
NAME=$(jq -r '.name' package.json)-$VERSION
44-
echo ::set-output name=name::$NAME
45-
tmp=$(mktemp)
46-
jq --arg version "$VERSION" '.version = $version' package.json > "$tmp" && mv "$tmp" package.json
47-
mkdir dist
48-
echo $VERSION > ./dist/.version
49-
echo $NAME > ./dist/.name
50-
- name: Use Node.js
51-
uses: actions/setup-node@v1
52-
with:
53-
node-version: 12.x
54-
- run: npm install
55-
- name: lint
56-
if: runner.os == 'Linux'
57-
run: npm run lint
58-
- run: npm run compile
59-
- name: npm test
60-
uses: GabrielBB/[email protected]
61-
with:
62-
run: npm run test
63-
- name: Build package
64-
if: runner.os == 'Linux'
65-
run: |
66-
./node_modules/.bin/vsce package -o ./dist/${{ steps.set-version.outputs.name }}.vsix
67-
- uses: actions/upload-artifact@v2
68-
if: runner.os == 'Linux'
69-
with:
70-
name: vsix
71-
path: |
72-
./dist/${{ steps.set-version.outputs.name }}.vsix
73-
./dist/.name
74-
./dist/.version
27+
- uses: actions/checkout@v2
28+
- run: git fetch --depth=1 origin +refs/tags/*:refs/tags/*
29+
- name: Set an output
30+
id: set-version
31+
if: runner.os == 'Linux'
32+
run: |
33+
set -x
34+
VERSION=$(jq -r '.version' package.json | cut -d- -f1)
35+
[ $GITHUB_EVENT_NAME == 'release' ] && VERSION=${{ github.event.release.tag_name }} && VERSION=${VERSION/v/}
36+
CHANGELOG=$(cat CHANGELOG.md | sed -n "/## \[${VERSION}\]/,/## /p" | sed '/^$/d;1d;$d')
37+
CHANGELOG="${CHANGELOG//$'\n'/'%0A'}"
38+
echo ::set-output name=changelog::$CHANGELOG
39+
git tag -l | cat
40+
[ $GITHUB_EVENT_NAME == 'push' ] && VERSION+=-beta && VERSION+=.$(($(git tag -l "v$VERSION.*" | sort -nt. -k4 2>/dev/null | tail -1 | cut -d. -f4)+1))
41+
[ $GITHUB_EVENT_NAME == 'pull_request' ] && VERSION+=-dev.${{ github.event.pull_request.number }}
42+
echo ::set-output name=version::$VERSION
43+
NAME=$(jq -r '.name' package.json)-$VERSION
44+
echo ::set-output name=name::$NAME
45+
tmp=$(mktemp)
46+
jq --arg version "$VERSION" '.version = $version' package.json > "$tmp" && mv "$tmp" package.json
47+
mkdir dist
48+
echo $VERSION > .version
49+
echo $NAME > .name
50+
- name: Use Node.js
51+
uses: actions/setup-node@v1
52+
with:
53+
node-version: 12.x
54+
- run: npm install
55+
- name: lint
56+
if: runner.os == 'Linux'
57+
run: npm run lint
58+
- run: npm run compile
59+
- name: npm test
60+
uses: GabrielBB/[email protected]
61+
with:
62+
run: npm run test
63+
- name: Build package
64+
if: runner.os == 'Linux'
65+
run: |
66+
npx vsce package -o ${{ steps.set-version.outputs.name }}.vsix
67+
- uses: actions/upload-artifact@v2
68+
if: runner.os == 'Linux'
69+
with:
70+
name: ${{ steps.set-version.outputs.name }}.vsix
71+
path: ${{ steps.set-version.outputs.name }}.vsix
72+
- uses: actions/upload-artifact@v2
73+
if: runner.os == 'Linux'
74+
with:
75+
name: meta
76+
path: |
77+
.name
78+
.version
7579
beta:
7680
if: (github.event_name == 'push')
7781
runs-on: ubuntu-latest
7882
needs: build
7983
steps:
80-
- uses: actions/download-artifact@v2
81-
with:
82-
name: vsix
83-
path: ./dist/
84-
- name: Set an output
85-
id: set-version
86-
if: runner.os == 'Linux'
87-
run: |
88-
set -x
89-
echo ::set-output name=version::`cat ./dist/.version`
90-
echo ::set-output name=name::`cat ./dist/.name`
91-
- name: Create Release
92-
id: create_release
93-
uses: actions/create-release@v1
94-
if: runner.os == 'Linux'
95-
env:
96-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
97-
with:
98-
tag_name: v${{ steps.set-version.outputs.version }}
99-
release_name: v${{ steps.set-version.outputs.version }}
100-
prerelease: ${{ github.event_name != 'release' }}
101-
body: |
102-
Changes in this release
103-
${{ steps.set-version.outputs.changelog }}
104-
- name: Upload Release Asset
105-
id: upload-release-asset
106-
uses: actions/upload-release-asset@v1
107-
if: runner.os == 'Linux'
108-
env:
109-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
110-
with:
111-
upload_url: ${{ steps.create_release.outputs.upload_url }}
112-
asset_path: ./dist/${{ steps.set-version.outputs.name }}.vsix
113-
asset_name: ${{ steps.set-version.outputs.name }}.vsix
114-
asset_content_type: application/zip
84+
- uses: actions/download-artifact@v2
85+
with:
86+
name: meta
87+
path: .
88+
- name: Set an output
89+
id: set-version
90+
if: runner.os == 'Linux'
91+
run: |
92+
set -x
93+
echo ::set-output name=version::`cat .version`
94+
echo ::set-output name=name::`cat .name`
95+
- uses: actions/download-artifact@v2
96+
with:
97+
name: ${{ steps.set-version.outputs.name }}.vsix
98+
- name: Create Release
99+
id: create_release
100+
uses: actions/create-release@v1
101+
if: runner.os == 'Linux'
102+
env:
103+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
104+
with:
105+
tag_name: v${{ steps.set-version.outputs.version }}
106+
release_name: v${{ steps.set-version.outputs.version }}
107+
prerelease: ${{ github.event_name != 'release' }}
108+
body: |
109+
Changes in this release
110+
${{ steps.set-version.outputs.changelog }}
111+
- name: Upload Release Asset
112+
id: upload-release-asset
113+
uses: actions/upload-release-asset@v1
114+
if: runner.os == 'Linux'
115+
env:
116+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
117+
with:
118+
upload_url: ${{ steps.create_release.outputs.upload_url }}
119+
asset_path: ${{ steps.set-version.outputs.name }}.vsix
120+
asset_name: ${{ steps.set-version.outputs.name }}.vsix
121+
asset_content_type: application/zip
115122
publish:
116123
if: github.event_name == 'release'
117124
runs-on: ubuntu-latest
118125
needs: build
119126
steps:
120-
- uses: actions/checkout@v2
121-
with:
122-
ref: master
123-
token: ${{ secrets.TOKEN }}
124-
- uses: actions/download-artifact@v2
125-
with:
126-
name: vsix
127-
path: ./dist/
128-
- name: Use Node.js
129-
uses: actions/setup-node@v1
130-
with:
131-
node-version: 12.x
132-
- name: Prepare build
133-
id: set-version
134-
run: |
135-
VERSION=`cat ./dist/.version`
136-
NEXT_VERSION=`cat ./dist/.version | awk -F. '/[0-9]+\./{$NF++;print}' OFS=.`
137-
echo ::set-output name=name::`cat ./dist/.name`
138-
tmp=$(mktemp)
139-
git config --global user.name 'ProjectBot'
140-
git config --global user.email '[email protected]'
141-
jq --arg version "${NEXT_VERSION}-SNAPSHOT" '.version = $version' package.json > "$tmp" && mv "$tmp" package.json
142-
git add package.json
143-
git commit -m 'auto bump version with release'
144-
jq --arg version "$VERSION" '.version = $version' package.json > "$tmp" && mv "$tmp" package.json
145-
jq '.enableProposedApi = false' package.json > "$tmp" && mv "$tmp" package.json
146-
npm install
147-
git push
148-
echo ::set-output name=ovsx::`cat ./dist/.name`
149-
- name: Upload Release Asset
150-
id: upload-release-asset
151-
uses: actions/upload-release-asset@v1
152-
if: runner.os == 'Linux'
153-
env:
154-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
155-
with:
156-
upload_url: ${{ github.event.release.upload_url }}
157-
asset_path: ./dist/${{ steps.set-version.outputs.name }}.vsix
158-
asset_name: ${{ steps.set-version.outputs.name }}.vsix
159-
asset_content_type: application/zip
160-
- name: Publish to VSCode Marketplace
161-
run: |
162-
[ -n "${{ secrets.VSCE_TOKEN }}" ] && ./node_modules/.bin/vsce publish -p ${{ secrets.VSCE_TOKEN }} || true
163-
- name: Publish to Open VSX Registry
164-
run: |
165-
[ -n "${{ secrets.OVSX_TOKEN }}" ] && ./node_modules/.bin/ovsx publish --pat ${{ secrets.OVSX_TOKEN }} || true
166-
127+
- uses: actions/checkout@v2
128+
with:
129+
ref: master
130+
token: ${{ secrets.TOKEN }}
131+
- uses: actions/download-artifact@v2
132+
with:
133+
name: meta
134+
path: .
135+
- name: Use Node.js
136+
uses: actions/setup-node@v1
137+
with:
138+
node-version: 12.x
139+
- name: Prepare build
140+
id: set-version
141+
run: |
142+
VERSION=`cat .version`
143+
NEXT_VERSION=`cat .version | awk -F. '/[0-9]+\./{$NF++;print}' OFS=.`
144+
echo ::set-output name=name::`cat .name`
145+
tmp=$(mktemp)
146+
git config --global user.name 'ProjectBot'
147+
git config --global user.email '[email protected]'
148+
jq --arg version "${NEXT_VERSION}-SNAPSHOT" '.version = $version' package.json > "$tmp" && mv "$tmp" package.json
149+
git add package.json
150+
git commit -m 'auto bump version with release'
151+
jq --arg version "$VERSION" '.version = $version' package.json > "$tmp" && mv "$tmp" package.json
152+
jq '.enableProposedApi = false' package.json > "$tmp" && mv "$tmp" package.json
153+
npm install
154+
git push
155+
echo ::set-output name=ovsx::`cat .name`
156+
- uses: actions/download-artifact@v2
157+
with:
158+
name: ${{ steps.set-version.outputs.name }}.vsix
159+
- name: Upload Release Asset
160+
id: upload-release-asset
161+
uses: actions/upload-release-asset@v1
162+
if: runner.os == 'Linux'
163+
env:
164+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
165+
with:
166+
upload_url: ${{ github.event.release.upload_url }}
167+
asset_path: ${{ steps.set-version.outputs.name }}.vsix
168+
asset_name: ${{ steps.set-version.outputs.name }}.vsix
169+
asset_content_type: application/zip
170+
- name: Publish to VSCode Marketplace
171+
run: |
172+
[ -n "${{ secrets.VSCE_TOKEN }}" ] && \
173+
npx vsce publish --packagePath ${{ steps.set-version.outputs.name }}.vsix -p ${{ secrets.VSCE_TOKEN }} || true
174+
- name: Publish to Open VSX Registry
175+
run: |
176+
[ -n "${{ secrets.OVSX_TOKEN }}" ] && \
177+
npx ovsx publish --packagePath ${{ steps.set-version.outputs.name }}.vsix --pat ${{ secrets.OVSX_TOKEN }} || true

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,4 @@ out/
66
dist/
77
*.vsix
88
vscode*.d.ts
9+
test-fixtures

.vscode/tasks.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
"tasks": [
1313
{
1414
"type": "npm",
15-
"script": "watch",
15+
"script": "webpack-dev",
1616
"presentation": {
1717
"reveal": "never"
1818
},

.vscodeignore

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,9 @@
1-
.github/**
2-
.vscode/**
3-
.vscode-test/**
4-
out/
5-
src/
6-
**/*.ts
7-
**/*.map
8-
**/*.cls
9-
.gitignore
10-
tsconfig*.json
11-
**/tslint.json
12-
**/.eslintrc.json
13-
node_modules/
14-
webpack.config.js
1+
**
2+
!dist/
3+
!snippets/
4+
!images/
5+
!syntaxes/
6+
!README.md
7+
!CHANGELOG.md
8+
!*.json
9+
!*.jsonc

0 commit comments

Comments
 (0)