forked from DevExpress/DevExtreme
-
Notifications
You must be signed in to change notification settings - Fork 0
135 lines (107 loc) · 3.79 KB
/
devextreme_npm_tests.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
name: DevExtreme package tests
concurrency:
group: wf-${{github.event.pull_request.number || github.sha}}-${{github.workflow}}
cancel-in-progress: true
on:
pull_request:
push:
branches: [24_1]
env:
NX_CLOUD_ACCESS_TOKEN: ${{ secrets.NX_TOKEN }}
NX_SKIP_NX_CACHE: ${{ (github.event_name != 'pull_request' || contains( github.event.pull_request.labels.*.name, 'skip-cache')) && 'true' || 'false' }}
jobs:
build:
runs-on: devextreme-shr2
steps:
- name: Get sources
uses: actions/checkout@v4
- name: Use Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Restore npm cache
uses: actions/cache@v4
with:
path: '**/node_modules'
key: ${{ runner.os }}-node-modules-${{ hashFiles('**/package-lock.json') }}
restore-keys: ${{ runner.os }}-node-modules
- name: Install packages in devextreme repo
run: npm install --no-audit --no-fund
- name: Build devextreme repo
run: npx nx build devextreme-main
- name: Pack devextreme package
working-directory: ./packages/devextreme/artifacts/npm/devextreme
run: npm pack
- name: Pack devextreme-dist package
working-directory: ./packages/devextreme/artifacts/npm/devextreme-dist
run: npm pack
- name: Copy packages
run: |
cp ./packages/devextreme/artifacts/npm/devextreme/*.tgz ./devextreme-installer.tgz
cp ./packages/devextreme/artifacts/npm/devextreme-dist/*.tgz ./devextreme-dist-installer.tgz
- name: Copy build artifacts
uses: actions/upload-artifact@v3
with:
name: devextreme-npm
path: |
devextreme-installer.tgz
devextreme-dist-installer.tgz
retention-days: 1
test_bundlers:
name: Bundlers tests
needs: build
runs-on: devextreme-shr2
timeout-minutes: 60
steps:
- name: Get sources
uses: actions/checkout@v4
- name: Use Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Download artifacts
uses: actions/download-artifact@v3
with:
name: devextreme-npm
path: ./packages/devextreme/testing/bundlers
- name: Install bundlers
working-directory: ./packages/devextreme/testing/bundlers
run: npm install --no-audit --no-fund
- name: Install DevExtreme package
working-directory: ./packages/devextreme/testing/bundlers
run: npm install --save-dev devextreme-installer.tgz
- name: Generate entry files
working-directory: ./packages/devextreme/testing/bundlers
run: npm run generate-entry-files
- name: Build webpack cjs
working-directory: ./packages/devextreme/testing/bundlers
run: npm run build:webpack-cjs
- name: Build browserify cjs
working-directory: ./packages/devextreme/testing/bundlers
run: npm run build:browserify-cjs
- name: Build webpack
working-directory: ./packages/devextreme/testing/bundlers
run: npm run build:webpack
- name: Build rollup
working-directory: ./packages/devextreme/testing/bundlers
run: npm run build:rollup
- name: Build parcel
working-directory: ./packages/devextreme/testing/bundlers
run: npm run build:parcel
- name: Build vite
working-directory: ./packages/devextreme/testing/bundlers
run: npm run build:vite
notify:
runs-on: devextreme-shr2
name: Send notifications
needs:
- build
- test_bundlers
if: github.event_name != 'pull_request' && contains(needs.*.result, 'failure')
steps:
- uses: actions/checkout@v4
- uses: DevExpress/github-actions/send-teams-notification@main
with:
hook_url: ${{secrets.TEAMS_ALERT}}
bearer_token: ${{secrets.GITHUB_TOKEN}}
specific_repo: DevExpress/DevExtreme