Skip to content
Snippets Groups Projects
Verified Commit f15205aa authored by Griefed's avatar Griefed :joystick:
Browse files

ci(release): On tag, build all three branches and upload assets to generated release.

parent 43ac00df
No related branches found
No related tags found
No related merge requests found
......@@ -6,8 +6,13 @@ on:
- '*'
jobs:
release:
runs-on: ubuntu-latest
# OUTPUTS
outputs:
newtag: ${{ steps.tag.outputs.tag }}
uploadurl: ${{ steps.create_release.outputs.upload_url }}
steps:
# GET LATEST CODE
- name: Checkout latest code
......@@ -27,6 +32,7 @@ jobs:
uses: ardalanamini/auto-changelog@master
with:
token: ${{ secrets.GITHUB_TOKEN }}
- name: Create Release
id: create_release
uses: actions/create-release@latest
......@@ -42,26 +48,37 @@ jobs:
draft: false
prerelease: false
main:
needs: release
runs-on: ubuntu-latest
steps:
# GET LATEST CODE
- name: Checkout latest code
uses: actions/checkout@master
with:
ref: main
fetch-depth: 0
# 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}}")
NEW_VERSION=$(echo "${{ needs.release.outputs.newtag }}")
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
./gradlew -Pversion=${NEW_VERSION} build --info -x test
# UPLOAD ASSETS TO RELEASE
- name: Upload Release Asset Main Jar
......@@ -70,32 +87,35 @@ jobs:
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
upload_url: ${{ needs.release.outputs.uploadurl }}
asset_path: ./build/libs/ExampleAddon-${{ needs.release.outputs.newtag }}.jar
asset_name: ExampleAddon-${{ needs.release.outputs.newtag }}.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
upload_url: ${{ needs.release.outputs.uploadurl }}
asset_path: ./build/libs/ExampleAddon-${{ needs.release.outputs.newtag }}-sources.jar
asset_name: ExampleAddon-${{ needs.release.outputs.newtag }}-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
upload_url: ${{ needs.release.outputs.uploadurl }}
asset_path: ./build/libs/ExampleAddon-${{ needs.release.outputs.newtag }}-javadoc.jar
asset_name: ExampleAddon-${{ needs.release.outputs.newtag }}-javadoc.jar
asset_content_type: application/jar
alternative:
needs: release
runs-on: ubuntu-latest
steps:
# GET LATEST CODE
......@@ -105,39 +125,26 @@ jobs:
ref: alternativeExtensionDeclaration
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 }}
# 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}}")
NEW_VERSION=$(echo "${{ needs.release.outputs.newtag }}")
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
./gradlew -Pversion=${NEW_VERSION} build --info -x test
# UPLOAD ASSETS TO RELEASE
- name: Upload Release Asset Main Jar
......@@ -146,32 +153,35 @@ jobs:
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
upload_url: ${{ needs.release.outputs.uploadurl }}
asset_path: ./build/libs/AlternativeExtensionDeclaration-${{ needs.release.outputs.newtag }}.jar
asset_name: AlternativeExtensionDeclaration-${{ needs.release.outputs.newtag }}.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
upload_url: ${{ needs.release.outputs.uploadurl }}
asset_path: ./build/libs/AlternativeExtensionDeclaration-${{ needs.release.outputs.newtag }}-sources.jar
asset_name: AlternativeExtensionDeclaration-${{ needs.release.outputs.newtag }}-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
upload_url: ${{ needs.release.outputs.uploadurl }}
asset_path: ./build/libs/AlternativeExtensionDeclaration-${{ needs.release.outputs.newtag }}-javadoc.jar
asset_name: AlternativeExtensionDeclaration-${{ needs.release.outputs.newtag }}-javadoc.jar
asset_content_type: application/jar
tetris:
needs: release
runs-on: ubuntu-latest
steps:
# GET LATEST CODE
......@@ -181,39 +191,26 @@ jobs:
ref: tetris
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 }}
# 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}}")
NEW_VERSION=$(echo "${{ needs.release.outputs.newtag }}")
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
./gradlew -Pversion=${NEW_VERSION} build --info -x test
# UPLOAD ASSETS TO RELEASE
- name: Upload Release Asset Main Jar
......@@ -222,27 +219,29 @@ jobs:
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
upload_url: ${{ needs.release.outputs.uploadurl }}
asset_path: ./build/libs/Minigame-${{ needs.release.outputs.newtag }}.jar
asset_name: Minigame-${{ needs.release.outputs.newtag }}.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
upload_url: ${{ needs.release.outputs.uploadurl }}
asset_path: ./build/libs/Minigame-${{ needs.release.outputs.newtag }}-sources.jar
asset_name: Minigame-${{ needs.release.outputs.newtag }}-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
upload_url: ${{ needs.release.outputs.uploadurl }}
asset_path: ./build/libs/Minigame-${{ needs.release.outputs.newtag }}-javadoc.jar
asset_name: Minigame-${{ needs.release.outputs.newtag }}-javadoc.jar
asset_content_type: application/jar
\ No newline at end of file
//rootProject.name = 'serverpackcreatorexampleaddon'
rootProject.name = 'ExampleAddon'
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment