1
0
mirror of https://github.com/qTox/qTox.git synced 2024-03-22 14:00:36 +08:00
Commit Graph

131 Commits

Author SHA1 Message Date
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
7f4c308990
Merge branch 'v1.17-dev' 2021-12-14 21:20:14 -08:00
Anthony Bilinski
f0e82c3d90
chore(release): Update version number to v1.17.4 2021-12-14 17:04:29 -08:00
Anthony Bilinski
e12e6fecaa
chore(deps): update c-toxcore to v0.2.13 2021-12-14 00:43:14 -08:00
Anthony Bilinski
9624fc33b0
chore(deps): update c-toxcore to v0.2.13 2021-12-08 01:02:55 -08:00
Mick Sayson
761c2fb292 fix(toxext): Update toxext to fix memory corruption issues
* tox_extension_messages updated as well for compatibility
2021-10-25 23:20:51 -07:00
Mick Sayson
670457a77b
fix(extensions): Add toxext to CI scripts 2021-01-30 18:15:36 -08:00
Anthony Bilinski
fb44905698
fix(osx): Fix product name when prompting for mic and camera permissions
Because we don't build with xcode with an xcode project, I think that causes
these variables to not be expanded.

Fix #6261
2021-01-23 19:39:08 -08:00
Anthony Bilinski
425e3f6518
Merge branch 'v1.17-dev' 2020-11-23 09:53:13 -08:00
Anthony Bilinski
8ba13db907
chore(release): Update version number to v1.17.3 2020-11-22 20:06:34 -08:00
Anthony Bilinski
bc2d41b42d
fix(osx): Don't tap kde-mac/kde since it us deprecated and unused
This has been updated on master.
2020-11-22 20:06:29 -08:00
Anthony Bilinski
191147be04
chore(travis): revert 8e597ed736
https://github.com/qTox/qTox/pull/5866 both updated our travis xcode version,
and also added the dots in 8e597ed736. When macOS
was updated by Apple, older versions aged out of support, and brew also stopped
supporting them. Our travis xcode9.2 at the time stopped getting binary
packages (kegs) from brew because of that, and started having to compile
packages which is what was causing the timeouts.

Updating our xcode version allowed us to get binary packages from brew again,
so the workaround of constant output to avoid timing out while compiling large
packages is no longer needed.

(cherry picked from commit db1397d69c)
2020-11-22 20:01:34 -08:00
Anthony Bilinski
8f3a621fc3
fix(osx): Allow rebuild using build script
Was failing if directory was already present on -i

(cherry picked from commit 56151ea6fd)
2020-11-22 20:01:05 -08:00
Anthony Bilinski
b40ba27be5
fix(osx): Fix missing variables in macOS build script
(cherry picked from commit 360cde9d36)
2020-11-22 20:00:57 -08:00
Anthony Bilinski
c5959f40a3
chore(deps): update c-toxcore to v0.2.12
(cherry picked from commit 728621f627)
2020-11-22 19:57:54 -08:00
sudden6
44008d11bb
chore: move OSX to use Brewfile 2020-11-06 23:23:06 +01:00
Anthony Bilinski
db1397d69c
chore(travis): revert 8e597ed736
https://github.com/qTox/qTox/pull/5866 both updated our travis xcode version,
and also added the dots in 8e597ed736. When macOS
was updated by Apple, older versions aged out of support, and brew also stopped
supporting them. Our travis xcode9.2 at the time stopped getting binary
packages (kegs) from brew because of that, and started having to compile
packages which is what was causing the timeouts.

Updating our xcode version allowed us to get binary packages from brew again,
so the workaround of constant output to avoid timing out while compiling large
packages is no longer needed.
2020-08-19 15:49:18 -07:00
Anthony Bilinski
56151ea6fd
fix(osx): Allow rebuild using build script
Was failing if directory was already present on -i
2020-08-19 04:05:43 -07:00
Anthony Bilinski
360cde9d36
fix(osx): Fix missing variables in macOS build script 2020-08-19 04:05:43 -07:00
sudden6
8dfd108cb8
chore: brew kde repository moved 2020-07-01 20:57:59 +02:00
sudden6
8768f6be37
refactor: remove unused OSX platform code 2020-06-22 01:12:35 +02:00
Anthony Bilinski
728621f627
chore(deps): update c-toxcore to v0.2.12 2020-05-01 15:37:47 -07:00
Anthony Bilinski
abd62b638a
Merge branch 'v1.17-dev' 2020-04-28 03:57:40 -07:00
sudden6
465d826068
chore: bump version and update changelog 2020-04-26 14:06:16 +02:00
Anthony Bilinski
00d08d9887
Merge branch 'v1.17-dev' 2020-04-24 18:37:27 -07:00
Anthony Bilinski
c748b5a8d0
Merge branch 'v1.17-dev' 2020-04-24 18:35:00 -07:00
sudden6
0f5c5482db
chore(release): update qTox version to 1.17.0 2020-04-19 23:26:57 +02:00
sudden6
9e7f2a67dc
Merge pull request #6093
iphydf (1):
      fix(osx): OSX updater dependency moved.
