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

38 Commits

Author SHA1 Message Date
Anthony Bilinski
46ef31293c
refactor(CI): Rename Windows cross compile builds to match cmake types
Debug and Release with capital letters are consistent with all our other CI
script build type names as well as cmake build types.
2022-05-21 18:21:04 -07:00
Anthony Bilinski
0d1f4c4728
chore(CI): Revert macOS runner hack needed for keg-only git install
This reverts commit f8e834c5c0.

Appears to no longer be an issue, brew is now able to use the pre-installed
version of git without error.
2022-05-19 20:15:02 -07:00
Anthony Bilinski
a004243cc0
chore(CI): Update brew package formulae before running upgrade
Otherwise we're upgrading packages based of a stale package list.
2022-04-30 18:47:04 -07:00
Anthony Bilinski
f8e834c5c0
chore(CI): Remove keg-only install of git in github action runner
Doesn't have a formula present, but is still linked to /usr/, so
conflicts with installing or upgrading git from out brewfile. Removing
it gives us a more standard environment, and allows us to test our
brewfile unmodified.

Fixes run failures like
https://github.com/qTox/qTox/runs/6111786910?check_suite_focus=true
2022-04-27 19:00:47 -07:00
Anthony Bilinski
8a8a34ea64
chore(CI): Update checkout action to v3 2022-03-30 02:47:44 -07:00
Anthony Bilinski
e80db6a532
feat(macOS): Build deps from source, giving backwards compatibility
Keep second CI job building with deps from brew, to test the workflow of a user
building qTox from source, with deps from brew.

Fix #6260
2022-03-30 00:47:12 -07:00
Anthony Bilinski
f3420a0b8f
chore(CI): macOS CI script support for both full dep build or just qTox build 2022-03-30 00:47:12 -07:00
Anthony Bilinski
c828a16b7b
feat(CI): Run clang-tidy check in CI 2022-03-15 08:19:53 -07:00
Anthony Bilinski
47d52f9977
chore(CI): Fix gitstats cloning by cloning with https
To resolve the error:
  The unauthenticated git protocol on port 9418 is no longer supported.
2022-03-15 07:07:52 -07:00
Anthony Bilinski
ba17b5130c
Revert "chore(CI): Disable online tests in all but one CI job"
This reverts commit fd2997c2db.

Core tests are no longer online, so no longer are flaky nor tie up many
minutes of test runner time. So re-enable for all jobs.
2022-03-13 03:21:27 -07:00
Anthony Bilinski
be3e8997c4
chore(CI): apt-get update in gitstats runner
Package cache is stale and causing a failure to install.
2022-03-09 19:31:40 -08:00
Anthony Bilinski
fd2997c2db
chore(CI): Disable online tests in all but one CI job
They're still slightly flaky even with insanely long timeouts, and even when not they waste a huge amount of our runner time sitting and waiting for the DHT to disconnect and reconnect.

Still run on our fedora job to get almost all of the benefit, plus AddressSanitizer is enabled there for better testing synergy.
2022-03-08 20:18:35 -08:00
Anthony Bilinski
2bcd85cfe4
chore(CI): Add more artifacts to nightly release
To match functionality of old qTox/qTox-nightly-releases/releases nightlies.

Add flatpak sha, Windows zip shas, Windows installers, macOS sha.
2022-03-06 18:16:33 -08:00
Anthony Bilinski
3170dd8d62
chore(CI): Don't try to deploy from forks
Gitstats and doxygen deploys require deploy keys to update qTox's website.
Don't try to do this from forks, since it will always fail.
2022-03-03 03:59:12 -08:00
Anthony Bilinski
e18118c1bc
chore(CI): Don't try to upload installer on debug builds
The installer is only built on release builds. We used to ignore failure to
upload prior to 5fcf86b521. We stopped ignoring
because a07ab89cc8 tried to make our upload
targetted, but it only resolved the issue for the zip, not the installer.
2022-03-02 21:58:57 -08:00
Anthony Bilinski
bad2e0aba9 chore(CI): Fix appimage missing rename for nightly zsync upload 2022-02-28 20:38:36 -08:00
Anthony Bilinski
bf6d01598f
feat(CI): Run AddressSanitizer on Fedora build
Keep disabled for jobs that produce artifacts to not affect user performance.
Keep disabled for other distros that don't produce artifacts as well since other versions of Qt fail themselves in e.g. TestSmileyPack's QGuiApplication usage.

Don't enable thread sanitizer yet due to many Qt internal errors.

This should still give us a significant increase in qTox coverage, even if we have low platform coverage.
2022-02-24 07:28:11 -08:00
Anthony Bilinski
25b70761e5
chore(CI): Correct doxygen deploy access 2022-02-24 05:51:27 -08:00
Anthony Bilinski
f81c9bca29
chore(CI): Don't overwrite nightly release name and description
Allows maintainers to write a user friendly message rather than just having the
last commit desription.
2022-02-23 21:11:02 -08:00
Anthony Bilinski
b24610fc62
chore(CI): Revert nightly AppImage name to "nightly"
Changed in 41a555def9, I think by accident.
Causes our release uploader to no longer replace the old version, instead
adding a new version each time it runs.

Keeping named overwrite instead of removing release artifacts and
uploading new ones, since removing old artifacts would require a new job
that all other jobs depend on to avoid re-removing, and would also
create a gap while CI is running run where no artifact is available.

