Commit Graph

34 Commits (8632be21bebfa9ece815c3af4e298b775f50c85e)

Author SHA1 Message Date
Anthony Bilinski 41a555def9
chore(CI): Remove knowledge of build context from AppImage build script
* Since nightlies are now published under qTox/qTox, different update
  info is not needed for the zsync file.
* The github action yaml already handles naming files correctly
  otherwise.
2022-02-19 03:31:49 -08:00
Anthony Bilinski 75648d04b9
fix(appImage): Bundle libpangocairo which was incompatible on Arch
No systematic fix to the constant flakiness of AppImage. Although we could
upload the artifact in a job and download in on another job's platform,
minimal docker images aren't analogous to user desktop systems. AppImage
and linuxdeployqt specifically make assumptions about what libs should
exist, so our testing should be more real-world.

Will continue manually testing in full desktop VMs before release and
relying on user reports.

Fix #6454
2022-02-19 03:30:01 -08:00
Mick Sayson 8abe8320d2 chore(CI): Use docker for CI scripts
Motiviation:
* Reproducing issues in CI is currently difficult
* Predicting issues in CI is currently difficult if you are not on
  ubuntu 18.04
* Reproducing issues submitted from other distros is currently done by
  creating a VM of that distro and building qtox for it locally
* Documentation for how to build on different distros is out of date
* Issues on non-ubuntu distributions are not caught by CI
* Cross compiling for windows locally is not trivial
* Iterating when working with custom build scripts is slow, scripts
  don't necessarily support re-running without re-starting the docker
  container and re-building qtox again
* Updating dependencies is a pain

Changes:
* docker-compose file has been added to the root of our repo.
  After `docker compose run --rm ubuntu` (or other supported distros),
  you are ready to compile and run qtox
* Dependencies are owned by dependency install scripts in buildscripts/.
  This allows us to use the same exact dependencies in our
  OSX/windows/linux scripts
* New docker images have been added for a variety of distributions.
  These are now run in CI in a variety of configurations
  * Docker images are cached in CI so rebuild time for the majority of
    jobs is quite quick
* Build scripts have been trimmed to leverage state of docker
  containers.
  * Windows build script no longer installs anything, dependencies are
    now managed by the windows_builder docker images
  * Build scripts should now be easily re-runnable. Usage is now `docker
    compose run --rm <image>` and then run the scripts
* All artifacts are now uploaded to github after build, this means we
  can take an appimage/flatpak/exe/dmg for any given PR and try it out
  without having to build it ourselves

Notes:
* Docker image size is quite important. We have a maximum of 5GB cache
  space on github actions. The majority of the linux distro docker
  images cache at ~300-400MB, which gives us room to test ~6 distros
  after accounting for the sizes of flatpak/windows docker images
* Docker layer ordering is relatively intentional. Approximate order
  should be that large dependencies that change infrequently should be
  farther up. This lowers the amount of rebuilding we have to do when
  dependencies are updated
* download_xxx.sh scripts are the cleanest way I could find to implement
  a shared dependency map between osx scripts and docker containers.
  Although it would be nice to have a single dependency mapping file,
  splitting it into individual scripts allows us to only rebuild some
  docker layers when dependencies are updated.
* Github actions are split between docker image building and docker
  image use. This allows us to re-use the same docker images for
  multiple jobs, but only build it once
  * Unfortunately I could not find a way to de-duplicate the stitching
    between jobs, so we have a lot of copy pasta in that area
2021-12-19 14:56:05 -08:00
Anthony Bilinski 12ac833254
fix(appimage): Include additional needed glib for RH based distros
Add old glib to work with our old gnutls on redhat based systems.

Generally we would want to avoid providing our old libs that the distro's newer
libs that we use depend on, which would include harfbuzz in this case for glib,
but including harfbuzz breaks libfreetype on newer distros like arch.

Other libs that we use from the system with dependencies that we provide include
are libfreetype, libXdmcp, and libICE, but that is unchanged here.

