Commit graph

548 commits

Author SHA1 Message Date
Zoe
3e77418fd7 Turn on source mapping, copy decoder-ring over to bundle 2020-04-23 17:55:21 +01:00
Travis Ralston
3f14b31e47 Add more words to explain windows being awful 2020-04-20 09:46:52 -06:00
Travis Ralston
6d46ef548e Enable tests again to catch failures 2020-04-16 16:26:29 -06:00
Travis Ralston
3614170906 Disable scripts in CI too 2020-04-16 12:47:25 -06:00
Travis Ralston
005269e2ad Make Jitsi download script a JS script
It's awful but means that we create the directory on all platforms in-process.

Fixes https://github.com/vector-im/riot-web/issues/13215
2020-04-16 12:37:41 -06:00
Danny Colin
c128e75f5d fix build:jitsi scripts crash caused by a missing folder
On a freshly install of the developer environment, the build:jitsi try
to create a file in ./webapp with the cURL command. However, ./webapp
folder doesn't exist and the build script crash. This patch makes sure
the appropriate folder is created if it doesn't already exist

Signed-off-by: Danny Colin <contact@dannycolin.com>
2020-04-10 14:14:19 -04:00
Michael Telatynski
68608c2bcb Fix gen-i18n.js script for .ts files
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-08 21:42:12 +01:00
David Baker
fea600ba0a Fix artifact searching in redeployer
Indenting fail
2020-03-25 15:12:53 +00:00
J. Ryan Stinnett
4afe7a73c4 Fix version for Docker builds
This (should) fix the version script for Docker builds by testing the branch
with a regex instead of single char glob.

Fixes https://github.com/vector-im/riot-web/issues/12777
2020-03-19 21:00:37 +00:00
David Baker
544e2c9971 Don't use buildkite agent to upload logs 2020-03-18 20:56:02 +00:00
Travis Ralston
7dd7417f12 Enable support for TypeScript in components
Includes: compilation, translations, IDE support (use .tsx not .ts), typings, and other build tools.

TypeScript component have to import PropTypes and React with `import * as React from 'react';`
2020-03-11 18:03:43 -06:00
Travis Ralston
b0f71bc990 Fix Docker image version for develop builds
Turns out it helps to use the right syntax.

Fixes https://github.com/vector-im/riot-web/issues/12009
2020-03-09 19:57:52 -06:00
Jonas Fentker
f5bd5a345e docker: download required branch only 2020-03-04 23:14:42 +01:00
J. Ryan Stinnett
096a828e44 Change Windows signing to warning when missing token
This allows Windows builds to complete when the singing token is not present.
2020-02-26 11:54:20 +00:00
J. Ryan Stinnett
bdb395aa41 Change to banner style 2020-02-25 12:05:36 +00:00
J. Ryan Stinnett
420537a64d Relax macOS notarisation check to print a warning
This makes it a bit more friendly to build macOS Electron builds without a
notarisation config set up by only warning when it is missing.
2020-02-25 11:44:33 +00:00
Bruno Windels
cda281044d ignore node_modules in e2e tests 2020-02-21 14:18:28 +01:00
Jason Robinson
9534a25270 Fix contribute.json location as per spec
Signed-off-by: Jason Robinson <jasonr@matrix.org>
2020-02-05 16:28:44 +02:00
Jason Robinson
3abe61e13b Add contribute.json
This document is required for example for all Mozilla websites
and makes sense for Riot to also describe itself - see
https://www.contributejson.org/

Signed-off-by: Jason Robinson <jasonr@matrix.org>
2020-02-05 15:25:09 +02:00
Michael Telatynski
b099c983d6 Use minimist instead of optimist as it is deprecated 2020-02-04 10:16:39 +00:00
David Baker
57ee99d6f7 chmod 2020-01-24 14:30:41 +00:00
David Baker
5536384866 Do less unnecessary work on CI
We were checking out & installing the develop js-sdk explicitly
in cases where we didn't need it at all. We were babeling the src
folder many, many times over (in some cases twice in the same job)
and never using the output at all.
2020-01-24 14:21:28 +00:00
J. Ryan Stinnett
b6963d0e5c Use bash in Docker scripts
Our Docker scripts use Bash-style conditionals that aren't supported by the
default Debian shell.
2020-01-22 17:45:22 +00:00
Travis Ralston
708f62784f
Consistency
Co-Authored-By: J. Ryan Stinnett <jryans@gmail.com>
2020-01-21 10:59:33 -07:00
Travis Ralston
33220c2d72 Ensure generated files are present for riot-web tests 2020-01-21 10:53:17 -07:00
Travis Ralston
3b2f96bc04 Try explicitly mapping the directory 2020-01-20 18:02:54 -07:00
Travis Ralston
776b3af6bb Fix relative pathing on riot-web link 2020-01-20 16:33:22 -07:00
Travis Ralston
19615d3721 Disable minification of Riot in end-to-end tests 2020-01-20 16:33:13 -07:00
Travis Ralston
27412ba0b2 Fix end-to-end test layering too 2020-01-20 16:23:33 -07:00
Travis Ralston
3eeeb9c6af Remove irrelevant build steps 2020-01-20 16:20:02 -07:00
Travis Ralston
62b1dd77a6 Fix layering of the riot-web tests pipeline 2020-01-20 16:12:59 -07:00
Travis Ralston
909fddb732 Don't minifiy builds of develop through CI packaging
Fixes https://github.com/vector-im/riot-web/issues/11864

