Forráskód Böngészése

Merge pull request #1693 from cryptomator/feature/sign-src-tarball

Sign tarball in release using GPG
Julian Raufelder 4 éve
szülő
commit
0676732796
1 módosított fájl, 21 hozzáadás és 2 törlés
  1. 21 2
      .github/workflows/build.yml

+ 21 - 2
.github/workflows/build.yml

@@ -52,13 +52,14 @@ jobs:
         with:
           name: buildkit-win.zip
           path: target/buildkit-win.zip
-          
+
   release:
     name: Draft a Release on GitHub Releases
     runs-on: ubuntu-latest
     needs: build
     if: startsWith(github.ref, 'refs/tags/') && github.repository == 'cryptomator/cryptomator'
     steps:
+      - uses: actions/checkout@v2
       - name: Download buildkit-linux.zip
         uses: actions/download-artifact@v1
         with:
@@ -74,6 +75,15 @@ jobs:
         with:
           name: buildkit-win.zip
           path: .
+      - name: Create tarball
+        run: git archive --prefix="cryptomator-${{ github.ref }}/" -o "cryptomator-${{ github.ref }}.tar.gz" ${{ github.ref }}
+      - name: Sign tarball with key 615D449FE6E6A235
+        run: |
+          echo "${GPG_PRIVATE_KEY}" | gpg --batch --quiet --import
+          echo "${GPG_PASSPHRASE}" | gpg --batch --quiet --passphrase-fd 0 --pinentry-mode loopback -u 615D449FE6E6A235 --detach-sign -a "cryptomator-${{ github.ref }}.tar.gz"
+        env:
+          GPG_PRIVATE_KEY: ${{ secrets.RELEASES_GPG_PRIVATE_KEY }}
+          GPG_PASSPHRASE: ${{ secrets.RELEASES_GPG_PASSPHRASE }}
       - name: Create Release
         id: create_release
         uses: actions/create-release@v1
@@ -127,4 +137,13 @@ jobs:
           upload_url: ${{ steps.create_release.outputs.upload_url }}
           asset_path: buildkit-win.zip
           asset_name: buildkit-win.zip
-          asset_content_type: application/zip
+          asset_content_type: application/zip
+      - name: Upload tarball signature to GitHub Releases
+        uses: actions/upload-release-asset@v1.0.1
+        env:
+          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+        with:
+          upload_url: ${{ steps.create_release.outputs.upload_url }}
+          asset_path: "cryptomator-${{ github.ref }}.tar.gz.asc"
+          asset_name: "cryptomator-${{ github.ref }}.tar.gz.asc"
+          asset_content_type: application/octet-stream