Skip to content

Commit 4d9cc62

Browse files
committed
Publish workflow with GitHub Actions
1 parent 976f16a commit 4d9cc62

File tree

3 files changed

+117
-24
lines changed

3 files changed

+117
-24
lines changed

.github/workflows/publish.yml

-20
This file was deleted.

.github/workflows/release.yml

+89
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
name: Release
2+
on:
3+
push:
4+
tags:
5+
- 'sputnik*'
6+
7+
jobs:
8+
build:
9+
name: Upload Release Asset
10+
runs-on: ubuntu-latest
11+
steps:
12+
- name: Checkout code
13+
uses: actions/checkout@v2
14+
- name: Set up Java
15+
uses: actions/setup-java@v1
16+
with:
17+
java-version: 1.8
18+
- name: Extract version
19+
run: echo "##[set-output name=version;]$(echo ${GITHUB_REF#refs/tags/sputnik-})"
20+
id: extract_version
21+
- name: Build project
22+
run: ./gradlew -Pversion=${{ steps.extract_version.outputs.version }} build
23+
- name: Publish package
24+
run: ./gradlew -Pversion=${{ steps.extract_version.outputs.version }} publish
25+
env:
26+
SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }}
27+
SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }}
28+
SIGNING_PRIVATE_KEY: ${{ secrets.SIGNING_PRIVATE_KEY }}
29+
SIGNING_PASSWORD: ${{ secrets.SIGNING_PASSWORD }}
30+
- name: Create Release
31+
id: create_release
32+
uses: actions/create-release@v1
33+
env:
34+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
35+
with:
36+
tag_name: ${{ github.ref }}
37+
release_name: Sputnik ${{ steps.extract_version.outputs.version }}
38+
draft: true
39+
prerelease: false
40+
- name: Upload jar
41+
id: upload-release-asset-jar
42+
uses: actions/upload-release-asset@v1
43+
env:
44+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
45+
with:
46+
upload_url: ${{ steps.create_release.outputs.upload_url }}
47+
asset_path: ./build/libs/sputnik-${{ steps.extract_version.outputs.version }}.jar
48+
asset_name: sputnik-${{ steps.extract_version.outputs.version }}.jar
49+
asset_content_type: application/java-archive
50+
- name: Upload javadoc
51+
id: upload-release-asset-javadoc
52+
uses: actions/upload-release-asset@v1
53+
env:
54+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
55+
with:
56+
upload_url: ${{ steps.create_release.outputs.upload_url }}
57+
asset_path: ./build/libs/sputnik-${{ steps.extract_version.outputs.version }}-javadoc.jar
58+
asset_name: sputnik-${{ steps.extract_version.outputs.version }}-javadoc.jar
59+
asset_content_type: application/java-archive
60+
- name: Upload sources
61+
id: upload-release-asset-sources
62+
uses: actions/upload-release-asset@v1
63+
env:
64+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
65+
with:
66+
upload_url: ${{ steps.create_release.outputs.upload_url }}
67+
asset_path: ./build/libs/sputnik-${{ steps.extract_version.outputs.version }}-sources.jar
68+
asset_name: sputnik-${{ steps.extract_version.outputs.version }}-sources.jar
69+
asset_content_type: application/java-archive
70+
- name: Upload zip
71+
id: upload-release-asset-zip
72+
uses: actions/upload-release-asset@v1
73+
env:
74+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
75+
with:
76+
upload_url: ${{ steps.create_release.outputs.upload_url }}
77+
asset_path: ./build/distributions/sputnik-${{ steps.extract_version.outputs.version }}.zip
78+
asset_name: sputnik-${{ steps.extract_version.outputs.version }}.zip
79+
asset_content_type: application/zip
80+
- name: Upload tar
81+
id: upload-release-asset-tar
82+
uses: actions/upload-release-asset@v1
83+
env:
84+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
85+
with:
86+
upload_url: ${{ steps.create_release.outputs.upload_url }}
87+
asset_path: ./build/distributions/sputnik-${{ steps.extract_version.outputs.version }}.tar
88+
asset_name: sputnik-${{ steps.extract_version.outputs.version }}.tar
89+
asset_content_type: application/tar

build.gradle

+28-4
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ configurations {
3434
}
3535
}
3636

37-
project.version = '2.3.1.1' //scmVersion.version
37+
project.version = findProperty("version") ?: scmVersion.version
3838

3939
sourceCompatibility = 1.8
4040
targetCompatibility = 1.8
@@ -218,6 +218,32 @@ publishing {
218218
distribution = 'repo'
219219
}
220220
}
221+
developers {
222+
developer {
223+
id = 'tomasz_kalkosinski'
224+
name = 'Tomasz Kalkosinski'
225+
}
226+
developer {
227+
id = 'marcin_cylke'
228+
name = 'Marcin Cylke'
229+
}
230+
developer {
231+
id = 'piotr_jagielski'
232+
name = 'Piotr Jagielski'
233+
}
234+
developer {
235+
id = 'karol_lassak'
236+
name = 'Karol Lassak'
237+
}
238+
developer {
239+
id = 'dominik_przybysz'
240+
name = 'Dominik Przybysz'
241+
}
242+
developer {
243+
id = 'henning_hoefer'
244+
name = 'Henning Hoefer'
245+
}
246+
}
221247
}
222248
}
223249
}
@@ -234,8 +260,6 @@ publishing {
234260
}
235261

236262
signing {
237-
def signingKey = System.getenv('SIGNING_KEY')
238-
def signingPassword = System.getenv('SIGNING_PASSWORD')
239-
useInMemoryPgpKeys(signingKey, signingPassword)
263+
useInMemoryPgpKeys(System.getenv('SIGNING_PRIVATE_KEY'), System.getenv('SIGNING_PASSWORD'))
240264
sign publishing.publications.mavenJava
241265
}

0 commit comments

Comments
 (0)