61 lines
1.8 KiB
YAML
61 lines
1.8 KiB
YAML
# This workflow uses actions that are not certified by GitHub.
|
|
# They are provided by a third-party and are governed by
|
|
# separate terms of service, privacy policy, and support
|
|
# documentation.
|
|
# This workflow will build a Java project with Gradle and cache/restore any dependencies to improve the workflow execution time
|
|
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-java-with-gradle
|
|
|
|
name: Build and Publish to reposilite
|
|
|
|
on:
|
|
release:
|
|
types: [created]
|
|
|
|
jobs:
|
|
build:
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- name: Set up JDK 21
|
|
uses: actions/setup-java@v3
|
|
with:
|
|
java-version: '21'
|
|
distribution: 'zulu'
|
|
|
|
- name: Setup Gradle
|
|
uses: gradle/gradle-build-action@67421db6bd0bf253fb4bd25b31ebb98943c375e1
|
|
|
|
- name: Set executable permission on gradlew
|
|
run: chmod +x ./gradlew
|
|
|
|
- name: Test
|
|
working-directory: ${{ github.workspace }}
|
|
run: ls -la
|
|
|
|
- name: Set library version
|
|
working-directory: ${{ github.workspace }}
|
|
run: |
|
|
if [ -n "${{ github.event.release.tag_name }}" ]; then
|
|
version=$(echo ${{ github.event.release.tag_name }} | sed 's/^v//')
|
|
sed -i "s/version = \".*\"/version = \"$version\"/g" build.gradle.kts
|
|
grep -o "version = \"$version\"" build.gradle.kts
|
|
else
|
|
echo "No release tag found. Skipping library version update."
|
|
fi
|
|
|
|
|
|
- name: Initialize Gradle wrapper
|
|
run: ./gradlew wrapper
|
|
|
|
- name: Gradle Build
|
|
run: ./gradlew build
|
|
|
|
|
|
- name: Publish to Reposilite
|
|
run: ./gradlew publish
|
|
env:
|
|
reposiliteUsername: ${{ secrets.reposiliteUsername }}
|
|
reposilitePassword: ${{ secrets.reposilitePassword }}
|