forked from JetBrains/qodana-action
-
Notifications
You must be signed in to change notification settings - Fork 0
152 lines (149 loc) · 4.48 KB
/
node.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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
name: 'node'
on:
workflow_dispatch:
pull_request:
paths-ignore:
- 'orb/**'
- 'gradle/**'
- 'src/**'
- 'build.gradle.kts'
- 'settings.gradle.kts'
- 'gradle.properties'
- 'gradlew'
- 'gradlew.bat'
- '.github/workflows/gradle.yml'
push:
branches:
- main
- 'releases/*'
paths-ignore:
- 'orb/**'
- 'gradle/**'
- 'src/**'
- 'build.gradle.kts'
- 'settings.gradle.kts'
- 'gradle.properties'
- 'gradlew'
- 'gradlew.bat'
- '.github/workflows/gradle.yml'
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set Node.js 16.x
uses: actions/setup-node@v4.0.0
with:
node-version: 16.x
- name: Install dependencies
run: npm ci && npm run build
- name: Rebuild scan/dist/
run: cd scan && npm run package
- name: Compare the expected and actual dist/ directories
run: |
if [ "$(git diff --ignore-space-at-eol scan/dist/ | wc -l)" -gt "0" ]; then
echo "Detected uncommitted changes after build. See status below:"
git diff
git config user.name github-actions
git config user.email github-actions@github.com
git add .
git commit -m ":bricks: Update \`scan/dist/index.js\`"
git push
exit 1
fi
id: diffscan
# If index.js was different from expected, upload the expected version as an artifact
- uses: actions/upload-artifact@v3
if: ${{ failure() && steps.diffscan.conclusion == 'failure' }}
with:
name: dist
path: scan/dist/
- name: Rebuild vsts/QodanaScan/
run: cd vsts && npm run package
- name: Compare the expected and actual QodanaScan/ directories
run: |
if [ "$(git diff --ignore-space-at-eol vsts/QodanaScan/ | wc -l)" -gt
"0" ]; then
echo "Detected uncommitted changes after build. See status below:"
git diff
git config user.name github-actions
git config user.email github-actions@github.com
git add .
git commit -m ":bricks: Update \`vsts/QodanaScan/index.js\`"
git push
exit 1
fi
id: diffvsts
- uses: actions/upload-artifact@v3
if: ${{ failure() && steps.diffvsts.conclusion == 'failure' }}
with:
name: dist
path: vsts/QodanaScan/
- name: Lint the code
run: npm run lint
build:
runs-on: '${{ matrix.os }}'
strategy:
matrix:
os:
- macos-latest
- ubuntu-latest
- windows-latest
needs: [ lint ]
steps:
- uses: actions/checkout@v4
- run: npm ci && npm run build
test-native:
runs-on: '${{ matrix.os }}'
strategy:
matrix:
os:
# - macos-latest
- ubuntu-latest
- windows-latest
needs: [ lint ]
steps:
- uses: actions/checkout@v4
- uses: ./
with:
args: --ide,QDNET
pr-mode: false
post-pr-comment: false
use-annotations: false
env:
QODANA_LICENSE_ONLY_TOKEN: ${{ secrets.QODANA_TOKEN }}
azure-dev-release:
runs-on: ubuntu-latest
needs: [ lint, build ]
steps:
- uses: actions/checkout@v4
- uses: dorny/paths-filter@v2
id: filter
with:
filters: |
azure-dev:
- "vsts/vss-extension.dev.json"
- name: Set Node.js 12.x
if: steps.filter.outputs.azure-dev == 'true'
uses: actions/setup-node@v4.0.0
with:
node-version: 12.x
- name: Install dependencies
if: steps.filter.outputs.azure-dev == 'true'
run: cd vsts && npm install && cd QodanaScan && npm install && npm i -g tfx-cli
- name: Package and publish
id: publisher-run
if: steps.filter.outputs.azure-dev == 'true'
continue-on-error: true
run: |
cd vsts && npm run azure-dev
mv JetBrains.qodana-dev-*.vsix qodana-dev.vsix
tfx extension publish --publisher JetBrains --vsix qodana-dev.vsix --share-with qodana-demo -t $AZURE_TOKEN
env:
AZURE_TOKEN: ${{ secrets.AZURE_TOKEN }}
- name: Upload vsix
if: steps.filter.outputs.azure-dev == 'true'
uses: actions/upload-artifact@v3
with:
name: qodana-dev.vsix
path: vsts/qodana-dev.vsix