# 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 }}