Commit Graph

37 Commits (master)

Author SHA1 Message Date
Anthony Bilinski 4f798e9742
chore(docs): Update translation workflow
Weblate settings are changed to rebase commits onto our master continuously. All
that's needed to pull in translations now is to pull, rather than locking, using
a custom script, and resetting the Weblate repo.

Committing translatable strings is now done on every commit and checked on PR,
so that is no longer part of the import process.

Commits on Weblate are squashed using the "squash git commits" addon. It is
configurable to squash all commits into one and add co-author commit messages,
like we do now. Instead I've set it to just squash commits from a single author
for clearer attribution.
2022-02-21 03:32:48 -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 5d459d2fda
chore(docs): Remove mentions of travis from docs 2022-02-19 03:31:48 -08:00
Anthony Bilinski c06e830f71
chore(maintaining): Remove update-toxcore-version.sh script
Was used to update all the duplicate versions of toxcore spread around the
repo. Now all builds and user instructions for the version come from
buildscripts/download/download_toxcore.sh directly, so this script serves no
purpose.
2022-01-04 13:50:30 -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 12fc33ee23
chore(release): Update release instructions to reflect current procedure 2020-11-27 06:18:33 -08:00
sudden6 f37813ff88
refactor: move translations to their own module 2020-07-03 15:46:07 +02:00
sudden6 da0bae5430
chore(nodes): update bootstrap nodes and tools
Add a script to update bootstrap nodes from nodes.tox.chat.
Update maintainer instructions for release.
2020-03-29 19:30:44 +02:00
Anthony Bilinski 871b363b6d
chore: update wording of CI job restart instructions
The tool isn't confused in this case, just cleaning up.
2020-03-03 15:06:07 -08:00
sudden6 3d2dbb63b2
chore: add instructions to restart nigthly builds 2020-03-01 18:16:41 +01:00
Anthony Bilinski 73fedbba79
Merge branch 'v1.17-dev' 2019-10-10 03:11:19 -07:00
Anthony Bilinski fe9d83d881
chore(tools): allow merging PR to whatever branch is checked out
Useful for either dev testing or merging PRs to dev branches. Also stop
updating local repo state beyond merging the PR.
2019-10-09 23:16:33 -07:00
sudden6 02361093a9
docs: update MAINTAINING.md with new rules for taggin issues 2019-08-14 11:09:35 +02:00
sudden6 b42ad83478
chore: add formatting code to release steps 2019-05-09 11:54:01 +02:00
Anthony Bilinski 51835851b9
docs(MANTAINING): clarfiy translation update process 2019-04-24 09:14:25 -07:00
Anthony Bilinski 922fd58af6
chore(maint): remove deprecated update-nodelist tool
nodelist is now stored directly in JSON format, since 1f2bdf3a1b
2019-04-22 22:26:47 -07:00
Anthony Bilinski 003ff4c7e4
chore(release): add tool from abbat to update bootstrap list, update bootstrap list 2018-09-06 10:01:10 -07:00
Anthony Bilinski 7ff1d6053a
feat(build): update docs and tools to provide signed tar.gz
To support openSUSE package creation.

Fix #5278
2018-08-28 11:46:37 -07:00
sudden6 e22a22d0f4
chore: add instructions for updating our Flathub repository 2018-07-23 22:15:44 +02:00
sudden6 8317f2473f
docs: Update instructions to pull translations 2018-07-12 11:34:01 +02:00
Anthony Bilinski d7b6af9a5b
chore(release): Update README download links and MAINTAINING.md 2018-04-25 13:32:15 -07:00
Zetok Zalbavar ddc0723c5b
docs(MAINTAINING): update release section and split into sections 2017-07-16 13:50:48 +01:00
Zetok Zalbavar 1d71952dc5
docs(MAINTAINING): update instructions for release version bump 2017-05-13 22:12:15 +01:00
Zetok Zalbavar e4d40dcb96
docs(MAINTAINING): update `help wanted` tag in the `Issues` section 2017-05-08 12:46:01 +01:00
Zetok Zalbavar 2248deb18b
docs: add docs about adding new translations from Weblate
Also update the link to Weblate's git repo.
2017-02-23 11:39:32 +00:00
Zetok Zalbavar 63e95f3528
chore(build): adjust version updating script to not rely on git
Relying on git doesn't work in awful lot of cases, e.g. when there's a
shallow `git clone`.

Instead have "hardcoded" version in files, and update it before release.

Closes #4165.
2017-02-11 17:04:58 +00:00
Zetok Zalbavar fd3b7f9450
docs(MAINTAINING): add info about pull request "expiration date"
Also removed obsolete info regarding PRs.
2017-01-24 22:11:39 +00:00
Zetok Zalbavar 343989d575
chore(tools): add a script for creating and signing release tarballs
`lzip` is used for its great compression (better even than `xz`) and
properties that make it a viable format for long-term archiving (feature
that `xz` is missing).

http://www.nongnu.org/lzip/xz_inadequate.html

Also add some docs regarding release process.

Re: #3912, #4045
2017-01-05 11:08:23 +00:00
Zetok Zalbavar 37ac16955c
docs(maint): remove obsolete part about translations from Weblate
Weblate introduced new settings that allow defining custom commit names,
which removes the need to rename commits.
2016-12-14 16:39:48 +00:00
Zetok Zalbavar 70246f0208
chore(tools): add script to automatically update & amend Weblate commits 2016-11-05 20:21:14 +00:00
Zetok Zalbavar ce9406c959
docs: move `Reviews` section and add `Testing PRs` section
Since anyone, not just maintainers can review PRs.
2016-10-25 08:59:49 +01:00
Zetok Zalbavar dc10309a82
chore: update docs & scripts for getting translations from Weblate
Removed not used script.
2016-09-19 19:00:04 +01:00
Zetok Zalbavar c8bbd076da
docs(MAINTAINING): note that merging PRs should be done locally 2016-08-09 17:42:05 +01:00
Zetok Zalbavar 68fcdaefdf
docs(MAINTAINING): add instructions for becoming a maintainer
Also add steps for reviewing PRs and slightly adjust formatting.
2016-08-06 20:40:15 +01:00
Zetok Zalbavar 34fb127db1
docs(MAINTAINING.md): note that not using merge script can break builds 2016-07-07 14:14:50 +01:00
Zetok Zalbavar f634500cb5
docs(MAINTAINING.md): add more git-related info
Point to CONTRIBUTING.md section for GPG-signing config & links.
Add command for alias to check commit signatures.
2016-04-24 12:43:50 +01:00
Zetok Zalbavar 2646e454e8
docs: add MAINTAINING.md with maintenance guidelines
Most likely doesn't have all the necessary knowledge (yet).
2016-04-24 12:43:50 +01:00