Skip to content

Birthday [v1.0.1-DEV_BUILD] #21

Birthday [v1.0.1-DEV_BUILD]

Birthday [v1.0.1-DEV_BUILD] #21

name: Build and Release Plugin
on:
push:
branches:
- dev # Виконується тільки для гілки dev
jobs:
build:
runs-on: ubuntu-latest
steps:
# Клонування репозиторію
- name: Checkout repository
uses: actions/checkout@v3
# Налаштування JDK
- name: Set up JDK
uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: '17' # Відповідає конфігурації Gradle
# Збірка проєкту Gradle
- name: Build with Gradle
run: ./gradlew shadowJar
# Пошук згенерованого JAR-файлу
- name: Find JAR file
id: jar
run: |
FILE=$(find build/libs -name '*.jar' | head -n 1)
if [ -z "$FILE" ]; then
echo "[ERROR] JAR file not found in build/libs!"
exit 1
fi
echo "path=$FILE" >> $GITHUB_ENV
# Отримання версії з Gradle
- name: Extract version from build.gradle
id: get_version
run: |
VERSION=$(grep "^version = " build.gradle | awk -F'=' '{print $2}' | xargs)
if [ -z "$VERSION" ]; then
echo "[ERROR] Plugin version not found in build.gradle!"
exit 1
fi
echo "plugin_version=$VERSION" >> $GITHUB_ENV
# Отримання повідомлення останнього коміту
- name: Get Commit Message
id: commit_message
run: |
COMMIT_MSG=$(git log -1 --pretty=format:"%s")
echo "commit_message=$COMMIT_MSG" >> $GITHUB_ENV
# Створення релізу
- name: Create GitHub Release
id: create_release
uses: actions/create-release@v1
with:
tag_name: dev-${{ env.commit_message }} # Унікальний тег для dev
release_name: BirthDayReload ${{ env.plugin_version }} - ${{ env.commit_message }}
body: |
This is an experimental release of the development branch. It is intended for testing purposes and may include incomplete features or bugs. Please use it with caution and provide feedback if you encounter any issues.
draft: false
prerelease: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# Завантаження JAR у реліз
- name: Upload Plugin JAR
uses: actions/upload-release-asset@v1
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ${{ env.path }}
asset_name: BirthDayReload-${{ env.plugin_version }}-${{ env.commit_message }}.jar
asset_content_type: application/java-archive
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}