Commit Graph

194 Commits

Author SHA1 Message Date
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
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