This uses an environment variable because the build script assumes you want a production build, but we don't for this particular script. To avoid having a mess of NPM scripts to worry about, we'll just pass a flag down.
2020-01-15 12:19:45 -07:00
Travis Ralston
8f37f8638d Build the js-sdk for Jest tests
This is theoretically a fix for the tests failing post-sourcemaps.
2020-01-15 10:28:27 -07:00
Travis Ralston
a978a6734f Fix CI tests
There's a bunch of generated files that webpack relies on to work, and Karma works off webpack. To make both happy we've added
a new `build:genfiles` script which takes care of this for us. We also have to install and build our other layers to get the
same effect (like generating the react-sdk's component index, while we still have one).

This commit also fixes all the imports in the tests because they were just wrong. They should have been caught in the ES6ification
earlier, but were missed.
2020-01-13 20:40:00 -07:00
Travis Ralston
f73d2bae1f Merge branch 'develop' into travis/sourcemaps 2020-01-13 11:22:47 -07:00
Dale Harvey
a41484cb35 Add stub service worker so users can install on desktop with Chrome
Signed-off-by: Dale Harvey <dale@arandomurl.com>
2020-01-10 19:08:56 +00:00
Travis Ralston
a8c8406ac4 Merge remote-tracking branch 'origin/t3chguy/jest' into travis/sourcemaps 2020-01-09 16:06:46 -07:00
Travis Ralston
fde32f13a5 [CONFLICT CHUNKS] Merge branch 'develop' into travis/sourcemaps-develop 2020-01-09 14:15:09 -07:00
Travis Ralston
9bf1c65971 [CONFLICT CHUNKS] Merge branch 'develop' into travis/sourcemaps-dev 2020-01-09 13:43:25 -07:00
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
David Baker
2970a9faaf Don't fail if logs exists and is an empty dir 2020-01-03 15:16:02 +00: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
Michael Telatynski
d35b01b63a Get rid of stripped-emoji.json in favour of an in-memory single truth source 2019-12-18 15:40:19 +00:00
Michael Telatynski
386d6ec055 we don't need to install riot-web for react-sdk unit tests 2019-12-17 12:16:40 +00:00
Travis Ralston
20a615396b Implementation of new potential skinning mechanism
With a switch to Only One Webpack™ we need a way to help developers generate the component index without a concurrent watch task. The best way to do this is to have developers import their components, but how do they do that when we support skins? The answer in this commit is to change skinning.

Skinning now expects to receive your list of overrides instead of the react-sdk+branded components. For Riot this means we send over *only* the Vector components and not Vector+react-sdk. 

Components can then be annotated with the `replaceComponent` decorator to have them be skinnable. The decorator must take a string with the dot path of the component because we can't reliably calculate it ourselves, sadly. 

The decorator does a call to `getComponent` which is where the important part of the branded components not including the react-sdk is important: if the branded app includes the react-sdk then the decorator gets executed before the skin has finished loading, leading to all kinds of fun errors. This is also why the skinner lazily loads the react-sdk components to avoid importing them too early, breaking the app.

The decorator will end up receiving null for a component because of the getComponent loop mentioned: the require() call is still in progress when the decorator is called, therefore we can't error out. All usages of getComponent() within the app are safe to not need such an error (the return won't be null, and developers shouldn't use getComponent() after this commit anyways).

The AuthPage, being a prominent component, has been converted to demonstrate this working. Changes to riot-web are required to have this work.

The reskindex script has also been altered to reflect these skinning changes - it no longer should set the react-sdk as a parent. The eventual end goal is to get rid of `getComponent()` entirely as it'll be easily replaced by imports.
2019-12-12 19:48:45 -07:00
David Baker
604745de96
Merge pull request #3698 from matrix-org/dbkr/chmod_ci
Make CI scripts executable
2019-12-05 11:39:58 +00:00
David Baker
c44cfff7cf Remove logs before running end-to-end tests
Hopefully will stop the end-to-end tests failing when buildkite
re-uses an agent.
2019-12-04 11:17:41 +00:00
David Baker
c36950db23 Make CI scripts executable
and remove chmod line from pipeline
2019-12-04 10:30:37 +00: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