We could upload artifacts using actions/upload-artifact in each job then
download them at the end and update the release at that point too, if we
really want to keep sha name in the nightly release artifacts. I don't
see much value of having the sha in the filename though.
2022-02-23 21:11:02 -08:00
Anthony Bilinski
d3995bc87e
fix(doxygen): Re-enable deploying of doxygen to qtox.github.io
Hasn't been run since the travis days.

Now managed through a deploy key rather than an access token to limit scope to
a single repo. Private key is stored in qTox/qTox as a repository secret, and
the public portion is saved to qTox/doxygen as a deploy key.
2022-02-23 21:10:32 -08:00
Anthony Bilinski
e5d138f79c
chore(CI): Move gitstats and docs to ubuntu-latest
They're not platform dependent and the rest of our jobs run on ubuntu-latest.
Might as well move this one over so we don't have to remember to update it.

gitstats is not available in repo any longer, so install manually.
2022-02-23 21:10:03 -08:00
Anthony Bilinski
2f92a5f2f0
fix(CI): Remove "setup" from Windows zip file name
Matches previous behaviour, and the zips don't do any installation.
2022-02-20 18:15:52 -08:00
Anthony Bilinski
c726b9ce23
fix(CI): Don't upload Windows setup exe to nightly release
Matches previous behaviour from travis. Avoids spreading a possibly buggy
nightly around a tester's system.
2022-02-20 18:15:49 -08:00
Anthony Bilinski
939bf6a2c1
chore(CI): Re-remove GH action if-no-files found conditions
Was accidentally reintroduced in c85e24e7db after
being removed in 5fcf86b521
2022-02-20 17:30:19 -08:00
Anthony Bilinski
11450afa81
feat(i18n): Check for new translatable strings on every PR
We've only been updating translatable strings for Weblate rarely based on
MAINTAINING.md#translations-from-weblate. Since Weblate pulls in commits live
from qTox, we should generate the translatable strings as soon as they're
introduced so that translators can not waste time translating deleted strings,
and can spend time translating new strings.

We can't auto-commit the changes in CI due to our requirement of signed
commits, so just fail CI if any new strings are found.

Move it into its own job, it doesn't depend on docker or the build, and doesn't need to run for debug/release/full/minimal
2022-02-20 17:04:05 -08:00
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
a764aebaf9
chore(CI): Remove unused CI environment variables
Not used since CI docker refactor.
2022-02-19 03:31:49 -08:00
Anthony Bilinski
5bcfd21760
chore(CI): Deep clone for gitstatus initially instead of recloning 2022-02-19 03:31:48 -08:00
Anthony Bilinski
6fd79c65e7
chore(CI): Remove travis config and directory
Move all CI scripts to generic .ci-scripts dir
2022-02-19 03:31:48 -08:00
Anthony Bilinski
3f2d953473
chore(CI): Revert 8a72928ad1
"chore(travis): don't fail generating docs when there's no git version"

No longer a concern on GH actions which allows deep clones.
2022-02-19 03:31:16 -08:00
Anthony Bilinski
5a77a18fc0
fix(gitstats): Re-enable deploying of gitstats to qtox.github.io
Hasn't been run since the travis days.

Now managed through a deploy key rather than an access token to limit scope to
a single repo. Private key is stored in qTox/qTox as a repository secret, and
the public portion is saved to qTox/gitstats as a deploy key.
2022-02-19 03:15:41 -08:00
Mick Sayson
1288a0a7fa
chore(ci): Windows docker build fixes
* Fix unit tests not running in windows build
* Fix missing comment ports from old build script
2022-02-17 10:10:20 -08:00
Anthony Bilinski
1bc72ab1a4
fix(CI): Grant action content write permission for release upload
By default our organization on GH only grants a more restricted read
permission to actions for content APIs, which include both writing to
repo for nightly tag creation, and writing to releases for nightly and
tag release creation or updates.
2022-02-17 09:01:01 -08:00
Anthony Bilinski
44d867f624
fix(CI): Fix regression in logging from docker compose run
Replace "docker compose run" with "docker-compose run".

Seems like some kind of github actions regression:
https://github.com/github/feedback/discussions/11011
2022-02-16 19:32:47 -08:00
Anthony Bilinski
90484a1fdf
chore(CI): Replace CentOS 8 CI with AlmaLinux
CentOS is EOL, and AlmaLinux seems like the closest successor
2022-02-08 02:08:42 -08:00
Anthony Bilinski
65c42ebd9e
chore(release): Create release on tag push
Release will be created as a draft, remaining private until manually published.
All generated artifacts will be uploaded, but will still need to be signed, and
the code archives still need to be created following
MAINTAINING.md#after-tagging

Fix #6345
2022-01-09 21:06:40 -08:00
Anthony Bilinski
c85e24e7db
chore(release): Create nightly release on master branch pushes
* Tag is required to create a release, so tag "nightly" is moved to
  latest commit on each run.
* Each time the tag is moved, the existing "nightly" release is updated
  automatically by github to point to the new tag and bundle the new
commit's source code.
* Artifacts are uploaded with intentionally conflicting names to replace
  last commit's version of artifacts, rather than deleting the whole
release and making a new one.
* This has two benefits, it doesn't notify of a new release on each
  commit, and it doesn't leave a gap where there's no nightly release
available.
2022-01-09 20:55:07 -08:00