name: Automatic Desktop Release on: push: tags: - 'v*' jobs: build: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v2 - name: Set up JDK 1.8 uses: actions/setup-java@v1 with: java-version: 1.8 - name: Grant execute permission for gradlew run: chmod +x gradlew - name: Build with Gradle run: ./gradlew desktop:dist - name: Define env vars id: vars run: | echo ::set-output name=jar_file::\ $(echo ./desktop/build/libs/*.jar) echo ::set-output name=version::\ $(echo ./desktop/build/libs/*.jar | sed 's/.*-\([0-9.]\+\)\.jar/\1/') - name: Create release id: create_release uses: actions/create-release@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: tag_name: ${{ github.ref }} release_name: ${{ github.ref }} draft: false prerelease: false - name: Upload release asset uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: upload_url: ${{ steps.create_release.outputs.upload_url }} asset_path: ${{ steps.vars.outputs.jar_file }} asset_name: Klooni-${{ steps.vars.outputs.version }}.jar asset_content_type: application/java-archive