From a874a5e4d5dca134906707e96ad752e3a1524dd7 Mon Sep 17 00:00:00 2001 From: Jai-JAP Date: Tue, 8 Mar 2022 20:59:59 +0530 Subject: [PATCH 01/34] Add Linux armv7l and arm64 support --- .github/workflows/build.yml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index ca0cd54381..b14b5a730b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -131,6 +131,12 @@ jobs: Linux-Build: runs-on: ubuntu-18.04 # build against an older glibc for compatibility needs: Lint + strategy: + matrix: + include: + - arch: x86_64 + - arch: armv7l + - arch: arm64 steps: - name: Checkout @@ -156,22 +162,34 @@ jobs: - name: Build native deps run: scripts/build-native.js + env: + ARCH: ${{matrix.arch}} + + - name: Build native deps + run: | + rm -rf app/node_modules/cpu-features + rm -rf app/node_modules/ssh2/crypto/build + if: ${{ matrix.arch == 'arm64' }} - name: Webpack run: yarn run build - name: Prepackage plugins run: scripts/prepackage-plugins.js + env: + ARCH: ${{matrix.arch}} - name: Build packages run: scripts/build-linux.js env: + ARCH: ${{matrix.arch}} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} USE_HARD_LINKS: false # DEBUG: electron-builder,electron-builder:* - name: Build web resources run: zsh -c 'tar czf tabby-web.tar.gz (tabby-*|web)/dist' + if: ${{ matrix.arch == x86_64 }} - name: Upload symbols run: | @@ -181,6 +199,7 @@ jobs: SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} SENTRY_ORG: ${{ secrets.SENTRY_ORG }} SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }} + if: ${{ matrix.arch == x86_64 }} - name: Upload packages to packagecloud.io uses: Eugeny/packagecloud-action@main From 90bd8b424f0ea526d9bcb4ec0ea175dcdf1f47c1 Mon Sep 17 00:00:00 2001 From: Jai-JAP Date: Tue, 8 Mar 2022 21:11:08 +0530 Subject: [PATCH 02/34] Manual run --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b14b5a730b..42e1bc54fa 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,5 +1,5 @@ name: Package-Build -on: [push, pull_request] +on: [push, pull_request, workflow_dispatch] jobs: Lint: runs-on: macos-11 From ea3894390565d3099badbc25c4084cadc648cb9f Mon Sep 17 00:00:00 2001 From: Jai-JAP Date: Tue, 8 Mar 2022 21:14:19 +0530 Subject: [PATCH 03/34] Fixes --- .github/workflows/build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 42e1bc54fa..9bfcd8f99d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -189,7 +189,7 @@ jobs: - name: Build web resources run: zsh -c 'tar czf tabby-web.tar.gz (tabby-*|web)/dist' - if: ${{ matrix.arch == x86_64 }} + if: ${{ matrix.arch == 'x86_64' }} - name: Upload symbols run: | @@ -199,7 +199,7 @@ jobs: SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} SENTRY_ORG: ${{ secrets.SENTRY_ORG }} SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }} - if: ${{ matrix.arch == x86_64 }} + if: ${{ matrix.arch == 'x86_64' }} - name: Upload packages to packagecloud.io uses: Eugeny/packagecloud-action@main From d8bec496ee4bd838400ce5199d50825144e0a19e Mon Sep 17 00:00:00 2001 From: Jai-JAP Date: Tue, 8 Mar 2022 21:43:09 +0530 Subject: [PATCH 04/34] Fix Linux pacman uploads --- .github/workflows/build.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 9bfcd8f99d..6ba53ce85b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -242,6 +242,7 @@ jobs: with: name: Linux Pacman path: artifact-pacman + if: ${{ matrix.arch == 'x86_64' }} - uses: actions/upload-artifact@master name: Upload Snap From 690a632f96d50404a933e25daef13c4897d24793 Mon Sep 17 00:00:00 2001 From: Jai-JAP Date: Tue, 8 Mar 2022 21:53:59 +0530 Subject: [PATCH 05/34] Add windows arm64 --- .github/workflows/build.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6ba53ce85b..57fdde3431 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -265,6 +265,11 @@ jobs: Windows-Build: runs-on: windows-2022 needs: Lint + strategy: + matrix: + include: + - arch: x86_64 + - arch: arm64 steps: - name: Checkout @@ -290,6 +295,8 @@ jobs: node scripts/build-native.js yarn run build node scripts/prepackage-plugins.js + env: + ARCH: ${{matrix.arch}} - name: Build and sign packages run: node scripts/build-windows.js @@ -303,6 +310,8 @@ jobs: - name: Build packages without signing run: node scripts/build-windows.js if: "!(github.repository == 'Eugeny/tabby' && github.event_name == 'push' && (github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags')))" + env: + ARCH: ${{matrix.arch}} - name: Upload symbols run: | From c533e6c8fdc9bb302dd1e027f3d58702e8080055 Mon Sep 17 00:00:00 2001 From: Jai A P <78354625+Jai-JAP@users.noreply.github.com> Date: Tue, 8 Mar 2022 22:31:13 +0530 Subject: [PATCH 06/34] Update electron-builder.yml --- electron-builder.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/electron-builder.yml b/electron-builder.yml index e0b1af1258..512ce8c6eb 100644 --- a/electron-builder.yml +++ b/electron-builder.yml @@ -39,11 +39,11 @@ publish: win: icon: "./build/windows/icon.ico" - artifactName: tabby-${version}-portable.${ext} + artifactName: tabby-${version}-portable-${env.ARCH}.${ext} rfc3161TimeStampServer: http://timestamp.sectigo.com nsis: oneClick: false - artifactName: tabby-${version}-setup.${ext} + artifactName: tabby-${version}-setup-${env.ARCH}.${ext} installerIcon: "./build/windows/icon.ico" allowToChangeInstallationDirectory: true shortcutName: Tabby Terminal @@ -68,7 +68,7 @@ mac: linux: category: "Utility;TerminalEmulator;System" icon: "./build/icons" - artifactName: tabby-${version}-linux.${ext} + artifactName: tabby-${version}-linux-${env.ARCH}.${ext} executableArgs: - "--no-sandbox" desktop: From d35c03d083d3ab2d416107ae0c0be30351424c2e Mon Sep 17 00:00:00 2001 From: Jai A P <78354625+Jai-JAP@users.noreply.github.com> Date: Tue, 8 Mar 2022 22:35:56 +0530 Subject: [PATCH 07/34] Update build.yml --- .github/workflows/build.yml | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 57fdde3431..432829169c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -228,32 +228,32 @@ jobs: - uses: actions/upload-artifact@master name: Upload DEB with: - name: Linux DEB + name: Linux DEB (${{matrix.arch}}) path: artifact-deb - uses: actions/upload-artifact@master name: Upload RPM with: - name: Linux RPM + name: Linux RPM (${{matrix.arch}}) path: artifact-rpm - uses: actions/upload-artifact@master name: Upload Pacman Package with: - name: Linux Pacman + name: Linux Pacman (${{matrix.arch}}) path: artifact-pacman if: ${{ matrix.arch == 'x86_64' }} - uses: actions/upload-artifact@master name: Upload Snap with: - name: Linux Snap + name: Linux Snap (${{matrix.arch}}) path: artifact-snap - uses: actions/upload-artifact@master name: Upload Linux tarball with: - name: Linux tarball + name: Linux tarball (${{matrix.arch}}) path: artifact-tar.gz - uses: actions/upload-artifact@master @@ -261,6 +261,8 @@ jobs: with: name: Web tarball path: artifact-web + if: ${{ matrix.arch == 'x86_64' }} + Windows-Build: runs-on: windows-2022 From e2d4ef58c4aea806a29e0df2557972486ce596c9 Mon Sep 17 00:00:00 2001 From: Jai A P <78354625+Jai-JAP@users.noreply.github.com> Date: Tue, 8 Mar 2022 22:45:46 +0530 Subject: [PATCH 08/34] Update build.yml --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 432829169c..335cb97976 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -242,7 +242,7 @@ jobs: with: name: Linux Pacman (${{matrix.arch}}) path: artifact-pacman - if: ${{ matrix.arch == 'x86_64' }} + # if: ${{ matrix.arch == 'x86_64' }} - uses: actions/upload-artifact@master name: Upload Snap From b70a193dbd4a8a232f2d7fe7c0ed8aecffd5a37e Mon Sep 17 00:00:00 2001 From: Jai A P <78354625+Jai-JAP@users.noreply.github.com> Date: Tue, 8 Mar 2022 22:58:11 +0530 Subject: [PATCH 09/34] Update build.yml --- .github/workflows/build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 335cb97976..b97c40acb0 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -327,9 +327,9 @@ jobs: - name: Package artifacts run: | mkdir artifact-setup - mv dist/*-setup.exe artifact-setup/ + mv dist/*-setup-*.exe artifact-setup/ mkdir artifact-portable - mv dist/*-portable.zip artifact-portable/ + mv dist/*-portable-*.zip artifact-portable/ - uses: actions/upload-artifact@master name: Upload installer From 5c325a347caa13751561fe0d8396a2bb9e19dc18 Mon Sep 17 00:00:00 2001 From: Jai A P <78354625+Jai-JAP@users.noreply.github.com> Date: Tue, 8 Mar 2022 23:15:58 +0530 Subject: [PATCH 10/34] Update build.yml --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b97c40acb0..93653e5de9 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,5 +1,5 @@ name: Package-Build -on: [push, pull_request, workflow_dispatch] +on: [push, pull_request] jobs: Lint: runs-on: macos-11 From b5506cff6110e88c03aa62bd86c93458b4ddc7a4 Mon Sep 17 00:00:00 2001 From: Jai A P <78354625+Jai-JAP@users.noreply.github.com> Date: Wed, 9 Mar 2022 10:35:37 +0530 Subject: [PATCH 11/34] Update build-linux.js --- scripts/build-linux.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/scripts/build-linux.js b/scripts/build-linux.js index 6d1f92d6a7..7ac7f97be1 100755 --- a/scripts/build-linux.js +++ b/scripts/build-linux.js @@ -4,13 +4,18 @@ const vars = require('./vars') const isTag = (process.env.GITHUB_REF || '').startsWith('refs/tags/') +process.env.ARCH = process.env.ARCH || process.arch + builder({ dir: true, linux: ['deb', 'tar.gz', 'rpm', 'pacman'], + armv7l: process.env.ARCH === 'armv7l', + arm64: process.env.ARCH === 'arm64', config: { extraMetadata: { version: vars.version, }, + npmRebuild: (process.env.ARCH !== 'arm64' && process.env.ARCH !== 'armv7l'), }, publish: isTag ? 'always' : 'onTag', }).catch(() => process.exit(1)) From 1b31187201448482494794298a94c8734c6cdabc Mon Sep 17 00:00:00 2001 From: Jai A P <78354625+Jai-JAP@users.noreply.github.com> Date: Wed, 9 Mar 2022 11:17:02 +0530 Subject: [PATCH 12/34] Update build.yml --- .github/workflows/build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 93653e5de9..f53e806cc7 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -334,11 +334,11 @@ jobs: - uses: actions/upload-artifact@master name: Upload installer with: - name: Windows installer + name: Windows installer (${{matrix.arch}}) path: artifact-setup - uses: actions/upload-artifact@master name: Upload portable build with: - name: Windows portable build + name: Windows portable build (${{matrix.arch}}) path: artifact-portable From 725edd53cbd481c905ca2c532cf34916bcea0846 Mon Sep 17 00:00:00 2001 From: Jai A P <78354625+Jai-JAP@users.noreply.github.com> Date: Wed, 9 Mar 2022 11:19:04 +0530 Subject: [PATCH 13/34] Update build-windows.js --- scripts/build-windows.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/scripts/build-windows.js b/scripts/build-windows.js index 998bfd9d6d..74e2d99ed0 100755 --- a/scripts/build-windows.js +++ b/scripts/build-windows.js @@ -5,9 +5,12 @@ const vars = require('./vars') const isTag = (process.env.GITHUB_REF || process.env.BUILD_SOURCEBRANCH || '').startsWith('refs/tags/') const isCI = !!process.env.GITHUB_REF +process.env.ARCH = process.env.ARCH || process.arch + builder({ dir: true, win: ['nsis', 'zip'], + arm64: process.env.ARCH === 'arm64', config: { extraMetadata: { version: vars.version, From c3e4031aabdf7096ff54bf025099b3ef388b37f8 Mon Sep 17 00:00:00 2001 From: Jai A P <78354625+Jai-JAP@users.noreply.github.com> Date: Wed, 9 Mar 2022 12:36:10 +0530 Subject: [PATCH 14/34] Update build-linux.js --- scripts/build-linux.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/build-linux.js b/scripts/build-linux.js index 7ac7f97be1..536e3af74b 100755 --- a/scripts/build-linux.js +++ b/scripts/build-linux.js @@ -15,7 +15,7 @@ builder({ extraMetadata: { version: vars.version, }, - npmRebuild: (process.env.ARCH !== 'arm64' && process.env.ARCH !== 'armv7l'), + npmRebuild: (process.env.ARCH !== 'arm64' || process.env.ARCH !== 'armv7l'), }, publish: isTag ? 'always' : 'onTag', }).catch(() => process.exit(1)) From b27f5c2145e5c64d002b5c4b4ffc0e7104d6c320 Mon Sep 17 00:00:00 2001 From: Jai A P <78354625+Jai-JAP@users.noreply.github.com> Date: Wed, 9 Mar 2022 12:37:16 +0530 Subject: [PATCH 15/34] Revert last change --- scripts/build-linux.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/build-linux.js b/scripts/build-linux.js index 536e3af74b..7ac7f97be1 100755 --- a/scripts/build-linux.js +++ b/scripts/build-linux.js @@ -15,7 +15,7 @@ builder({ extraMetadata: { version: vars.version, }, - npmRebuild: (process.env.ARCH !== 'arm64' || process.env.ARCH !== 'armv7l'), + npmRebuild: (process.env.ARCH !== 'arm64' && process.env.ARCH !== 'armv7l'), }, publish: isTag ? 'always' : 'onTag', }).catch(() => process.exit(1)) From 38f8a7cfef07dd1649bb5c83791bf31eb80e05fa Mon Sep 17 00:00:00 2001 From: Jai A P <78354625+Jai-JAP@users.noreply.github.com> Date: Wed, 9 Mar 2022 17:18:07 +0530 Subject: [PATCH 16/34] Update build.yml --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index f53e806cc7..f10dcfcd03 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -169,7 +169,7 @@ jobs: run: | rm -rf app/node_modules/cpu-features rm -rf app/node_modules/ssh2/crypto/build - if: ${{ matrix.arch == 'arm64' }} + if: ${{ matrix.arch == 'arm64' || matrix.arch == 'armv7l' }} - name: Webpack run: yarn run build From d6bcdbde78aa98bfe656111b35b6afb98540ba3e Mon Sep 17 00:00:00 2001 From: Jai A P <78354625+Jai-JAP@users.noreply.github.com> Date: Wed, 9 Mar 2022 21:27:29 +0530 Subject: [PATCH 17/34] Fixes --- .github/workflows/build.yml | 9 --------- scripts/build-linux.js | 2 +- scripts/build-native.js | 5 ++++- scripts/build-windows.js | 1 + 4 files changed, 6 insertions(+), 11 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index f10dcfcd03..142e0274d5 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -218,8 +218,6 @@ jobs: mv dist/*.rpm artifact-rpm/ || true mkdir artifact-pacman mv dist/*.pacman artifact-pacman/ || true - mkdir artifact-snap - mv dist/*.snap artifact-snap/ || true mkdir artifact-tar.gz mv dist/*.tar.gz artifact-tar.gz/ || true mkdir artifact-web @@ -242,13 +240,6 @@ jobs: with: name: Linux Pacman (${{matrix.arch}}) path: artifact-pacman - # if: ${{ matrix.arch == 'x86_64' }} - - - uses: actions/upload-artifact@master - name: Upload Snap - with: - name: Linux Snap (${{matrix.arch}}) - path: artifact-snap - uses: actions/upload-artifact@master name: Upload Linux tarball diff --git a/scripts/build-linux.js b/scripts/build-linux.js index 7ac7f97be1..94b4adeff9 100755 --- a/scripts/build-linux.js +++ b/scripts/build-linux.js @@ -15,7 +15,7 @@ builder({ extraMetadata: { version: vars.version, }, - npmRebuild: (process.env.ARCH !== 'arm64' && process.env.ARCH !== 'armv7l'), + npmRebuild: process.env.ARCH !== 'arm*', }, publish: isTag ? 'always' : 'onTag', }).catch(() => process.exit(1)) diff --git a/scripts/build-native.js b/scripts/build-native.js index 8fb295b66b..a939e59168 100755 --- a/scripts/build-native.js +++ b/scripts/build-native.js @@ -3,12 +3,15 @@ const rebuild = require('electron-rebuild').default const path = require('path') const vars = require('./vars') +process.env.ARCH = process.env.ARCH || process.arch +if ( process.env.ARCH === 'arm' ) process.env.ARCH = 'armv7l' ; + let lifecycles = [] for (let dir of ['app', 'tabby-core', 'tabby-local', 'tabby-ssh', 'tabby-terminal']) { const build = rebuild({ buildPath: path.resolve(__dirname, '../' + dir), electronVersion: vars.electronVersion, - arch: process.env.ARCH ?? process.arch, + arch: process.env.ARCH, force: true, }) build.catch(e => { diff --git a/scripts/build-windows.js b/scripts/build-windows.js index 74e2d99ed0..d2150b14ea 100755 --- a/scripts/build-windows.js +++ b/scripts/build-windows.js @@ -15,6 +15,7 @@ builder({ extraMetadata: { version: vars.version, }, + npmRebuild: process.env.ARCH !== 'arm64', }, publish: isTag ? 'always' : 'onTag', }).catch(() => process.exit(1)) From 39fbf467dec2a10b51b6f4536f2cae06355af184 Mon Sep 17 00:00:00 2001 From: Jai A P <78354625+Jai-JAP@users.noreply.github.com> Date: Wed, 9 Mar 2022 21:32:28 +0530 Subject: [PATCH 18/34] Update build.yml --- .github/workflows/build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 142e0274d5..4a5478b5df 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -64,7 +64,7 @@ jobs: env: ARCH: ${{matrix.arch}} - - name: Build native deps + - name: Fix cross build run: | rm -rf app/node_modules/cpu-features rm -rf app/node_modules/ssh2/crypto/build @@ -165,7 +165,7 @@ jobs: env: ARCH: ${{matrix.arch}} - - name: Build native deps + - name: Fix cross build run: | rm -rf app/node_modules/cpu-features rm -rf app/node_modules/ssh2/crypto/build From f2f0953b2430f63decaa6fe1d56a84bef36bdbb9 Mon Sep 17 00:00:00 2001 From: Jai A P <78354625+Jai-JAP@users.noreply.github.com> Date: Wed, 9 Mar 2022 22:04:29 +0530 Subject: [PATCH 19/34] Fix windows --- scripts/build-windows.js | 1 - 1 file changed, 1 deletion(-) diff --git a/scripts/build-windows.js b/scripts/build-windows.js index d2150b14ea..74e2d99ed0 100755 --- a/scripts/build-windows.js +++ b/scripts/build-windows.js @@ -15,7 +15,6 @@ builder({ extraMetadata: { version: vars.version, }, - npmRebuild: process.env.ARCH !== 'arm64', }, publish: isTag ? 'always' : 'onTag', }).catch(() => process.exit(1)) From 26f93f7ac5fbdecf7d9e5a8652a418bec3ca81ed Mon Sep 17 00:00:00 2001 From: Jai A P <78354625+Jai-JAP@users.noreply.github.com> Date: Mon, 21 Mar 2022 12:08:52 +0530 Subject: [PATCH 20/34] Update build-linux.js --- scripts/build-linux.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/scripts/build-linux.js b/scripts/build-linux.js index 94b4adeff9..0b302fa7f2 100755 --- a/scripts/build-linux.js +++ b/scripts/build-linux.js @@ -9,13 +9,12 @@ process.env.ARCH = process.env.ARCH || process.arch builder({ dir: true, linux: ['deb', 'tar.gz', 'rpm', 'pacman'], - armv7l: process.env.ARCH === 'armv7l', arm64: process.env.ARCH === 'arm64', config: { extraMetadata: { version: vars.version, }, - npmRebuild: process.env.ARCH !== 'arm*', + npmRebuild: process.env.ARCH == 'arm64', }, publish: isTag ? 'always' : 'onTag', }).catch(() => process.exit(1)) From 4aca0fdf09a7d0d0f91a3832de1c60eda50ecbe5 Mon Sep 17 00:00:00 2001 From: Jai A P <78354625+Jai-JAP@users.noreply.github.com> Date: Mon, 21 Mar 2022 12:09:24 +0530 Subject: [PATCH 21/34] Update build-native.js --- scripts/build-native.js | 1 - 1 file changed, 1 deletion(-) diff --git a/scripts/build-native.js b/scripts/build-native.js index a939e59168..94a81601be 100755 --- a/scripts/build-native.js +++ b/scripts/build-native.js @@ -4,7 +4,6 @@ const path = require('path') const vars = require('./vars') process.env.ARCH = process.env.ARCH || process.arch -if ( process.env.ARCH === 'arm' ) process.env.ARCH = 'armv7l' ; let lifecycles = [] for (let dir of ['app', 'tabby-core', 'tabby-local', 'tabby-ssh', 'tabby-terminal']) { From 332c5c0b5e2f242c83159e3314d02a50a8fef9d0 Mon Sep 17 00:00:00 2001 From: Jai A P <78354625+Jai-JAP@users.noreply.github.com> Date: Mon, 21 Mar 2022 15:33:13 +0530 Subject: [PATCH 22/34] Delete build.yml --- .github/workflows/build.yml | 335 ------------------------------------ 1 file changed, 335 deletions(-) delete mode 100644 .github/workflows/build.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml deleted file mode 100644 index 4a5478b5df..0000000000 --- a/.github/workflows/build.yml +++ /dev/null @@ -1,335 +0,0 @@ -name: Package-Build -on: [push, pull_request] -jobs: - Lint: - runs-on: macos-11 - - steps: - - name: Checkout - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - - name: Installing Node - uses: actions/setup-node@v3.0.0 - with: - node-version: 16 - - - name: Install deps - run: | - npm i -g yarn@1.19.1 - cd app - yarn - cd .. - rm app/node_modules/.yarn-integrity - yarn - - - name: Build typings - run: yarn run build:typings - - - name: Lint - run: yarn run lint - - macOS-Build: - runs-on: macos-11 - needs: Lint - strategy: - matrix: - include: - - arch: x86_64 - - arch: arm64 - - steps: - - name: Checkout - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - - name: Installing Node - uses: actions/setup-node@v3.0.0 - with: - node-version: 16 - - - name: Install deps - run: | - sudo npm i -g yarn@1.22.1 - cd app - yarn --network-timeout 1000000 - cd .. - rm app/node_modules/.yarn-integrity - yarn --network-timeout 1000000 - - - name: Build native deps - run: scripts/build-native.js - env: - ARCH: ${{matrix.arch}} - - - name: Fix cross build - run: | - rm -rf app/node_modules/cpu-features - rm -rf app/node_modules/ssh2/crypto/build - if: ${{ matrix.arch == 'arm64' }} - - - name: Webpack - run: yarn run build - - - name: Prepackage plugins - run: scripts/prepackage-plugins.js - env: - ARCH: ${{matrix.arch}} - - - run: sed -i '' 's/updateInfo = await/\/\/updateInfo = await/g' node_modules/app-builder-lib/out/targets/ArchiveTarget.js - - - name: Build and sign packages - run: scripts/build-macos.js - if: github.repository == 'Eugeny/tabby' && github.event_name == 'push' && (github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags')) - env: - ARCH: ${{matrix.arch}} - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - CSC_LINK: ${{ secrets.CSC_LINK }} - CSC_KEY_PASSWORD: ${{ secrets.CSC_KEY_PASSWORD }} - APPSTORE_USERNAME: ${{ secrets.APPSTORE_USERNAME }} - APPSTORE_PASSWORD: ${{ secrets.APPSTORE_PASSWORD }} - USE_HARD_LINKS: false - # DEBUG: electron-builder,electron-builder:* - - - name: Build packages without signing - run: scripts/build-macos.js - if: "! (github.repository == 'Eugeny/tabby' && github.event_name == 'push' && (github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags')))" - env: - ARCH: ${{matrix.arch}} - # DEBUG: electron-builder,electron-builder:* - - - name: Upload symbols - run: | - sudo npm install -g @sentry/cli --unsafe-perm - ./scripts/sentry-upload.js - env: - SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} - SENTRY_ORG: ${{ secrets.SENTRY_ORG }} - SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }} - - - name: Package artifacts - run: | - mkdir artifact-pkg - mv dist/*.pkg artifact-pkg/ - mkdir artifact-zip - mv dist/*.zip artifact-zip/ - - - uses: actions/upload-artifact@master - name: Upload PKG - with: - name: macOS .pkg (${{matrix.arch}}) - path: artifact-pkg - - - uses: actions/upload-artifact@master - name: Upload ZIP - with: - name: macOS .zip (${{matrix.arch}}) - path: artifact-zip - - Linux-Build: - runs-on: ubuntu-18.04 # build against an older glibc for compatibility - needs: Lint - strategy: - matrix: - include: - - arch: x86_64 - - arch: armv7l - - arch: arm64 - - steps: - - name: Checkout - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - - name: Install Node - uses: actions/setup-node@v3.0.0 - with: - node-version: 16 - - - name: Install deps - run: | - sudo apt-get update - sudo apt-get install libarchive-tools zsh - npm i -g yarn@1.19.1 - cd app - yarn --network-timeout 1000000 - cd .. - rm app/node_modules/.yarn-integrity - yarn --network-timeout 1000000 - - - name: Build native deps - run: scripts/build-native.js - env: - ARCH: ${{matrix.arch}} - - - name: Fix cross build - run: | - rm -rf app/node_modules/cpu-features - rm -rf app/node_modules/ssh2/crypto/build - if: ${{ matrix.arch == 'arm64' || matrix.arch == 'armv7l' }} - - - name: Webpack - run: yarn run build - - - name: Prepackage plugins - run: scripts/prepackage-plugins.js - env: - ARCH: ${{matrix.arch}} - - - name: Build packages - run: scripts/build-linux.js - env: - ARCH: ${{matrix.arch}} - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - USE_HARD_LINKS: false - # DEBUG: electron-builder,electron-builder:* - - - name: Build web resources - run: zsh -c 'tar czf tabby-web.tar.gz (tabby-*|web)/dist' - if: ${{ matrix.arch == 'x86_64' }} - - - name: Upload symbols - run: | - sudo npm install -g @sentry/cli --unsafe-perm - ./scripts/sentry-upload.js - env: - SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} - SENTRY_ORG: ${{ secrets.SENTRY_ORG }} - SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }} - if: ${{ matrix.arch == 'x86_64' }} - - - name: Upload packages to packagecloud.io - uses: Eugeny/packagecloud-action@main - if: github.repository == 'Eugeny/tabby' && github.event_name == 'push' && startsWith(github.ref, 'refs/tags/') - env: - PACKAGECLOUD_TOKEN: ${{ secrets.PACKAGECLOUD_TOKEN }} - with: - repo: 'eugeny/tabby' - dir: 'dist' - - - name: Package artifacts - run: | - mkdir artifact-deb - mv dist/*.deb artifact-deb/ || true - mkdir artifact-rpm - mv dist/*.rpm artifact-rpm/ || true - mkdir artifact-pacman - mv dist/*.pacman artifact-pacman/ || true - mkdir artifact-tar.gz - mv dist/*.tar.gz artifact-tar.gz/ || true - mkdir artifact-web - mv tabby-web.tar.gz artifact-web/ || true - - - uses: actions/upload-artifact@master - name: Upload DEB - with: - name: Linux DEB (${{matrix.arch}}) - path: artifact-deb - - - uses: actions/upload-artifact@master - name: Upload RPM - with: - name: Linux RPM (${{matrix.arch}}) - path: artifact-rpm - - - uses: actions/upload-artifact@master - name: Upload Pacman Package - with: - name: Linux Pacman (${{matrix.arch}}) - path: artifact-pacman - - - uses: actions/upload-artifact@master - name: Upload Linux tarball - with: - name: Linux tarball (${{matrix.arch}}) - path: artifact-tar.gz - - - uses: actions/upload-artifact@master - name: Upload web tarball - with: - name: Web tarball - path: artifact-web - if: ${{ matrix.arch == 'x86_64' }} - - - Windows-Build: - runs-on: windows-2022 - needs: Lint - strategy: - matrix: - include: - - arch: x86_64 - - arch: arm64 - - steps: - - name: Checkout - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - - name: Installing Node - uses: actions/setup-node@v3.0.0 - with: - node-version: 16 - - - name: Update node-gyp - run: | - npm install --global node-gyp@8.4.1 - npm prefix -g | % {npm config set node_gyp "$_\node_modules\node-gyp\bin\node-gyp.js"} - - - name: Build - shell: powershell - run: | - npm i -g yarn@1.19.1 - yarn --network-timeout 1000000 - node scripts/build-native.js - yarn run build - node scripts/prepackage-plugins.js - env: - ARCH: ${{matrix.arch}} - - - name: Build and sign packages - run: node scripts/build-windows.js - if: github.repository == 'Eugeny/tabby' && github.event_name == 'push' && (github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags')) - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - WIN_CSC_LINK: ${{ secrets.WIN_CSC_LINK }} - WIN_CSC_KEY_PASSWORD: ${{ secrets.WIN_CSC_KEY_PASSWORD }} - DEBUG: electron-builder,electron-builder:* - - - name: Build packages without signing - run: node scripts/build-windows.js - if: "!(github.repository == 'Eugeny/tabby' && github.event_name == 'push' && (github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags')))" - env: - ARCH: ${{matrix.arch}} - - - name: Upload symbols - run: | - npm install @sentry/cli - node scripts/sentry-upload.js - env: - SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} - SENTRY_ORG: ${{ secrets.SENTRY_ORG }} - SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }} - - - name: Package artifacts - run: | - mkdir artifact-setup - mv dist/*-setup-*.exe artifact-setup/ - mkdir artifact-portable - mv dist/*-portable-*.zip artifact-portable/ - - - uses: actions/upload-artifact@master - name: Upload installer - with: - name: Windows installer (${{matrix.arch}}) - path: artifact-setup - - - uses: actions/upload-artifact@master - name: Upload portable build - with: - name: Windows portable build (${{matrix.arch}}) - path: artifact-portable From f18c1f6d3aed932ef43116651c73e09863afabf0 Mon Sep 17 00:00:00 2001 From: Jai A P <78354625+Jai-JAP@users.noreply.github.com> Date: Mon, 21 Mar 2022 15:33:23 +0530 Subject: [PATCH 23/34] Delete docs.yml --- .github/workflows/docs.yml | 38 -------------------------------------- 1 file changed, 38 deletions(-) delete mode 100644 .github/workflows/docs.yml diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml deleted file mode 100644 index 14712dfe52..0000000000 --- a/.github/workflows/docs.yml +++ /dev/null @@ -1,38 +0,0 @@ -name: Docs -on: push -jobs: - build: - runs-on: ubuntu-latest - if: ${{ github.actor != 'dependabot[bot]' }} - - steps: - - name: Checkout - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - - name: Installing Node - uses: actions/setup-node@v3.0.0 - with: - node-version: 14 - - - name: Build - run: | - yarn cache clean - cd app - yarn - cd .. - rm app/node_modules/.yarn-integrity - yarn - yarn run build:typings - yarn run docs - - env: - DOCS_PRIVATE_KEY: ${{ secrets.DOCS_PRIVATE_KEY }} - - - uses: FirebaseExtended/action-hosting-deploy@v0 - with: - repoToken: '${{ secrets.GITHUB_TOKEN }}' - firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_TABBY_DOCS }}' - channelId: live - projectId: tabby-docs From 8c0d681345789dd835fa315dc878613564fbba0e Mon Sep 17 00:00:00 2001 From: jai-jap Date: Mon, 21 Mar 2022 15:50:14 +0530 Subject: [PATCH 24/34] Revert "Delete docs.yml" This reverts commit f18c1f6d3aed932ef43116651c73e09863afabf0. --- .github/workflows/docs.yml | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 .github/workflows/docs.yml diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml new file mode 100644 index 0000000000..14712dfe52 --- /dev/null +++ b/.github/workflows/docs.yml @@ -0,0 +1,38 @@ +name: Docs +on: push +jobs: + build: + runs-on: ubuntu-latest + if: ${{ github.actor != 'dependabot[bot]' }} + + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Installing Node + uses: actions/setup-node@v3.0.0 + with: + node-version: 14 + + - name: Build + run: | + yarn cache clean + cd app + yarn + cd .. + rm app/node_modules/.yarn-integrity + yarn + yarn run build:typings + yarn run docs + + env: + DOCS_PRIVATE_KEY: ${{ secrets.DOCS_PRIVATE_KEY }} + + - uses: FirebaseExtended/action-hosting-deploy@v0 + with: + repoToken: '${{ secrets.GITHUB_TOKEN }}' + firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_TABBY_DOCS }}' + channelId: live + projectId: tabby-docs From 2229d54b337aed1b76f43bb11388b9f45c42bbac Mon Sep 17 00:00:00 2001 From: jai-jap Date: Mon, 21 Mar 2022 15:50:26 +0530 Subject: [PATCH 25/34] Revert "Delete build.yml" This reverts commit 332c5c0b5e2f242c83159e3314d02a50a8fef9d0. --- .github/workflows/build.yml | 335 ++++++++++++++++++++++++++++++++++++ 1 file changed, 335 insertions(+) create mode 100644 .github/workflows/build.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000000..4a5478b5df --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,335 @@ +name: Package-Build +on: [push, pull_request] +jobs: + Lint: + runs-on: macos-11 + + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Installing Node + uses: actions/setup-node@v3.0.0 + with: + node-version: 16 + + - name: Install deps + run: | + npm i -g yarn@1.19.1 + cd app + yarn + cd .. + rm app/node_modules/.yarn-integrity + yarn + + - name: Build typings + run: yarn run build:typings + + - name: Lint + run: yarn run lint + + macOS-Build: + runs-on: macos-11 + needs: Lint + strategy: + matrix: + include: + - arch: x86_64 + - arch: arm64 + + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Installing Node + uses: actions/setup-node@v3.0.0 + with: + node-version: 16 + + - name: Install deps + run: | + sudo npm i -g yarn@1.22.1 + cd app + yarn --network-timeout 1000000 + cd .. + rm app/node_modules/.yarn-integrity + yarn --network-timeout 1000000 + + - name: Build native deps + run: scripts/build-native.js + env: + ARCH: ${{matrix.arch}} + + - name: Fix cross build + run: | + rm -rf app/node_modules/cpu-features + rm -rf app/node_modules/ssh2/crypto/build + if: ${{ matrix.arch == 'arm64' }} + + - name: Webpack + run: yarn run build + + - name: Prepackage plugins + run: scripts/prepackage-plugins.js + env: + ARCH: ${{matrix.arch}} + + - run: sed -i '' 's/updateInfo = await/\/\/updateInfo = await/g' node_modules/app-builder-lib/out/targets/ArchiveTarget.js + + - name: Build and sign packages + run: scripts/build-macos.js + if: github.repository == 'Eugeny/tabby' && github.event_name == 'push' && (github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags')) + env: + ARCH: ${{matrix.arch}} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + CSC_LINK: ${{ secrets.CSC_LINK }} + CSC_KEY_PASSWORD: ${{ secrets.CSC_KEY_PASSWORD }} + APPSTORE_USERNAME: ${{ secrets.APPSTORE_USERNAME }} + APPSTORE_PASSWORD: ${{ secrets.APPSTORE_PASSWORD }} + USE_HARD_LINKS: false + # DEBUG: electron-builder,electron-builder:* + + - name: Build packages without signing + run: scripts/build-macos.js + if: "! (github.repository == 'Eugeny/tabby' && github.event_name == 'push' && (github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags')))" + env: + ARCH: ${{matrix.arch}} + # DEBUG: electron-builder,electron-builder:* + + - name: Upload symbols + run: | + sudo npm install -g @sentry/cli --unsafe-perm + ./scripts/sentry-upload.js + env: + SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} + SENTRY_ORG: ${{ secrets.SENTRY_ORG }} + SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }} + + - name: Package artifacts + run: | + mkdir artifact-pkg + mv dist/*.pkg artifact-pkg/ + mkdir artifact-zip + mv dist/*.zip artifact-zip/ + + - uses: actions/upload-artifact@master + name: Upload PKG + with: + name: macOS .pkg (${{matrix.arch}}) + path: artifact-pkg + + - uses: actions/upload-artifact@master + name: Upload ZIP + with: + name: macOS .zip (${{matrix.arch}}) + path: artifact-zip + + Linux-Build: + runs-on: ubuntu-18.04 # build against an older glibc for compatibility + needs: Lint + strategy: + matrix: + include: + - arch: x86_64 + - arch: armv7l + - arch: arm64 + + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Install Node + uses: actions/setup-node@v3.0.0 + with: + node-version: 16 + + - name: Install deps + run: | + sudo apt-get update + sudo apt-get install libarchive-tools zsh + npm i -g yarn@1.19.1 + cd app + yarn --network-timeout 1000000 + cd .. + rm app/node_modules/.yarn-integrity + yarn --network-timeout 1000000 + + - name: Build native deps + run: scripts/build-native.js + env: + ARCH: ${{matrix.arch}} + + - name: Fix cross build + run: | + rm -rf app/node_modules/cpu-features + rm -rf app/node_modules/ssh2/crypto/build + if: ${{ matrix.arch == 'arm64' || matrix.arch == 'armv7l' }} + + - name: Webpack + run: yarn run build + + - name: Prepackage plugins + run: scripts/prepackage-plugins.js + env: + ARCH: ${{matrix.arch}} + + - name: Build packages + run: scripts/build-linux.js + env: + ARCH: ${{matrix.arch}} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + USE_HARD_LINKS: false + # DEBUG: electron-builder,electron-builder:* + + - name: Build web resources + run: zsh -c 'tar czf tabby-web.tar.gz (tabby-*|web)/dist' + if: ${{ matrix.arch == 'x86_64' }} + + - name: Upload symbols + run: | + sudo npm install -g @sentry/cli --unsafe-perm + ./scripts/sentry-upload.js + env: + SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} + SENTRY_ORG: ${{ secrets.SENTRY_ORG }} + SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }} + if: ${{ matrix.arch == 'x86_64' }} + + - name: Upload packages to packagecloud.io + uses: Eugeny/packagecloud-action@main + if: github.repository == 'Eugeny/tabby' && github.event_name == 'push' && startsWith(github.ref, 'refs/tags/') + env: + PACKAGECLOUD_TOKEN: ${{ secrets.PACKAGECLOUD_TOKEN }} + with: + repo: 'eugeny/tabby' + dir: 'dist' + + - name: Package artifacts + run: | + mkdir artifact-deb + mv dist/*.deb artifact-deb/ || true + mkdir artifact-rpm + mv dist/*.rpm artifact-rpm/ || true + mkdir artifact-pacman + mv dist/*.pacman artifact-pacman/ || true + mkdir artifact-tar.gz + mv dist/*.tar.gz artifact-tar.gz/ || true + mkdir artifact-web + mv tabby-web.tar.gz artifact-web/ || true + + - uses: actions/upload-artifact@master + name: Upload DEB + with: + name: Linux DEB (${{matrix.arch}}) + path: artifact-deb + + - uses: actions/upload-artifact@master + name: Upload RPM + with: + name: Linux RPM (${{matrix.arch}}) + path: artifact-rpm + + - uses: actions/upload-artifact@master + name: Upload Pacman Package + with: + name: Linux Pacman (${{matrix.arch}}) + path: artifact-pacman + + - uses: actions/upload-artifact@master + name: Upload Linux tarball + with: + name: Linux tarball (${{matrix.arch}}) + path: artifact-tar.gz + + - uses: actions/upload-artifact@master + name: Upload web tarball + with: + name: Web tarball + path: artifact-web + if: ${{ matrix.arch == 'x86_64' }} + + + Windows-Build: + runs-on: windows-2022 + needs: Lint + strategy: + matrix: + include: + - arch: x86_64 + - arch: arm64 + + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Installing Node + uses: actions/setup-node@v3.0.0 + with: + node-version: 16 + + - name: Update node-gyp + run: | + npm install --global node-gyp@8.4.1 + npm prefix -g | % {npm config set node_gyp "$_\node_modules\node-gyp\bin\node-gyp.js"} + + - name: Build + shell: powershell + run: | + npm i -g yarn@1.19.1 + yarn --network-timeout 1000000 + node scripts/build-native.js + yarn run build + node scripts/prepackage-plugins.js + env: + ARCH: ${{matrix.arch}} + + - name: Build and sign packages + run: node scripts/build-windows.js + if: github.repository == 'Eugeny/tabby' && github.event_name == 'push' && (github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags')) + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + WIN_CSC_LINK: ${{ secrets.WIN_CSC_LINK }} + WIN_CSC_KEY_PASSWORD: ${{ secrets.WIN_CSC_KEY_PASSWORD }} + DEBUG: electron-builder,electron-builder:* + + - name: Build packages without signing + run: node scripts/build-windows.js + if: "!(github.repository == 'Eugeny/tabby' && github.event_name == 'push' && (github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags')))" + env: + ARCH: ${{matrix.arch}} + + - name: Upload symbols + run: | + npm install @sentry/cli + node scripts/sentry-upload.js + env: + SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} + SENTRY_ORG: ${{ secrets.SENTRY_ORG }} + SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }} + + - name: Package artifacts + run: | + mkdir artifact-setup + mv dist/*-setup-*.exe artifact-setup/ + mkdir artifact-portable + mv dist/*-portable-*.zip artifact-portable/ + + - uses: actions/upload-artifact@master + name: Upload installer + with: + name: Windows installer (${{matrix.arch}}) + path: artifact-setup + + - uses: actions/upload-artifact@master + name: Upload portable build + with: + name: Windows portable build (${{matrix.arch}}) + path: artifact-portable From 0f35b3bcfae8c0ed8df75fb487c018fce5c1061e Mon Sep 17 00:00:00 2001 From: Jai A P <78354625+Jai-JAP@users.noreply.github.com> Date: Fri, 25 Mar 2022 16:16:57 +0530 Subject: [PATCH 26/34] Update build.yml --- .github/workflows/build.yml | 26 ++++---------------------- 1 file changed, 4 insertions(+), 22 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4a5478b5df..d9d3104ed6 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -131,12 +131,6 @@ jobs: Linux-Build: runs-on: ubuntu-18.04 # build against an older glibc for compatibility needs: Lint - strategy: - matrix: - include: - - arch: x86_64 - - arch: armv7l - - arch: arm64 steps: - name: Checkout @@ -162,27 +156,16 @@ jobs: - name: Build native deps run: scripts/build-native.js - env: - ARCH: ${{matrix.arch}} - - - name: Fix cross build - run: | - rm -rf app/node_modules/cpu-features - rm -rf app/node_modules/ssh2/crypto/build - if: ${{ matrix.arch == 'arm64' || matrix.arch == 'armv7l' }} - name: Webpack run: yarn run build - name: Prepackage plugins run: scripts/prepackage-plugins.js - env: - ARCH: ${{matrix.arch}} - name: Build packages run: scripts/build-linux.js env: - ARCH: ${{matrix.arch}} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} USE_HARD_LINKS: false # DEBUG: electron-builder,electron-builder:* @@ -226,25 +209,25 @@ jobs: - uses: actions/upload-artifact@master name: Upload DEB with: - name: Linux DEB (${{matrix.arch}}) + name: Linux DEB (x86_64) path: artifact-deb - uses: actions/upload-artifact@master name: Upload RPM with: - name: Linux RPM (${{matrix.arch}}) + name: Linux RPM (x86_64) path: artifact-rpm - uses: actions/upload-artifact@master name: Upload Pacman Package with: - name: Linux Pacman (${{matrix.arch}}) + name: Linux Pacman (x86_64) path: artifact-pacman - uses: actions/upload-artifact@master name: Upload Linux tarball with: - name: Linux tarball (${{matrix.arch}}) + name: Linux tarball (x86_64) path: artifact-tar.gz - uses: actions/upload-artifact@master @@ -252,7 +235,6 @@ jobs: with: name: Web tarball path: artifact-web - if: ${{ matrix.arch == 'x86_64' }} Windows-Build: From eb6bf288cc7e41724bad8571df0057955cdc0b11 Mon Sep 17 00:00:00 2001 From: Jai A P <78354625+Jai-JAP@users.noreply.github.com> Date: Fri, 25 Mar 2022 16:19:20 +0530 Subject: [PATCH 27/34] Update build.yml --- .github/workflows/build.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d9d3104ed6..de03ed1e3c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -172,7 +172,6 @@ jobs: - name: Build web resources run: zsh -c 'tar czf tabby-web.tar.gz (tabby-*|web)/dist' - if: ${{ matrix.arch == 'x86_64' }} - name: Upload symbols run: | @@ -182,7 +181,6 @@ jobs: SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} SENTRY_ORG: ${{ secrets.SENTRY_ORG }} SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }} - if: ${{ matrix.arch == 'x86_64' }} - name: Upload packages to packagecloud.io uses: Eugeny/packagecloud-action@main From b2c611f9a6ea1c8df9b44338ff05c0d499406863 Mon Sep 17 00:00:00 2001 From: Jai A P <78354625+Jai-JAP@users.noreply.github.com> Date: Fri, 25 Mar 2022 16:21:58 +0530 Subject: [PATCH 28/34] Update build-native.js --- scripts/build-native.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/build-native.js b/scripts/build-native.js index 94a81601be..6cd9b8f4b5 100755 --- a/scripts/build-native.js +++ b/scripts/build-native.js @@ -3,7 +3,7 @@ const rebuild = require('electron-rebuild').default const path = require('path') const vars = require('./vars') -process.env.ARCH = process.env.ARCH || process.arch +process.env.ARCH = process.arch === 'arm' ? armv7l let lifecycles = [] for (let dir of ['app', 'tabby-core', 'tabby-local', 'tabby-ssh', 'tabby-terminal']) { From 37ba06b65ce78160882216d65d163831bb5b5e63 Mon Sep 17 00:00:00 2001 From: Jai A P <78354625+Jai-JAP@users.noreply.github.com> Date: Fri, 25 Mar 2022 16:25:06 +0530 Subject: [PATCH 29/34] Update build-linux.js --- scripts/build-linux.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/build-linux.js b/scripts/build-linux.js index 0b302fa7f2..b055e42414 100755 --- a/scripts/build-linux.js +++ b/scripts/build-linux.js @@ -4,17 +4,17 @@ const vars = require('./vars') const isTag = (process.env.GITHUB_REF || '').startsWith('refs/tags/') -process.env.ARCH = process.env.ARCH || process.arch +process.env.ARCH = process.env.ARCH || process.arch === 'arm' ? armv7l : process.arch builder({ dir: true, linux: ['deb', 'tar.gz', 'rpm', 'pacman'], + armv7l: process.env.ARCH === 'armv7l', arm64: process.env.ARCH === 'arm64', config: { extraMetadata: { version: vars.version, }, - npmRebuild: process.env.ARCH == 'arm64', }, publish: isTag ? 'always' : 'onTag', }).catch(() => process.exit(1)) From ead2dbc208ca2d6d7e666c6b59c00db2071e0dac Mon Sep 17 00:00:00 2001 From: Jai A P <78354625+Jai-JAP@users.noreply.github.com> Date: Fri, 25 Mar 2022 16:25:39 +0530 Subject: [PATCH 30/34] Update build-native.js --- scripts/build-native.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/build-native.js b/scripts/build-native.js index 6cd9b8f4b5..02402c8564 100755 --- a/scripts/build-native.js +++ b/scripts/build-native.js @@ -3,7 +3,7 @@ const rebuild = require('electron-rebuild').default const path = require('path') const vars = require('./vars') -process.env.ARCH = process.arch === 'arm' ? armv7l +process.env.ARCH = process.arch === 'arm' ? armv7l : process.arch let lifecycles = [] for (let dir of ['app', 'tabby-core', 'tabby-local', 'tabby-ssh', 'tabby-terminal']) { From 5a66a64f8793eeef8fdcc1e710dc37c1d0e06ef3 Mon Sep 17 00:00:00 2001 From: Jai A P <78354625+Jai-JAP@users.noreply.github.com> Date: Fri, 25 Mar 2022 16:26:37 +0530 Subject: [PATCH 31/34] Update build-native.js --- scripts/build-native.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/build-native.js b/scripts/build-native.js index 02402c8564..d93559ede5 100755 --- a/scripts/build-native.js +++ b/scripts/build-native.js @@ -3,7 +3,7 @@ const rebuild = require('electron-rebuild').default const path = require('path') const vars = require('./vars') -process.env.ARCH = process.arch === 'arm' ? armv7l : process.arch +process.env.ARCH = process.env.ARCH || process.arch === 'arm' ? armv7l : process.arch let lifecycles = [] for (let dir of ['app', 'tabby-core', 'tabby-local', 'tabby-ssh', 'tabby-terminal']) { From 579c0e9aa5e7887b73a656c4b36afd12345004b7 Mon Sep 17 00:00:00 2001 From: Jai A P <78354625+Jai-JAP@users.noreply.github.com> Date: Fri, 25 Mar 2022 17:05:54 +0530 Subject: [PATCH 32/34] Update HACKING.md --- HACKING.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/HACKING.md b/HACKING.md index 844ff1bb06..065ad94f6e 100644 --- a/HACKING.md +++ b/HACKING.md @@ -14,6 +14,8 @@ yarn ./scripts/build-native.js ``` +**Note: For compiling for Linux armv7l, you need to downgrade electron to 17.0.0 in package.json present in root directory of tabby source** + ``` # Linux (Debian/Ubuntu here as an example) sudo apt install libfontconfig-dev libsecret-1-dev libarchive-tools libnss3 libatk1.0-0 libatk-bridge2.0-0 libgdk-pixbuf2.0-0 libgtk-3-0 libgbm1 cmake From 360b75693b9734bc79bafc97e460cbc5c47d40da Mon Sep 17 00:00:00 2001 From: Jai A P <78354625+Jai-JAP@users.noreply.github.com> Date: Fri, 25 Mar 2022 19:27:36 +0530 Subject: [PATCH 33/34] Update build-native.js --- scripts/build-native.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/build-native.js b/scripts/build-native.js index d93559ede5..9685efa147 100755 --- a/scripts/build-native.js +++ b/scripts/build-native.js @@ -3,7 +3,7 @@ const rebuild = require('electron-rebuild').default const path = require('path') const vars = require('./vars') -process.env.ARCH = process.env.ARCH || process.arch === 'arm' ? armv7l : process.arch +process.env.ARCH = process.env.ARCH || process.arch === 'arm' ? 'armv7l' : process.arch let lifecycles = [] for (let dir of ['app', 'tabby-core', 'tabby-local', 'tabby-ssh', 'tabby-terminal']) { From 48c06fc26eb95b6090fe153a58bc6f961e1ece86 Mon Sep 17 00:00:00 2001 From: Jai A P <78354625+Jai-JAP@users.noreply.github.com> Date: Fri, 25 Mar 2022 19:28:02 +0530 Subject: [PATCH 34/34] Update build-linux.js --- scripts/build-linux.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/build-linux.js b/scripts/build-linux.js index b055e42414..f8d91d6d02 100755 --- a/scripts/build-linux.js +++ b/scripts/build-linux.js @@ -4,7 +4,7 @@ const vars = require('./vars') const isTag = (process.env.GITHUB_REF || '').startsWith('refs/tags/') -process.env.ARCH = process.env.ARCH || process.arch === 'arm' ? armv7l : process.arch +process.env.ARCH = process.env.ARCH || process.arch === 'arm' ? 'armv7l' : process.arch builder({ dir: true,