Skip to content
This repository was archived by the owner on Sep 7, 2022. It is now read-only.

Commit 64c288a

Browse files
authored
Publish artifacts on GitHub (#52)
1 parent bad1b26 commit 64c288a

File tree

2 files changed

+91
-43
lines changed

2 files changed

+91
-43
lines changed

.github/workflows/deploy-maven-central.yml

Lines changed: 0 additions & 43 deletions
This file was deleted.

.github/workflows/release-java.yml

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
name: Release the JAVA library
2+
3+
on:
4+
push:
5+
tags:
6+
- v0.*.*
7+
- v1.*.*
8+
9+
jobs:
10+
release:
11+
name: Release
12+
runs-on: ubuntu-20.04
13+
steps:
14+
- uses: actions/checkout@v2
15+
16+
- name: Install dependencies
17+
run: make setup
18+
19+
- name: Ensure all tests and static analysis targets pass
20+
run: make fmtcheck vet test
21+
22+
- name: Generate the VERSION file for versioning the POM
23+
run: make generate-pom-version
24+
25+
- name: Build the artifacts
26+
run: |
27+
make assemble-maven
28+
mkdir out
29+
mv bazel-bin/java/central-sync/com.mihaibojin.props:props-core.jar out/props-core.jar
30+
mv bazel-bin/java/central-sync/com.mihaibojin.props:props-core-javadoc.jar out/props-core-javadoc.jar
31+
mv bazel-bin/java/core/src/main/libprops-core-src.jar out/props-core-src.jar
32+
33+
- name: Attach JAR
34+
uses: actions/upload-artifact@v2
35+
with:
36+
name: props-core.jar
37+
path: out/props-core.jar
38+
39+
- name: Attach Javadoc
40+
uses: actions/upload-artifact@v2
41+
with:
42+
name: props-core-javadoc.jar
43+
path: out/props-core-javadoc.jar
44+
45+
- name: Attach source code
46+
uses: actions/upload-artifact@v2
47+
with:
48+
name: props-core-src.jar
49+
path: out/props-core-src.jar
50+
51+
- name: Create Release
52+
id: create_release
53+
uses: actions/create-release@v1
54+
env:
55+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
56+
with:
57+
tag_name: ${{ github.ref }}
58+
release_name: Release ${{ github.ref }}
59+
draft: false
60+
prerelease: false
61+
62+
- name: Attach the JARs to the GitHub release
63+
uses: svenstaro/upload-release-action@v2
64+
with:
65+
repo_token: ${{ secrets.GITHUB_TOKEN }}
66+
tag: ${{ github.ref }}
67+
release_name: Release ${{ github.ref }}
68+
file: out/*.jar
69+
prerelease: false
70+
overwrite: true
71+
file_glob: true
72+
73+
- name: Import the GPG signing key
74+
env:
75+
GPG_KEY: ${{ secrets.GPG_KEY }}
76+
run: |
77+
set +vx
78+
echo -e "$GPG_KEY" | gpg --import
79+
set -vx
80+
81+
- name: Deploy to Maven Central
82+
env:
83+
DEPLOY_MAVEN_USERNAME: ${{ secrets.DEPLOY_MAVEN_USERNAME }}
84+
DEPLOY_MAVEN_PASSWORD: ${{ secrets.DEPLOY_MAVEN_PASSWORD }}
85+
run: |
86+
make deploy-maven
87+
88+
- name: Remove the GPG signing key
89+
run: |
90+
set -eu
91+
[ -d "$HOME/.gnupg" ] && rm -rf "$HOME/.gnupg"

0 commit comments

Comments
 (0)