Skip to content

Commit 6effc04

Browse files
committed
Added git workflow for automatic release process.
1 parent db4a75f commit 6effc04

File tree

1 file changed

+52
-0
lines changed

1 file changed

+52
-0
lines changed

.github/workflows/release.yml

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
name: Build and Release Java Application
2+
3+
on:
4+
push:
5+
tags:
6+
- "release_*" # Trigger on tags with prefix release_
7+
8+
jobs:
9+
build_and_release:
10+
runs-on: ubuntu-latest # Specifies the runner environment
11+
12+
steps:
13+
- name: Checkout code
14+
uses: actions/checkout@v3 # Checks out the repository code under $GITHUB_WORKSPACE
15+
16+
- name: Set up JDK 17
17+
uses: actions/setup-java@v3
18+
with:
19+
java-version: "17"
20+
distribution: "temurin" # AdoptOpenJDK builds from Eclipse Foundation
21+
22+
- name: Build with Gradle
23+
run: ./gradlew build
24+
25+
- name: Rename JAR File
26+
run: |
27+
TAG_NAME=${GITHUB_REF#refs/tags/release_}
28+
JAR_NAME=c3pu-$TAG_NAME.jar
29+
mv build/libs/c3pu-*.jar build/libs/$JAR_NAME
30+
env:
31+
GITHUB_REF: ${{ github.ref }}
32+
33+
- name: Create Release
34+
id: create_release
35+
uses: actions/create-release@v1
36+
env:
37+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
38+
with:
39+
tag_name: ${{ github.ref }}
40+
release_name: Release ${{ env.TAG_NAME }}
41+
draft: false
42+
prerelease: false
43+
44+
- name: Upload Release Asset
45+
uses: actions/upload-release-asset@v1
46+
env:
47+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
48+
with:
49+
upload_url: ${{ steps.create_release.outputs.upload_url }}
50+
asset_path: ./build/libs/$JAR_NAME
51+
asset_name: $JAR_NAME
52+
asset_content_type: application/java-archive

0 commit comments

Comments
 (0)