OSDN Git Service

GHA: add release automation script
authorHiroshi Miura <miurahr@linux.com>
Tue, 12 May 2020 11:58:02 +0000 (20:58 +0900)
committerHiroshi Miura <miurahr@linux.com>
Tue, 12 May 2020 11:58:02 +0000 (20:58 +0900)
Signed-off-by: Hiroshi Miura <miurahr@linux.com>
.github/workflows/build-release-and-upload.yml [new file with mode: 0644]

diff --git a/.github/workflows/build-release-and-upload.yml b/.github/workflows/build-release-and-upload.yml
new file mode 100644 (file)
index 0000000..d05c574
--- /dev/null
@@ -0,0 +1,59 @@
+on:
+  push:
+    tags:
+    - 'v*'
+
+name: Upload Release Asset
+
+jobs:
+  build:
+    name: Upload Release Asset
+    runs-on: ubuntu-latest
+    steps:
+    - name: Checkout code
+      uses: actions/checkout@v2
+    - uses: actions/setup-java@v1
+      with:
+        java-version: 1.8
+    - uses: eskatos/gradle-command-action@v1
+      with:
+        arguments: build
+    - name: Get the version
+      id: get_version
+      run: echo ::set-output name=VERSION::${GITHUB_REF/refs\/tags\/v/}
+    - name: Create Release
+      id: create_release
+      uses: actions/create-release@v1
+      env:
+        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+      with:
+        tag_name: ${{ github.ref }}
+        release_name: Release v${{ steps.get_version.outputs.VERSION }}
+        draft: false
+        prerelease: false
+    - name: Upload Release Asset(cli.zip)
+      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: dictzip-cli/build/distributions/dictzip-cli-${{ steps.get_version.outputs.VERSION }}.zip
+        asset_name: dictzip-cli-${{ steps.get_version.outputs.VERSION }}.zip
+        asset_content_type: application/zip
+    - name: Upload Release Asset(cli.tgz)
+      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: dictzip-cli/build/distributions/dictzip-cli-${{ steps.get_version.outputs.VERSION }}.tgz
+        asset_name: dictzip-cli-${{ steps.get_version.outputs.VERSION }}.tgz
+        asset_content_type: application/gzip
+    - uses: eskatos/gradle-command-action@v1
+      env:
+        BINTRAY_USER: ${{ secrets.bintrayUsername }}
+        BINTRAY_KEY: ${{ secrets.bintrayApiKey }}
+      with:
+        arguments: bintrayUpload