Skip to content

Create Release with ShadowJars #7

Create Release with ShadowJars

Create Release with ShadowJars #7

Workflow file for this run

name: Create Release with ShadowJars
on:
workflow_dispatch:
jobs:
build:
name: Build ShadowJars and Create Release
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
with:
ref: develop # Ensure it works from the develop branch
- name: Set up JDK 21
uses: actions/setup-java@v3
with:
distribution: 'adopt'
java-version: '21'
- name: Cache Gradle packages
uses: actions/cache@v3
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: gradle-${{ runner.os }}-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
gradle-${{ runner.os }}
- name: Make gradlew executable
run: chmod +x ./gradlew
- name: Build ShadowJars
run: ./gradlew clean build shadowJar
- name: Get Gradle Version
id: gradle_version
run: echo "GRADLE_VERSION=$(./gradlew properties -q | grep "version:" | awk '{print $2}')" >> $GITHUB_ENV
- name: Get Commit Hash
id: commit_hash
run: echo "COMMIT_HASH=$(git rev-parse --short HEAD)" >> $GITHUB_ENV
# - name: Publish to SimpleCloud Repository
# run: ./gradlew publishMavenJavaPublicationToSimplecloudRepository
# env:
# COMMIT_HASH: ${{ env.COMMIT_HASH }}
# SIMPLECLOUD_USERNAME: ${{ secrets.SIMPLECLOUD_USERNAME }}
# SIMPLECLOUD_PASSWORD: ${{ secrets.SIMPLECLOUD_PASSWORD }}
- name: Create Release
id: create_release
uses: actions/create-release@v1
with:
tag_name: v${{ env.GRADLE_VERSION }}-dev.${{ env.COMMIT_HASH }}
release_name: v${{ env.GRADLE_VERSION }}-dev.${{ env.COMMIT_HASH }}
draft: false
prerelease: true
commitish: develop
body: |
This release contains dev builds for all Gradle modules.
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Upload ShadowJars to Release
run: |
# Find JAR files in any submodule's build/libs directory
for jar in $(find . -type f -name "*.jar" -path "*/build/libs/*.jar" -not -path "./build/libs/*"); do
# Check if the filename contains a version number (e.g., a dash followed by numbers)
if [[ $(basename "$jar") =~ -[0-9]+\.[0-9]+ ]]; then
echo "Skipping $jar due to version number"
else
echo "Uploading $jar"
gh release upload v${{ env.GRADLE_VERSION }}-dev.${{ env.COMMIT_HASH }} "$jar"
fi
done
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}