name: Create GitHub Release after GitLab tag mirror on: push: tags: - '*' jobs: release: runs-on: ubuntu-latest steps: # GET LATEST CODE - name: Checkout latest code uses: actions/checkout@master with: fetch-depth: 0 # EXTRACT TAG FROM PUSH - name: Get tag id: tag uses: dawidd6/action-get-tag@v1 - name: Use tag run: echo ${{steps.tag.outputs.tag}} # GENERATE CHANGELOG, RELEASE - id: conventional_changelog uses: ardalanamini/auto-changelog@master with: token: ${{ secrets.GITHUB_TOKEN }} - name: Create Release id: create_release uses: actions/create-release@latest env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: tag_name: ${{ github.ref }} release_name: Release ${{steps.tag.outputs.tag}} body: | Automatic release of version: **${{steps.tag.outputs.tag}}** **Changes in this release:** ${{ steps.conventional_changelog.outputs.changelog }} draft: false prerelease: false # BUILD PROJECT AND PUBLISH TO PACKAGES - name: Set up JDK 8 uses: actions/setup-java@v2 with: distribution: 'adopt' java-version: '8' - name: Grant execute permission for gradlew run: chmod +x gradlew - name: Publish to GitHub Packages env: GITHUB_ACTOR: ${{ secrets.GITHUB_ACTOR }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | NEW_VERSION=$(echo "${{steps.tag.outputs.tag}}") echo "New version: ${NEW_VERSION}" echo "Github username: ${GITHUB_ACTOR}" ./gradlew about ./gradlew -Pversion=${NEW_VERSION} publish --info -x test - name: List files run: ls -ahl build/libs # UPLOAD ASSETS TO RELEASE - name: Upload Release Asset Main Jar id: 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: ./build/libs/serverpackcreatorexampleaddon-${{steps.tag.outputs.tag}}.jar asset_name: serverpackcreatorexampleaddon-${{steps.tag.outputs.tag}}.jar asset_content_type: application/jar - name: Upload Release Asset Sources Jar id: upload-release-asset-sources uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: upload_url: ${{ steps.create_release.outputs.upload_url }} asset_path: ./build/libs/serverpackcreatorexampleaddon-${{steps.tag.outputs.tag}}-sources.jar asset_name: serverpackcreatorexampleaddon-${{steps.tag.outputs.tag}}-sources.jar asset_content_type: application/jar - name: Upload Release Asset Javadoc Jar id: upload-release-asset-javadoc uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: upload_url: ${{ steps.create_release.outputs.upload_url }} asset_path: ./build/libs/serverpackcreatorexampleaddon-${{steps.tag.outputs.tag}}-javadoc.jar asset_name: serverpackcreatorexampleaddon-${{steps.tag.outputs.tag}}-javadoc.jar asset_content_type: application/jar