tabby
tabby copied to clipboard
Better crossbuild v3 + fixes
This PR implements a slightly better and a faster way to cross-build arm(64) artifacts.
The previous approach uses a x64 bionic chroot to build the native modules, whereas this approach uses a bare bionic arm(64) debootstrap as a sysroot which is just used to link arm(64) libraries using --sysroot
parameter passed to gcc/g++ and PKG_CONFIG_PATH
to specify path of *.pc
files to pkg-config.
Thus this approach on its own should give a slight improvement as compared to a bionic chroot plus the added benefit of caching the sysroot makes it even faster than the previous approach implemented in #8613
Build times have been reduced from 15-20 mins to 11-13 mins.
Additionally this PR moves to Node 18 as version 16 now EOL, removes old code & fixes a potential ambiguous case in scripts/vars.mjs.
This PR is not tested but it should not break anything theoretically.
Thanks! Have you tested the produced ARM builds? I can test the rest
Thanks! Have you tested the produced ARM builds? I can test the rest
Nope, my pi is no longer working so can't test it.
Hi there! Is testing still required for this? I happen to have a working Raspberry Pi 400 at home and I could test the build if need be. I think it would be best to update this PR with the latest commits from the master branch before I do that though, to make sure that the latest release works and not just an old one.
The question would then also be what parts I should test exactly. Since there isn't a test suite or a written list of functions to specifically test for Tabby, I would love to hear what is roughly always tested before each Release is made.
@SmollClover thank you! It should be enough to just do basic testing of opening tabs & connecting to some SSH server as that will cover the most arch-related things (native Node modules in use)
Okay, I've tested the following things now:
- Normal Terminal
- SSH Connection
- Password Authentication
- Certificate Authentication
- Multiple Tabs
- Having them open
- Moving them around
- Coloring them
- SSH Port Forwarding
- Downloading and Uploading Files through SFTP
- Using a theme
- Installing Plugins
- Syncing the Config
- Using the Vault
- Passwords
- Certificates
- Passwords for the Certificates
- Encrypt config file
All of the above I have checked and can verify that those functions work without any issues exactly how it currently works on the latest release. I took the liberty of including most of the features I use on a daily basis in Tabby and I haven't found an error or inconsistency as to how they normally work. 👍🏻
Thank you! 🤝