-
Notifications
You must be signed in to change notification settings - Fork 7
66 lines (61 loc) · 1.73 KB
/
release.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
name: KX VS Code Release Workflow
on:
push:
branches:
- dev
- main
env:
NODE_ENV: production
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout source code
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Install Node.js
uses: actions/setup-node@v3
with:
node-version: 16.x
- name: Install dependencies
run: npm ci --include=dev
- name: Build VSIX file
run: npm run build
- name: Run Tests
run: xvfb-run -a npm run coverage
- name: Packaging
run: npm run package
- name: Upload artifact
uses: actions/upload-artifact@v3
with:
name: KDB-VSCode-Extension
path: ./kdb-*vsix
retention_days: 1
- name: Upload lcov result for app-sec job
uses: actions/upload-artifact@v3
with:
name: lcov
path: coverage-reports/lcov.info
retention-days: 1
app-sec:
needs: build
uses: ./.github/workflows/app-sec-template.yml
with:
github_ref: ${{ github.ref_name }}
secrets: inherit
release:
runs-on: ubuntu-latest
needs: app-sec
steps:
- name: Download VSIX file from build job
uses: actions/download-artifact@v3
with:
name: KDB-VSCode-Extension
- name: Release to Portal
run: |
NOW=$(date +'%Y%m%dT%H%M%S')
curl -L -s --fail-with-body -D /dev/stderr --oauth2-bearer ${{ secrets.kx_downloads_token_prod }} \
-H 'content-type: application/octet-stream' \
--upload-file ./kdb-*.vsix \
https://portal.dl.kx.com/assets/raw/kdb-vscode/${{ github.ref_name }}/kdb-${{ github.ref_name }}.$NOW.vsix