Fix #6339
2021-10-27 18:55:58 -07:00
Anthony Bilinski cb8a095fd2
fix(appimage): Patch manually copied libs to include rpath for local dir
linuxdeployqt already does this for its copied libs. Required for included libs to find libs inside the appimage that they depend on.
2021-10-27 17:54:29 -07:00
Anthony Bilinski cb6fd88239
refactor(appimage): List manual libs and copy iteratively
Also preserve symlinks while copying with -P to avoid creating duplicate
files from symlinks on build env system.
2021-10-27 17:53:25 -07:00
Anthony Bilinski aee189d46d
fix(appimage): Handle no TRAVIS_TAG or TRAVIS_COMMIT in AppImage build
With set u, bash aborts when either is not defined. Also neither is set when
building locally.
2021-10-24 14:17:00 -07:00
Mick Sayson 670457a77b
fix(extensions): Add toxext to CI scripts 2021-01-30 18:15:36 -08:00
Anthony Bilinski 9888bc2d80
fix(build): disable Werror by default, keep enabled on CI
To allow for easier building with different compilers on user systems. Keep
strict checks on CI to make sure new warnings aren't ignored.
2020-04-12 16:30:17 -07:00
sudden6 1fa35bfcb5
chore: remove Debian bug workaround 2020-01-13 11:19:02 -08:00
sudden6 6fff5a59a4
chore: update AppImage build tools 2020-01-13 11:19:01 -08:00
sudden6 547a038e48
refactor: remove AppImage update bridge
When re-evaluating our dependencies we decided that the update bridge
has a high potential for security issues because it's not widely used.
Additionally similar functionality is already present in qTox.
2020-01-13 11:19:01 -08:00
Maxim Biro 710c32ded0
feat: add Fcitx and Uim support to AppImage 2019-10-09 23:19:27 -07:00
antony-jr e9665d517a
fix(build): fix cmake command in appimage/build.sh 2019-07-27 17:23:38 +05:30
antony-jr 837416b903
fix(build): install and use AppImageUpdaterBridge 2019-07-27 17:02:34 +05:30
antony-jr bcab4514e4
chore(build): use search_dependency to add AppImageUpdaterBridge 2019-07-27 16:49:23 +05:30
antony-jr e50b3bbd5c
fix(build): bundle missing libjack.so* to work with Fedora Workstation 2019-07-27 16:49:23 +05:30
antony-jr 21a6fa2b4f
chore(build): change copyright year 2019-07-27 16:49:23 +05:30
antony-jr 91141c2321
chore(build): change copyright as given previously 2019-07-27 16:49:22 +05:30
antony-jr 7153c1f2bf
fix(build): copy OpenSSL libs to AppDir 2019-07-27 16:49:21 +05:30
antony-jr 38e8e6927a
chore(build): turn off PR upload 2019-07-27 16:49:21 +05:30
antony-jr 5eea8ba27f
feat(build): add the delta updater 2019-07-27 16:49:20 +05:30
jenli669 04a9bc46f4
docs(copyright): update and add copyright info
zealously updates and adds qTox copyright information.

Fixes #5713
2019-06-28 01:18:26 +02:00
sudden6 9f8d0915f2
chore(build): fix snorenotify path in appimage 2019-03-24 11:58:10 +01:00
sudden6 5880ab8a42
chore(deploy): add snorenotify to AppImage deployment 2019-03-24 11:58:09 +01:00
sudden6 4e997b71de
chore(deploy): add sha256sum for linux deployments 2019-01-25 22:53:45 +01:00
Anthony Bilinski 6c9d7b59c1
feat(ui): add update notification enabled with -DUPDATE_CHECK
Fix #5335
2019-01-08 09:02:17 -08:00
sudden6 7aed694e45
chore(appimage): upstream renamed the branch 2018-12-25 19:33:04 +01:00
sudden6 0984829276
chore(deploy): add architecture to Flatpak and AppImage builds 2018-07-18 20:09:34 +02:00
sudden6 b7e6d4fadf
chore: fix small issues in deployment scripts and add debug mode 2018-07-18 15:20:31 +02:00
sudden6 64602f38f1
fix(deploy): fix file path in AppImage deployment 2018-07-04 00:54:31 +02:00
sudden6 22f7f958ed
chore(deploy): upload AppImage to Github releases on each tag 2018-05-19 09:10:37 +02:00
sudden6 64a7c24b2b
fix(appimage): build sqlcipher form source
Needed since Debian version is broken https://bugs.debian.org/850421
2018-05-05 01:53:36 +02:00
sudden6 f7345e4db2
feat(appimage): build appimage on TravisCI
first step on the way to #4874
2018-04-27 22:55:20 +02:00