This repository was archived by the owner on Apr 29, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
114 lines (103 loc) · 3.03 KB
/
plugin-ci.yml
File metadata and controls
114 lines (103 loc) · 3.03 KB
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
name: IntelliJ Plugin CI
on:
push:
branches:
- plugin
pull_request:
branches:
- plugin
permissions:
contents: write
packages: write
pull-requests: write
env:
JAVA_VERSION: 17
PLUGIN_NAME: AntiPatternAnalysisPlugin-0.0.1
jobs:
build:
name: Build and Test
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Java
uses: actions/setup-java@v3
with:
java-version: ${{ env.JAVA_VERSION }}
distribution: 'adopt'
- name: Setup Gradle
uses: gradle/gradle-build-action@v2
with:
gradle-version: wrapper
gradle-executable: plugin/gradlew
- name: Build with Gradle
run: |
cd plugin
./gradlew build
- name: Run Tests and Generate Coverage
run: |
cd plugin
./gradlew test koverHtmlReport
- name: Upload Coverage Report
uses: actions/upload-artifact@v3
with:
name: coverage-report
path: ./plugin/build/reports/kover/html/index.html
changelog:
name: Changelog
needs: build
if: github.event_name != 'pull_request'
runs-on: ubuntu-latest
outputs:
skipped: ${{ steps.changelog.outputs.skipped }}
tag: ${{ steps.changelog.outputs.tag }}
clean_changelog: ${{ steps.changelog.outputs.clean_changelog }}
version: ${{ steps.changelog.outputs.version }}
steps:
- uses: actions/checkout@v4
- name: Create Changelog
uses: TriPSs/conventional-changelog-action@v5
id: changelog
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
output-file: false
version-file: .github/versions/plugin-package.yaml
tag-prefix: 'plugin-v'
skip-on-empty: false
release:
name: Release
needs: changelog
if: github.event_name != 'pull_request' && needs.changelog.outputs.skipped == 'false'
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Java
uses: actions/setup-java@v3
with:
java-version: ${{ env.JAVA_VERSION }}
distribution: 'adopt'
- name: Setup Gradle
uses: gradle/gradle-build-action@v2
with:
gradle-version: wrapper
gradle-executable: plugin/gradlew
- name: Build Plugin Distribution
run: |
cd plugin
./gradlew buildPlugin
- name: Create Release
uses: softprops/action-gh-release@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
tag_name: ${{ needs.changelog.outputs.tag }}
name: Plugin ${{ needs.changelog.outputs.tag }}
body: |
<details>
<summary>🤖 Autogenerated Conventional Changelog</summary>
${{ needs.changelog.outputs.clean_changelog }}
</details>
prerelease: false
draft: false
files: build/distributions/${{ env.PLUGIN_NAME }}*.zip
generate_release_notes: true