-
Notifications
You must be signed in to change notification settings - Fork 39
130 lines (109 loc) · 2.77 KB
/
build.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
name: build
on:
push:
branches:
- master
pull_request:
branches:
- master
jobs:
tests:
name: Node ${{ matrix.node_version }} ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
steps:
- uses: actions/checkout@v4
- name: Set up Nodejs
uses: actions/setup-node@v4
with:
node-version: 20
- name: Setup submodule
run: |
git submodule init
git submodule update
- name: unit-tests
run: |
npm install
npm test
functional-tests:
needs: tests
name: FTs ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [windows-latest, ubuntu-latest]
steps:
- uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v5
with:
check-latest: true
go-version: '1.22'
- name: Set up Nodejs
uses: actions/setup-node@v4
with:
node-version: 20
- name: Setup java
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: '17'
- uses: getgauge/setup-gauge@master
with:
gauge-version: master
- name: Install JS
run: |
npm install
npm run installPlugin
- name: Prep FTs
run: |
git clone https://github.com/getgauge/gauge-tests
cd gauge-tests
gauge install
- name: Run FTs (linux)
if: matrix.os != 'windows-latest'
run: |
cd gauge-tests
./gradlew clean jsFT
- name: Run FTs (windows)
if: matrix.os == 'windows-latest'
run: |
cd gauge-tests
.\gradlew.bat clean jsFT
lsp-tests:
needs: tests
name: LSP Tests ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [windows-latest, ubuntu-latest]
steps:
- uses: actions/checkout@v4
- name: Use Node.js
uses: actions/setup-node@v4
with:
node-version: 20
- name: Set up Go
uses: actions/setup-go@v5
with:
check-latest: true
go-version: '1.22'
- uses: getgauge/setup-gauge@master
with:
gauge-version: master
- name: Install JS
run: |
npm install
npm run installPlugin
- name: Prep LSP tests
run: |
git clone https://github.com/getgauge/gauge-lsp-tests
cd gauge-lsp-tests
npm install
gauge install
- name: Run LSP tests
run: |
cd gauge-lsp-tests
gauge run --tags='!knownIssue & (actions_on_project_load | actions_on_file_edit)' --env=js-wd