name: publishJar
on:
push:
branches:
- master
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '21'
- name: Build JAR
run: ./gradlew clean shadowJar
- name: Upload JAR artifact
uses: actions/upload-artifact@v4
with:
name: app-jar
path: build/libs/my-shadow-jar-1.0.0-all.jar # مسیر دقیق فایل JAR
release:
needs: build
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Download JAR artifact
uses: actions/download-artifact@v4
with:
name: app-jar
- name: Generate tag
id: generate_tag
run: echo "::set-output name=tag::v$(date +'%Y%m%d-%H%M%S')"
- name: Create GitHub Release
uses: ncipollo/release-action@v1.14.0
with:
artifacts: my-shadow-jar-1.0.0-all.jar # اشاره به فایل JAR دانلود شده
token: ${{ secrets.GITHUB_TOKEN }}
tag: ${{ steps.generate_tag.outputs.tag }}
name: "Release ${{ steps.generate_tag.outputs.tag }}"
body: |
This release contains the latest build of the project.
Download the JAR file below.
draft: false
prerelease: false
- name: install cowsay
run: |
sudo apt-get update
sudo apt-get install -y cowsay
cowsay "release is done: ${{ steps.generate_tag.outputs.tag }}"
- name: save release info
run: |
cowsay "release is done: ${{ steps.generate_tag.outputs.tag }}" >> $GITHUB_STEP_SUMMARY