-
-
Notifications
You must be signed in to change notification settings - Fork 1
140 lines (126 loc) · 4.75 KB
/
create-release.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
name: GitHub Release
on:
workflow_dispatch:
inputs:
releaseversion:
description: 'Release version'
required: true
default: '0.0.1'
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up JDK 16
uses: actions/setup-java@v3
with:
java-version: '16'
distribution: 'adopt'
- name: Grant execute permission for gradlew
run: chmod +x gradlew
- name: Build with Gradle
run: ./gradlew build
env:
GITHUB_ACTOR: ${{ github.actor }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
ORG_GRADLE_PROJECT_GPG_KEY: ${{ secrets.GPG_KEY }}
ORG_GRADLE_PROJECT_GPG_KEY_PASSPHRASE: ${{ secrets.GPG_KEY_PASSPHRASE }}
- uses: actions/upload-artifact@v3
with:
name: artifacts
path: chiara-bukkit/build/libs/*.*
release:
runs-on: ubuntu-latest
needs:
- build
steps:
- uses: actions/checkout@v3
- name: Generate changelog
id: changelog
uses: metcalfc/changelog-generator@v3.0.0
with:
myToken: ${{ secrets.GITHUB_TOKEN }}
- name: Create GitHub Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.event.inputs.releaseversion }}
release_name: ${{ github.event.inputs.releaseversion }}
body: |
Hey there :wave:,
the new version `${{ github.event.inputs.releaseversion }}` is finally out!
Thank you for the interest in chiara. You can download the newest version below.
If you want to support the development of chiara and many other awesome pieces
of software you can consider sponsoring us.
### Usage
You can use chiara in your project easily with Maven or Gradle, see examples below:
#### Gradle
**Gradle repositories**
```groovy
repositories {
maven {
name = "mysteryworlds-chiara-github-package-registry"
description = "Mysteryworlds Chiara GitHub Package Registry"
url = "https://maven.pkg.github.com/mysteryworlds/chiara/"
credentials {
username = project.findProperty("gpr.user") ?: System.getenv("GITHUB_ACTOR")
password = project.findProperty("gpr.key") ?: System.getenv("GITHUB_TOKEN")
}
}
}
```
**Gradle dependencies**
```groovy
dependencies {
implementation 'com.mysteryworlds:chiara-bukkit:${{ github.event.inputs.releaseversion }}'
}
```
#### Maven
**Maven repositories**
```xml
<repositories>
<repository>
<id>mysteryworlds-chiara-github-package-registry</id>
<name>Mysteryworlds Chiara GitHub Package Registry</name>
<url>https://maven.pkg.github.com/mysteryworlds/chiara/</url>
</repository>
</repositories>
```
**Maven dependencies**
```xml
<dependency>
<groupId>com.mysteryworlds</groupId>
<artifactId>chiara-bukkit</artifactId>
<version>${{ github.event.inputs.releaseversion }}</version>
</dependency>
```
### Things that changed since last release
${{ steps.changelog.outputs.changelog }}
draft: false
prerelease: false
- uses: actions/download-artifact@v3
with:
name: artifacts
path: artifacts
- name: Upload Release Asset
id: upload-release-asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: artifacts/chiara-bukkit-${{ github.event.inputs.releaseversion }}.jar
asset_name: chiara-bukkit-${{ github.event.inputs.releaseversion }}.jar
asset_content_type: application/java-archive
- name: Upload Release Asset Signature
id: upload-release-asset-signature
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: artifacts/chiara-bukkit-${{ github.event.inputs.releaseversion }}.jar.asc
asset_name: chiara-bukkit-${{ github.event.inputs.releaseversion }}.jar.asc
asset_content_type: text/plain