Commit Graph

285 Commits

Author SHA1 Message Date
Travis Ralston
ec66069e96 Update build scripts for new process
We have to convert *something* to TypeScript so it doesn't complain that there's nothing to compile, so this converts the easiest utility library.

Many of the scripts are copied from the react-sdk.
2020-01-08 16:09:42 -07:00
Travis Ralston
3389f7afc9 Fix version file for Docker images
Fixes https://github.com/vector-im/riot-web/issues/11642
2019-12-24 18:34:40 -07:00
Travis Ralston
831522d02d Update Lithuanian language name
By request: https://matrix.to/#/!yvhoprZiKmhjxKfNHa:matrix.org/$E_5Waedui4X866edAWmYVAjg6vv-vwAXRHN4h0DKY6s?via=matrix.eclabs.de&via=matrix.org&via=dodsorf.as
2019-12-03 23:14:40 -07:00
Travis Ralston
ea1ed19a92
Merge pull request #11592 from vector-im/travis/more-language
Enable more languages
2019-12-03 10:11:54 -07:00
Travis Ralston
e4bf84701d Use ISO code table as a source instead
https://en.wikipedia.org/wiki/List_of_ISO_639-2_codes
2019-12-03 09:52:10 -07:00
Travis Ralston
a76f897171 Enable more languages
Enabled (riot-web % / react-sdk %):
* Lithuanian: 100% / 48.1% translated
* Hindi: 69.6% / 36.5% translated
* Ukrainian: 100% / 28.5% translated
* Icelandic: 43.5% / 27.7% translated

They aren't the highest languages, but they are more than our lowest translated & enabled languages.
2019-12-02 20:55:16 -07:00
Travis Ralston
726bf35b76 Fix Docker build for develop and publish a /version file
Fixes https://github.com/vector-im/riot-web/issues/10426
2019-12-02 16:58:50 -07:00
RiotRobot
b93b6b448e Restore creation of the dist directory 2019-11-27 13:02:14 +00:00
RiotRobot
d0c8a6af50 Copy signed Windows installers to pub directory 2019-11-27 12:44:40 +00:00
RiotRobot
dd9305140b Only log signing command when it fails 2019-11-27 12:22:51 +00:00
RiotRobot
cde5c9c027 Remove redundant Windows installer signing
The signing in `electron-package.sh` is no longer needed, since it's already
handled in the new sign script for `electron-builder`.
2019-11-27 12:15:05 +00:00
RiotRobot
99ee0fc72d Fix Windows signing args
The hash arg seems to only accept the short `-h` form. In addition, the args in
the environment contained a fixed hash type which is removed here.
2019-11-27 11:54:33 +00:00
David Baker
070d5fc6e8 Sign all of the Windows executable files
We can actually just supply a custom signing module here to do our
signing rather than manually signing things in the afterSign hook.
This means all 4 executable files get signed (the main exe, the
stub exe, Update.exe and the installer).
2019-11-26 12:08:29 -07:00
David Baker
64c23ae18d Fix error/exception in electron signing script
'Exception' isn't a thing: Error is
2019-11-19 15:55:03 +00:00
David Baker
8e81685a9f
Merge pull request #11126 from vector-im/dbkr/windows_signing
Sign main Windows executable
2019-10-18 12:02:04 +01:00
David Baker
94e721acf2 Update cert name & do bash globbing correctly 2019-10-18 10:31:45 +01:00
David Baker
3545b2751d
typo
Co-Authored-By: Travis Ralston <travpc@gmail.com>
2019-10-18 10:08:43 +01:00
David Baker
21ea6c6283
Merge pull request #11119 from vector-im/dbkr/notarise
Notarise the macOS app
2019-10-11 15:48:04 +01:00
Nazım Can Altınova
dd9898e687 Fix the label of Turkish language
Türk means Turkish as nationality and Türkçe means Turkish as language.
2019-10-11 14:01:16 +02:00
David Baker
1ff06c4be4 Missing space
also don't print the signing command line as it has the token password
2019-10-11 12:21:28 +01:00
David Baker
5a7efcd738 Sign the main executable on windows
and automate the signing of the installers
2019-10-11 12:01:50 +01:00
David Baker
071223120b Warn that this might be a while 2019-10-11 10:45:42 +01:00
David Baker
2bab328f8d Check everything's in place for the notarising dance
...before we start the build process.
2019-10-10 15:32:17 +01:00
David Baker
7faba49f66 fix quotes 2019-10-10 11:53:49 +01:00
David Baker
bad97db302 remove random spaces 2019-10-09 16:40:31 +01:00
David Baker
ff70339aad Working branch for notarisation 2019-10-09 16:29:24 +01:00
J. Ryan Stinnett
54767b5a65 Clean Yarn cache during Electron builds 2019-09-27 12:49:13 +01:00
Travis Ralston
6b07186078 Verify i18n in CI 2019-07-11 12:45:06 -06:00
J. Ryan Stinnett
aaceaf097c Add Albanian language 2019-06-04 17:45:59 +01:00
J. Ryan Stinnett
1c42ee1a30 Add West Flemish language 2019-06-04 17:43:28 +01:00
Matthew Hodgson
4cbe6c1000 remove emojione 2019-05-19 21:26:11 +01:00
Travis Ralston
3123b429f7 Increase timeout for yarn install in Docker builds
Otherwise we run into problems where Docker Hub's limited machines timeout trying to download our dependencies
2019-05-15 16:24:25 -06:00
David Baker
a7756fc876 Respond quickly to buildkite pokes
Otherwise it thinks they have failed, as per comment.
2019-05-02 18:05:11 +01:00
Travis Ralston
9957149115
Merge pull request #9426 from vector-im/travis/dockerfile-continued
Add Dockerfile (part 2)
2019-05-01 10:42:21 -06:00
David Baker
77dff119db Fix variable scope in redeployer 2019-04-26 16:26:48 +01:00
David Baker
0718d438b8 Fix more typos in redeployer 2019-04-26 16:19:49 +01:00
David Baker
3a2541d3bf more logging for auto-deployer 2019-04-26 16:16:14 +01:00
David Baker
f49732b036 Link to buildkite webhook docs 2019-04-26 15:41:20 +01:00
J. Ryan Stinnett
73144c3493
Typing is hard
Co-Authored-By: dbkr <dbkr@users.noreply.github.com>
2019-04-26 15:40:23 +01:00
J. Ryan Stinnett
c5e7e82b46
I can't type buildkite
Co-Authored-By: dbkr <dbkr@users.noreply.github.com>
2019-04-26 15:40:05 +01:00
David Baker
af6ad9355d Convert redeploy.py to buildkite 2019-04-26 15:26:03 +01:00
David Baker
c62da0eda6 Don't fail if there's no local config to remove
The script has a set -e so don't fail if there's nothing to rm
2019-04-26 14:13:02 +01:00
David Baker
afc2b48073 combine sets 2019-04-26 12:22:32 +01:00
David Baker
1b8583fa51 Change jenkins script to package script
Take the useful part of the jenkins script and put it in a script
that makes a package with the git hashes as its version.
2019-04-26 11:25:41 +01:00
J. Ryan Stinnett
8002d98f50 Remove config.json from package dir 2019-04-24 11:28:26 +01:00
David Baker
addca871ad Fix default for --include arg
nargs options are arrays and we assume it's an array later, so it
would iterate over each char of the string if left as the default
2019-04-17 18:31:36 +01:00
Travis Ralston
1bb70930fa Support custom SDKs and use yarn 2019-04-10 15:47:02 -06:00
J. Ryan Stinnett
52ad757cf4 Switch to git protocol for CI dependencies
If you try to clone a repo that doesn't exist via `https`, `git` will prompt for
auth credentials and hang forever. Using `git` avoids this and fails immediately
instead, which is what we want for a missing repo.

