Przeglądaj źródła

chore: ci support linux

GyDi 3 lat temu
rodzic
commit
b756ae39d0
2 zmienionych plików z 27 dodań i 7 usunięć
  1. 10 3
      .github/workflows/ci.yml
  2. 17 4
      scripts/release.mjs

+ 10 - 3
.github/workflows/ci.yml

@@ -10,7 +10,7 @@ jobs:
   release:
     strategy:
       matrix:
-        os: [windows-latest, macos-11]
+        os: [windows-latest, ubuntu-latest, macos-latest]
     runs-on: ${{ matrix.os }}
     if: |
       startsWith(github.repository, 'zzzgydi') &&
@@ -34,6 +34,12 @@ jobs:
         with:
           node-version: 14
 
+      - name: Install Dependencies (ubuntu only)
+        if: matrix.os == 'ubuntu-latest'
+        run: |
+          sudo apt-get update
+          sudo apt-get install -y libgtk-3-dev webkit2gtk-4.0 libappindicator3-dev librsvg2-dev patchelf
+
       - name: Get yarn cache dir path
         id: yarn-cache-dir-path
         run: echo "::set-output name=dir::$(yarn cache dir)"
@@ -68,6 +74,7 @@ jobs:
           prerelease: true
 
       - name: Green zip bundle
+        if: matrix.os == 'windows-latest'
         run: |
           yarn run green
         env:
@@ -75,7 +82,7 @@ jobs:
 
   release-update:
     needs: release
-    runs-on: macos-11
+    runs-on: macos-latest
     if: |
       startsWith(github.repository, 'zzzgydi') &&
       startsWith(github.ref, 'refs/tags/v')
@@ -97,7 +104,7 @@ jobs:
             ${{ runner.os }}-yarn-
 
       - name: Yarn install
-        run: yarn
+        run: yarn install
 
       - name: Release update.json
         run: yarn run release

+ 17 - 4
scripts/release.mjs

@@ -37,6 +37,7 @@ async function resolveRelease() {
     pub_date: new Date().toISOString(),
     platforms: {
       win64: { signature: "", url: "" },
+      linux: { signature: "", url: "" },
       darwin: { signature: "", url: "" },
     },
   };
@@ -48,22 +49,34 @@ async function resolveRelease() {
     if (/\.msi\.zip$/.test(name)) {
       updateData.platforms.win64.url = browser_download_url;
     }
-    // darwin url
-    if (/\.app\.tar\.gz$/.test(name)) {
-      updateData.platforms.darwin.url = browser_download_url;
-    }
     // win64 signature
     if (/\.msi\.zip\.sig$/.test(name)) {
       updateData.platforms.win64.signature = await getSignature(
         browser_download_url
       );
     }
+
+    // darwin url
+    if (/\.app\.tar\.gz$/.test(name)) {
+      updateData.platforms.darwin.url = browser_download_url;
+    }
     // darwin signature
     if (/\.app\.tar\.gz\.sig$/.test(name)) {
       updateData.platforms.darwin.signature = await getSignature(
         browser_download_url
       );
     }
+
+    // linux url
+    if (/\.AppImage\.tar\.gz$/.test(name)) {
+      updateData.platforms.linux.url = browser_download_url;
+    }
+    // linux signature
+    if (/\.AppImage\.tar\.gz\.sig$/.test(name)) {
+      updateData.platforms.linux.signature = await getSignature(
+        browser_download_url
+      );
+    }
   });
 
   await Promise.allSettled(promises);