diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 41319f8..d54b6d5 100644 --- a/.github/workflows/ci.yml +++ b/.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 diff --git a/scripts/release.mjs b/scripts/release.mjs index 1752043..4599e02 100644 --- a/scripts/release.mjs +++ b/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);