-
Notifications
You must be signed in to change notification settings - Fork 1
146 lines (114 loc) · 3.29 KB
/
main.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
name: 'Main'
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
# This allows a subsequently queued workflow run to interrupt previous runs
concurrency:
group: '${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}'
cancel-in-progress: true
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: install tree
run: sudo apt update && sudo apt install tree -y
- uses: actions/checkout@v3
- uses: oNaiPs/secrets-to-env-action@v1
with:
secrets: ${{ toJSON(secrets) }}
- name: Set up JDK 17
uses: actions/setup-java@v3
with:
java-version: '19'
distribution: 'temurin'
- uses: gradle/gradle-build-action@v2
with:
gradle-version: 8.0.2
- name: Build with Gradle
run: ./gradlew --build-cache clean buildPlugin
- name: upload build artifacts
uses: actions/upload-artifact@v3
with:
name: build
path: |
build/*
!build/tmp
!build/idea-sandbox
!build/searchableOptions
tests:
runs-on: ubuntu-latest
needs:
- build
steps:
- name: install tree
run: sudo apt update && sudo apt install tree -y
- uses: actions/checkout@v3
- uses: oNaiPs/secrets-to-env-action@v1
with:
secrets: ${{ toJSON(secrets) }}
- name: Download build artifact
uses: actions/download-artifact@v3
- name: Set up JDK 17
uses: actions/setup-java@v3
with:
java-version: '19'
distribution: 'temurin'
- name: build twig cache
run: ./build_twig_cache.sh
- uses: gradle/gradle-build-action@v2
with:
gradle-version: 8.10.2
- name: Run tests
run: ./gradlew test
style-lint:
runs-on: ubuntu-latest
needs:
- build
steps:
- name: install tree
run: sudo apt update && sudo apt install tree -y
- uses: actions/checkout@v3
- uses: oNaiPs/secrets-to-env-action@v1
with:
secrets: ${{ toJSON(secrets) }}
- name: Download build artifact
uses: actions/download-artifact@v3
- name: Set up JDK 17
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'temurin'
- uses: gradle/gradle-build-action@v2
with:
gradle-version: 8.10.2
- name: run linter
run: ./gradlew check
if: always()
- name: run lint plugin xml
run: ./gradlew verifyPlugin
if: always()
verify-plugin-build:
runs-on: ubuntu-latest
needs:
- build
steps:
- name: install tree
run: sudo apt update && sudo apt install tree -y
- uses: actions/checkout@v3
- uses: oNaiPs/secrets-to-env-action@v1
with:
secrets: ${{ toJSON(secrets) }}
- name: Download build artifact
uses: actions/download-artifact@v3
- name: Set up JDK 17
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'temurin'
- uses: gradle/gradle-build-action@v2
with:
gradle-version: 8.10.2
- name: run PluginVerifier
run: ./gradlew verifyPlugin