Part of https://github.com/vector-im/riot-web/issues/9221
2019-03-20 18:06:18 +00:00
J. Ryan Stinnett
f5c28a19e1 Support CI for matching branches on forks
Currently, people with push access to the main Riot repos can push matching
branch names to Riot and the SDKs, and CI will test all the branches together.
This change allows contributors to access the same ability when submitting
several matching PRs from their fork of each repo.

Part of https://github.com/vector-im/riot-web/issues/9041
2019-03-19 18:17:27 +00:00
Travis Ralston
df7b617881 Fix downstream branch fetching
We should be giving the PR the best possible chance at passing the build.
2019-03-15 10:23:43 -06:00
Travis Ralston
ef6313fbb4 Use the right CI branch 2019-03-13 22:44:28 -06:00
J. Ryan Stinnett
1312ba537a Update scripts and docs to use yarn where appropriate
Most `npm` operations are replaced with `yarn`, which generally has better
behavior. However, steps like publish that write to the NPM registry are left to
`npm`, which currently handles these tasks best.
2019-03-12 11:06:57 +00:00
David Baker
12a56e37ba Don't copy the 32 bit linux deb
As per comment
2019-03-07 11:12:43 +00:00
David Baker
7b684aee0c Also makes this unnecessary 2019-03-06 16:48:58 +00:00
David Baker
8543c7b9ff Merge branch 'release-v1.0.2' 2019-03-06 11:36:41 +00:00
David Baker
53e25ff247 Set a resuire alias for the webapp directory
So languagehandler can pull the languages json from there
2019-03-01 11:32:37 +00:00
J. Ryan Stinnett
09b17f77c2 Fix language file path for Jenkins
Jenkins seems to use a different layout of the repos than other environments.
The sub-projects are cloned inside of the `riot-web` workspace. To account for
this, we need to adjust the Riot language file path.
2019-02-21 12:31:45 +00:00
Bruno Windels
e56206241b use same hash format as webpack defaults 2019-02-20 09:39:27 +01:00
Richard van der Hoff
d4e1f1af7a
Fix cleanup script not to remove extracted/bundles directories (#8764) 2019-02-18 17:05:48 +00:00
Bruno Windels
878190ba27 add content hash to individual language files 2019-02-18 16:11:41 +01:00
Matthew Hodgson
20dc7068af
Merge pull request #8550 from abeluck/develop
Make scripts/make-icons.sh work on linux
2019-02-15 12:28:58 +00:00
J. Ryan Stinnett
674b8c3561 Merge branch 'release-v1.0.0' 2019-02-14 17:11:09 +00:00
J. Ryan Stinnett
4872992ba2 Make arch specific directories 2019-02-14 13:13:53 +00:00
J. Ryan Stinnett
2b069fce75 Copy unsigned builds to separate dirs 2019-02-14 13:05:49 +00:00
J. Ryan Stinnett
0f4757c289 Fix up packaging directories for Windows 2019-02-14 12:54:26 +00:00
Abel Luck
d395fdcc6a
Make scripts/make-icons.sh work on linux
This commit detects if the macos-only utility `iconutil` is available in
the PATH, if it is, then the icns is built as usual. However if it
isn't (such as on a linux system), then it checks for `png2icns` and
uses it if possible.

Signed-off-by: Abel Luck <abel@guardianproject.info>
2019-02-13 11:59:36 +01:00
J. Ryan Stinnett
7b9de1dbf2 Remove Status theme 2019-02-13 10:47:51 +00:00
J. Ryan Stinnett
dd51cccd7c Move home to welcome, remove unused images 2019-02-07 17:10:38 +00:00
vectorwebexp@ares
c421c0b1bf cleanup script for the deployment dir
-- richvdh
2019-02-02 22:43:43 +00:00
David Baker
03de7f9901 Cache-bust olm.wasm
In the same way as we now do images/fonts
2019-01-28 14:09:28 +00:00
David Baker
a28691f14d Add returns to fetch-develop-deps
These look necessary for https://github.com/vector-im/riot-web/pull/8225
to work - the build is failing on jenkins
2019-01-23 11:40:21 +00:00
J. Ryan Stinnett
cf150fc575 Try fetching more branches for PRs
Attempt both the PR author's branch and the PR's target branch. This resolves
issues on experimental where we need matrix-react-sdk to also be experimental.
2019-01-22 21:28:09 -06:00
J. Ryan Stinnett
49be03e845 Process images with Webpack
This adds a `file-loader` rule to the Webpack build so that any requests for
image resource will be output into the app's output directory, but with an extra
content has appended so that we can safely use a long cache lifetime.

The CSS and SCSS rules are also changed to use `css-loader` so that any `url`
inside is automatically processed by the new image rule above.
2019-01-18 08:39:09 -06:00
David Baker
8298e73205 Argh, npm, why are you so awful? 2018-11-21 19:25:11 +00:00
David Baker
d2c87a0331 Fix jenkins build 2018-11-21 19:13:42 +00:00
David Baker
7df77d7e5d Recent node please 2018-11-21 19:00:11 +00:00
Aaron Raimist
2f991d190f
Add Japanese (#7599)
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2018-11-08 13:31:09 -06:00
David Baker
9b80aa76ce
Merge pull request #7385 from vector-im/dbkr/wasm
Support WebAssembly version of Olm
2018-10-25 15:58:24 +01:00
David Baker
de7d3ba701 Change electron build script paths
Because electron builder has decided to output the mac assets to
somewhere else today.
2018-10-16 10:26:04 +01:00
David Baker
c5ee92f4c3 Fall back to legacy asm.js Olm 2018-10-04 20:11:34 +01:00
David Baker
30f0a7932b Merge remote-tracking branch 'origin/develop' into dbkr/wasm 2018-10-02 16:58:31 +01:00
David Baker
1f34d2d644 Kill off olm-loader
Now that Olm needs to be inited asynchronously anyway, we can just
pass the options to Olm.init(), and as long as we do that before we
start the js-sdk, we're all good.

This will means the olm js is now part of the main bundle but since
it's now just a wrapper around the wasm, this is probably faster.

Also add the directwatch flag to olm.wasm because otherwise it
doesn't seem to copy the file in watch mode...
2018-09-26 16:44:52 +01:00
Travis Ralston
4041f3db5c Send standard output/input from npm-sub.js to the parent proc 2018-09-25 15:54:38 -06:00
Travis Ralston
91304e70a1 Swap out the complicated canary stuff for serial execution
Fixes https://github.com/vector-im/riot-web/issues/7386
2018-09-25 15:49:14 -06:00
Travis Ralston
27c23058dc Alter build process to rely on canaries only
With the react-sdk and js-sdk having their `npm start`s split out (as per https://github.com/matrix-org/matrix-react-sdk/pull/2175 and https://github.com/matrix-org/matrix-js-sdk/pull/742) we can trigger an initial build ourselves and start the watcher afterwards. This canary approach has a very slight speed increase over serially running all the commands as the watcher can be started as early as possible.

This all can be improved and potentially eliminated with a bit more planning, however: https://github.com/vector-im/riot-web/issues/7386
2018-09-25 11:20:58 -06:00
David Baker
c511902356 Support WebAssembly version of Olm.
* Olm no longer supports setting the stack/memory size at runtime,
   so don't (they're now set to be that in the Olm build).
 * Copy the wasm file from the Olm library (see multiple comments
   about it being in the wrong place and webpack being awful).
2018-09-25 17:55:41 +01:00
Travis Ralston
8d7cec2a94 Add some comments to describe the build process 2018-09-24 17:57:18 -06:00
Travis Ralston
2b037ee146 Prevent races by blocking on SDK builds
If we don't block on SDK builds, then the riot-web build fails due to half-built dependencies. This needs to be done at two levels: the js-sdk because it is used by both the react-sdk and riot-web, and at the react-sdk because riot-web needs it. This means our build process is synchronous for js -> react -> riot, at least for the initial build. 

This does increase the startup time, particularly because the file watch timer is at 5 seconds. The timer is used to detect a storm of file changes in the underlying SDKs and give the build process some room to compile larger files if needed. 

The file watcher is accompanied by a "canary signal file" to prevent the build-blocking script from unblocking too early. Both the js and react SDKs build when `npm install` is run, so we ensure that we only listen for the `npm start` build for each SDK.

This is all done at the riot level instead of at the individual SDK levels (where we could use a canary file to signal up the stack) because:
* babel (used by the js-sdk) doesn't really provide an "end up build" signal
* webpack is a bit of a nightmare to get it to behave at times
* this blocking approach is really only applicable to riot-web, although may be useful to some other projects.

Hopefully that all makes sense.
2018-09-24 17:12:42 -06:00
Travis Ralston
c6da122e41 Fix npm link in the build script 2018-09-17 17:57:27 -06:00
Travis Ralston
67e9606d55 Reduce the number of terminals required to build riot-web to 1
A step towards a real solution for https://github.com/vector-im/riot-web/issues/7305

This approach makes use of `npm link` to remove the use of symlinks in the build process. The build process has also been altered to invoke the build process of each underlying SDK (react, js). This means that one can now `npm link` and `npm start` and have a working environment. 

At the same time, parallelshell was dropped due to lack of maintenance from the maintainer.
2018-09-17 17:50:03 -06:00
David Baker
8a167d2743 Add Norsk & Italian 2018-08-16 15:04:17 +01:00
David Baker
0abaff5aed Copy media from react-sdk
Looks like this just got missed

Fixes https://github.com/vector-im/riot-web/issues/6586
2018-04-23 17:27:35 +01:00
David Baker
f012dd5f31 Fix favicon
In removing 'media' here, it changed the meaning of the copy so
the contents of vector-icons (rather than the dir itself) got
copied to webapp/
2018-04-23 11:28:01 +01:00
Matthew Hodgson
a46b718b4a copy resources from their new locations 2018-04-13 01:49:52 +01:00
Krombel
57803f7a41 reorder based on language code 2018-03-17 16:24:47 +01:00
Krombel
14f70beac2 Add languages (czech, galician and serbian) 2018-03-17 11:27:10 +01:00
Luke Barnard
075f568f61 Fix crash; fs event received /w langauge file empty
It was common, at least for me, to experience a crash produced
when running the `matrix-react-sdk/scripts/gen-i18n.js` script
because when writing en_EN.json (via the script or otherwise)
choikdar would receive an event and cause the file to be read,
but the file would be empty when clearly it wasn't.

This would happen even when doing an atomic write in gen-i18n.

The fix adds a debounce as a workaround.
2018-03-02 15:30:06 +00:00
Ralitsa Bozhkova
90897b0741
Add Bulgarian to the list of languages
Bulgarian is now at 100% for both riot-web and matrix-react-sdk.
It has also been tested by building it manually and verifying that it looks good.
2018-02-24 10:28:39 +02:00
Simó Albert i Beltran
e56b16f7d1 Add Catalan 2018-01-25 18:25:46 +01:00
Matthew Hodgson
bddab533a3
Merge pull request #5938 from osoitz/master
Corrected language name
2018-01-07 20:34:19 +00:00