forked from getgauge/gauge-java
-
Notifications
You must be signed in to change notification settings - Fork 0
167 lines (140 loc) · 4 KB
/
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
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
name: tests
on:
push:
branches:
- master
pull_request:
branches:
- master
jobs:
test:
name: UT ${{ matrix.java_version }} + ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, windows-latest]
java_version: ['11', '17']
steps:
- uses: actions/checkout@v4
- name: Setup java
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: ${{ matrix.java_version }}
- name: Run test
run: |
java -version
mvn -q clean test
functional_tests:
name: FTs - java 17 ${{ matrix.os }}
runs-on: ${{ matrix.os }}
needs: test
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-file: 'go.mod'
- 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 Gauge Java plugin from source
run: |
go run build/make.go
go run build/make.go --install
- name: Install Gauge Java maven package locally
run: |
mvn -q install -DskipTests -"Dgpg.skip" -D"maven.javadoc.skip=true"
- name: Clone gauge-tests
run: |
git clone --depth=1 https://github.com/getgauge/gauge-tests
- name: Run FTs
run: |
cd gauge-tests
./gradlew clean javaFT
shell: bash
- name: Log
if: failure()
run: |
cat logs/gauge.log
- uses: actions/upload-artifact@v4
if: failure()
with:
name: ft-logs-${{ matrix.os }}-${{ matrix.java_version }}
path: gauge-tests/testLogs
lsp-tests:
name: LSP tests - java 17 ${{ matrix.os }}
runs-on: ${{ matrix.os }}
needs: test
strategy:
matrix:
os: [ubuntu-latest, windows-latest]
steps:
- uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v5
with:
check-latest: true
go-version-file: 'go.mod'
- 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 Gauge Java plugin from source
run: |
go run build/make.go
go run build/make.go --install
- name: Use Node.js
uses: actions/setup-node@v4
with:
node-version: 20
- name: Prep LSP tests
run: |
git clone https://github.com/getgauge/gauge-lsp-tests
cd gauge-lsp-tests
npm install
gauge install
gauge -v
- name: Run LSP tests
shell: bash
run: |
cd gauge-lsp-tests
gauge run --tags="!knownIssue & (actions_on_project_load | actions_on_file_edit)" --env=java-wd
- uses: actions/upload-artifact@v4
if: failure()
with:
name: lsp-logs-${{ matrix.os }}-${{ matrix.java_version }}
path: gauge-lsp-tests/logs
build:
name: Build artifacts
runs-on: ubuntu-latest
needs: [functional_tests, lsp-tests]
steps:
- name: Check out code into the Go module directory
uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v5
with:
check-latest: true
go-version-file: 'go.mod'
- name: Build distro for ${{ matrix.os }}
run: go run build/make.go --all-platforms && go run build/make.go --all-platforms --distro
shell: bash
- name: Upload artifacts for ${{ matrix.os }}
uses: actions/upload-artifact@v4
with:
name: gauge-java-artifacts
path: deploy/*