2020-04-19 17:04:06 +02:00
iphydf
28341d8457
fix(osx): Add camera and microphone usage description.
NSCameraUsageDescription and NSMicrophoneUsageDescription are needed on
newer macOS versions (10.14+) to get access to camera/microphone. This
text is shown to the user when they need to press the "allow" button.
2020-04-18 18:24:58 -07:00
iphydf
6d99e9099f
fix(osx): OSX updater dependency moved. 2020-04-16 15:47:51 +00:00
iphydf
5f1338dd78
fix(osx): Add camera and microphone usage description.
NSCameraUsageDescription and NSMicrophoneUsageDescription are needed on
newer macOS versions (10.14+) to get access to camera/microphone. This
text is shown to the user when they need to press the "allow" button.
2020-04-16 15:46:50 +00: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
a4ac178bbd
chore(deps): update c-toxcore to v0.2.11 2020-03-29 02:09:20 -07:00
Anthony Bilinski
ef8c2b7cb3
Merge branch 'v1.17-dev' 2020-03-28 01:43:40 -07:00
Anthony Bilinski
4f7056385f
refactor: remove dependency on libfilteraudio
The audio filtering/echo compensation didn't ever work reliably, so just
remove it.
2020-03-23 18:24:23 -07:00
sudden6
7c59ffb24b
chore(deps): update c-toxcore to v0.2.11 2020-03-23 21:09:23 +01:00
Anthony Bilinski
e97b270584
fix(osx): create /usr/local/sbin directory for brew package installation
ffmpeg dependency unbound attempts to symlink to /usr/local/sbin, failing if
the directory does not exist. /usr/local/sbin does not exist by default on
10.13 High Sierra, so prompt to create it if it doesn't exit, and create it for
travis CI automatically.
2019-10-09 23:15:23 -07:00
Anthony Bilinski
8e597ed736
chore(travis): make travis happy by having some output - but not too much
Fix #5515

brew install might take a long time to build Qt or ffmpeg. Travis kills us if
we don't output for 10 minutes. Travis also kills us if we output too much, so
verbose isn't an option. So just output some dots...
2019-10-09 23:07:24 -07:00
sudden6
79c88f2154
Merge pull request #5722
jenli669 (2):
      docs(copyright): update and add copyright info
      docs(copyright): Added copyright to apparmor .qtox files
2019-06-28 09:00:13 +02:00
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
Anthony Bilinski
86f0c3a54c
chore(build): update toxcore to v0.2.10 2019-06-27 01:10:03 -07:00
sudden6
a3f7732db2
chore: temporarily disable spell checking for MacOS 2019-03-17 11:59:07 +01:00
Anthony Bilinski
23da95a983
chore(build): update toxcore to v0.2.9 2019-01-13 13:09:24 -08:00
Anthony Bilinski
fd7097222d
fix(build): show brew compilation progress to avoid being killed by Travis 2019-01-12 22:54:02 -08:00
Anthony Bilinski
6c9d7b59c1
feat(ui): add update notification enabled with -DUPDATE_CHECK
Fix #5335
2019-01-08 09:02:17 -08:00
Anthony Bilinski
a14595b4f1
chore(release): update toxcore version to v0.2.7 2018-09-17 10:40:07 -07:00
Anthony Bilinski
5cc56c82f5
chore(build): allow osx mac deployer ultimate script outside of home
Also update toxcore build to cmake
2018-07-23 00:23:52 -07:00
Anthony Bilinski
ba983ae175
Merge v1.16.3 to master 2018-07-21 15:21:50 -07:00
Anthony Bilinski
8eed684c37
chore(release): update version number and changelog 2018-07-20 11:53:08 -07:00
sudden6
18358fc716
chore(deploy): build qTox with Sonnet on Mac 2018-07-19 20:31:57 +02:00