Commit graph

186 commits

Author SHA1 Message Date
Michael Telatynski
04bc8fb71c
Optimise Jest run in CI (#9542) 2022-11-04 10:48:08 +00:00
Michael Telatynski
0bb9db302d
Enable tsc --strict CI to prevent gaining more errors (#9541) 2022-11-03 16:38:26 +00:00
Michael Telatynski
238a2b77af
Update cypress.yaml (#9506) 2022-10-26 11:50:24 +00:00
Travis Ralston
6fe8744e4d
Remove performance metrics from cypress (#9467)
They are unfortunately unreliable and have been broken since June anyways.
2022-10-20 00:52:17 -06:00
Michael Telatynski
eaff7e945c
Consolidate js-sdk release mode typing CI (#9326) 2022-09-30 17:12:16 +01:00
Michael Telatynski
9d83fba5ca
Turn off tsc --strict annotations (#9285)
* Update static_analysis.yaml

* Update static_analysis.yaml
2022-09-16 11:09:32 +00:00
Michael Telatynski
c365949e85
Update cypress.yaml (#9269) 2022-09-12 10:17:44 +01:00
Michael Telatynski
e3b13eb97c
Update commit status earlier in cypress workflow_run (#9263) 2022-09-08 23:05:05 +00:00
Michael Telatynski
638175b7d7
Update cypress.yaml (#9262) 2022-09-08 10:05:43 +01:00
Michael Telatynski
5bdae150fa
Tweak backport labels (#9258) 2022-09-07 14:15:03 +00:00
Michael Telatynski
4be1d85522
Update cypress.yaml 2022-09-07 13:12:03 +01:00
Michael Telatynski
06540633fc
Update cypress.yaml 2022-09-07 12:58:27 +01:00
Michael Telatynski
56326c75f1
Run Cypress in parallel (#9010)
* Update cypress.yaml

* Update cypress.yaml

* Make percy parallel-compatible

* Add PERCY_PARALLEL_NONCE

* Update cypress.yaml

* Merge performance measurement files
2022-09-07 12:48:37 +01:00
Michael Telatynski
9f5857dd38
Simplify releases: move npm publishing to gha, consolidate scripts (#9216)
* Remove stale comment re dependency

* Move npm publishing from release.sh to GHA

* Extract js-sdk & react-sdk post release steps

* Consolidate release subproject upgrade management
2022-09-06 12:10:28 +01:00
Michael Telatynski
ec0b2b551a
Add backport automation (#9214) 2022-08-24 12:45:35 +01:00
Michael Telatynski
e11b0cef47
Add static analysis for tsc --strict (#9212)
* Add static analysis for tsc --strict

* Make tsconfig legal

* Make tsconfig more legal

* Update static_analysis.yaml

* Test strict mode check

* Revert "Test strict mode check"

This reverts commit 879df9879738fabfa02466ce07634a0f5c132311.
2022-08-24 11:08:26 +01:00
Šimon Brandner
a866005bea
Add GHA for Dead Code Analysis (#9052) 2022-08-04 08:00:49 +00:00
Michael Telatynski
f566c600e2
Port remaining Puppeteer tests over to Cypress (#9104)
* Port remaining Puppeteer tests over to Cypress

* Remove puppeteer support files

* Fix lifecycle matrixclientpeg setup race condition

* Alternative solution to the lifecycle problem

* Dismiss the notifications toast
2022-07-29 14:03:25 +00:00
renovate[bot]
8383148373
Configure Renovate (#9112)
* Add renovate.json

* Delete renovate.json

* Create renovate.json

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2022-07-27 16:13:38 +01:00
Michael Weimann
2179be299a
Update pr-details to 1.2 (#9076) 2022-07-19 15:05:02 +00:00
Travis Ralston
3abf8a1d51
Add a basic PR checklist for all PRs (#9046)
* Add a basic PR checklist for all PRs

It'll be mildly annoying for core developers who have to constantly remove or edit this, but it'll also serve as a good reminder to do these things.

Note that signoff is not required for core developers.

* *ahem*
2022-07-11 14:58:34 -06:00
Michael Telatynski
eff0395771
Update cypress.yaml (#9007) 2022-07-08 10:06:29 +01:00
Michael Telatynski
79195dea8b
Skip running jobs on fork develop where they lack secrets (#8837)
* Skip running jobs on fork `develop` where they lack secrets

* Fix contexts
2022-06-14 11:37:07 +01:00
Michael Telatynski
5b149bcffd
Use a fixed matrix-org/github-action-benchmark (#8810) 2022-06-10 15:42:51 +01:00
Michael Telatynski
3510f8efa4
Update cypress.yaml (#8804) 2022-06-09 14:52:06 +01:00
Michael Telatynski
1d79c78f21
Update cypress.yaml 2022-06-09 10:12:45 +01:00
Michael Telatynski
fc133041e3
Update cypress.yaml 2022-06-09 09:33:19 +01:00
Michael Telatynski
3fc6554225
Fix typo 2022-06-09 09:01:39 +01:00
Michael Telatynski
9c9bb26f47
Update cypress.yaml (#8801) 2022-06-09 08:45:25 +01:00
Michael Telatynski
30192469af
Update cypress.yaml (#8797) 2022-06-08 22:08:28 +00:00
Michael Telatynski
b260b3e063
Fix wrong permission for cypress check (#8793) 2022-06-08 16:14:34 +01:00
Michael Telatynski
f53207a4fe
Fix cypress checkout and use github actions environments (#8790)
* Fix cypress checkout and use github actions environments

* Harden github token for cypress.yaml

* Allow writing status checks
2022-06-08 16:00:47 +01:00
Michael Telatynski
9656692700
Update pull_request.yaml (#8789) 2022-06-08 13:08:30 +01:00
Michael Telatynski
911150846e
Add CI to improve experience for community (#8779)
* Add CI to improve experience for community

* Fix close-if-fork-develop if-condition

* Extract into reusable workflow
2022-06-08 11:43:54 +01:00
Michael Telatynski
f65e8d088e
Update matrix-org/github-action-benchmark (#8774)
* Update cypress.yaml

* Update cypress.yaml

* Update cypress.yaml
2022-06-07 10:56:39 +01:00
Michael Telatynski
fa8c346dfa
Rework the Cypress & Percy CI (#8691)
* Split Cypress out into its own workflow

* Improve PR Details job to use github-script and output labels

* Fix wrongly using github.ref in workflow_run actions which always refer to develop

* Update pr-details to be far more generic

* Tweak how we fill command-prefix

* Tweak cypress job to pass more params & fix if condition

* Bring in external changes

* Add docs

* Use new composite action, and an action to update a status check based on this workflow run

* Iterate approach
2022-06-07 09:03:25 +01:00
Michael Telatynski
7e244fc833
Switch to composite actions for pr_details and sonarqube (#8729)
* Switch to composite actions for pr_details and sonarqube

* Bring back a reusable workflow for element-web stack sonarqube runs

* Move sonarcloud.yml to the right repo

* Fix Netlify run
2022-06-06 11:37:48 +01:00
Michael Telatynski
e87ef3b6ab
Revert "Github Actions pull_request synchronize runs on PR open anyway" (#8720)
* Revert "Github Actions pull_request synchronize runs on PR open anyway (#8718)"

This reverts commit eaace4b4d1.

* Update pull_request.yaml
2022-05-30 15:40:26 +01:00
Michael Telatynski
eaace4b4d1
Github Actions pull_request synchronize runs on PR open anyway (#8718) 2022-05-30 14:33:36 +01:00
Michael Telatynski
7efd7b67ea
Fix gha concurrency conditions (#8702) 2022-05-26 10:21:44 +01:00
Michael Telatynski
f3f14afbbf
Move spaces tests from Puppeteer to Cypress (#8645)
* Move spaces tests from Puppeteer to Cypress

* Add missing fixture

* Tweak synapsedocker to not double error on a docker failure

* Fix space hierarchy loading race condition

Fixes https://github.com/matrix-org/element-web-rageshakes/issues/10345

* Fix race condition when creating public space with url update code

* Try Electron once more due to perms issues around clipboard

* Try set browser permissions properly

* Try to enable clipboard another way

* Try electron again

* Try electron again again

* Switch to built-in cypress feature for file uploads

* Mock clipboard instead

* TMPDIR ftw?

* uid:gid pls

* Clipboard tests can now run on any browser due to mocking

* Test Enter as well as button for space creation

* Make the test actually work

* Update cypress/support/util.ts

Co-authored-by: Eric Eastwood <erice@element.io>

Co-authored-by: Eric Eastwood <erice@element.io>
2022-05-26 10:19:00 +01:00
Michael Telatynski
e20ae18378
Revert "Split Cypress out into its own workflow (#8677)" (#8685)
This reverts commit 1722eb1bd3.
2022-05-24 23:23:49 +01:00
Michael Telatynski
1722eb1bd3
Split Cypress out into its own workflow (#8677)
* Split Cypress out into its own workflow

* Improve PR Details job to use github-script and output labels

* Fix wrongly using github.ref in workflow_run actions which always refer to develop

* Update pr-details to be far more generic

* Tweak how we fill command-prefix
2022-05-24 19:16:33 +01:00
Michael Telatynski
a0cdc93642
Rename i18n_check.yaml to i18n_check.yml 2022-05-20 00:37:58 +01:00
Michael Telatynski
896c8c9035
Consolidate i18n check into a reusable workflow (#8634)
* Fix i18n check bypass for RiotTranslateBot

* Consolidate i18n check into a reusable workflow

* Update .github/workflows/i18n_check.yaml

Co-authored-by: Travis Ralston <travisr@matrix.org>

Co-authored-by: Travis Ralston <travisr@matrix.org>
2022-05-20 00:36:58 +01:00
Michael Telatynski
5f3a9378af
Revert "Sonarcloud check out upstream develop not fork develop (#8622)" (#8635)
This reverts commit 6ffd12a027.
2022-05-17 18:27:27 +01:00
Michael Telatynski
6ffd12a027
Sonarcloud check out upstream develop not fork develop (#8622) 2022-05-17 18:09:28 +01:00
Michael Telatynski
d9b7e0721c
Add visual tests using Percy in Cypress (#8610)
* Add basic Percy tests

* Run Percy in CI

* Fix snapshot timing

* Fix bad selector

* Hide another bit of dynamic text

* Add docs
2022-05-17 15:16:14 +00:00
J. Ryan Stinnett
c122c5cd3b
Add basic performance testing via Cypress (#8586) 2022-05-17 15:38:45 +01:00
Michael Telatynski
4162c21596
Update netlify.yaml (#8615) 2022-05-16 21:20:00 +00:00
Michael Telatynski
e6ec01fe86
Use reusable SonarCloud workflow (#8589)
* Use reusable SonarCloud workflow

* Simplify Netlify run too

* We don't need dbl quotes

* Remove stale if check
2022-05-13 22:25:50 +00:00
Michael Telatynski
b331099525
Make pull_request.yaml between the layers consistent and fix enforce labels (#8580) 2022-05-13 18:51:25 +01:00
Michael Telatynski
de6fc4ab52
Update upgrade_dependencies.yml (#8487) 2022-05-03 21:47:41 +00:00
Michael Telatynski
99cb83a9df
Create manual action for upgrading dependencies after rc cut (#8484) 2022-05-03 21:54:32 +01:00
Michael Telatynski
2e9c2dd42b
Prune i18n files (#8479)
* Prune i18n files

* Tweak i18n ci rule to ignore RiotTranslateBot
2022-05-03 16:09:11 +01:00
Michael Telatynski
4d122db7cf
Prevent Netlify builds from different PRs stepping on each other (#8477) 2022-05-03 15:43:40 +01:00
Michael Telatynski
2141b122f9
Tweak sonarqube run (#8475) 2022-05-03 14:46:38 +01:00
Michael Telatynski
7f78b1c968
Iterate CI checks (#8472) 2022-05-03 10:39:03 +01:00
Michael Telatynski
7477a2df7d
Switch coverage over to SonarQube (#8463) 2022-05-02 21:34:31 +01:00
Michael Telatynski
92f440d9de
Consolidate deployment management into more maintained action (#8430) 2022-04-29 11:07:42 +01:00
Michael Telatynski
6cb29f2b8d
Try SonarCloud (#8441) 2022-04-29 09:38:24 +00:00
Michael Telatynski
1bceeb244c
Record cypress runs to dashboard (#8436) 2022-04-28 12:47:13 +01:00
Michael Telatynski
6d2230064e
Fix broken netlify ci (#8427) 2022-04-27 12:39:14 +01:00
Michael Telatynski
8f7e265125
Fix Netlify builds 2022-04-27 11:20:29 +01:00
Michael Telatynski
b6bc2943d3
Fix it once and for all 2022-04-27 11:11:48 +01:00
Michael Telatynski
4bcdb5e99b
Fix broken netlify ci (#8424) 2022-04-27 10:45:23 +01:00
Michael Telatynski
9ad93c2f5b
Attempt to use deployments to signal Netlify builds instead (#8421) 2022-04-27 10:24:38 +01:00
Michael Telatynski
6f5900557b
Remove notify environment requirement (#8383) 2022-04-21 15:17:43 +01:00
Michael Telatynski
146bcdd6a6
Move more stuff from BK to GHA (#8372) 2022-04-21 11:55:32 +00:00
David Baker
ffeab40af6
Fix netlify previews (#8330)
Update the name of the workflow in the workflow_run trigger as
it was changed when adding cypress tests.

This will upload the preview build after running the cypress tests:
unsure if this is what we want or not. The preview build will be
slower to appear, but it does sort of make sense to only get a
preview buuild if the tests pass. If not, we might be able to do
this by doing a repository dispatch after the preview build.
2022-04-14 18:19:26 +01:00
David Baker
123a659cf8
Fix synapse logs directory in Cypress tests (#8326)
I changed it in one place but not the other
2022-04-14 17:33:10 +01:00
David Baker
b8013fc52a
Add a Cypress Test 🌲 (#8295)
* A first, maybe working cypress test

Plus cypress plugins to manage synapses in docker containers

* Fix yaml

* This file is important

* try & find where it's put the artifact

* Download artifact to a directory

* pics or it didn't happen

* Add conditional, otherwise no artifacts on failure...

* Try increasing timeout

also actually give the test a name

* Try in chrome

* Get docker logs to see why it's failing

also document the chrome setting

* Try changing mode on homeserver.yaml

* debug

* More debugging

* more file permissions debugging

* ARGH

* more debug

* sigh

* Eugh, that's not how arguments work

* Add the option to really allow open registration

and remove debug logging / comment fixes

* failure to yaml

* Upload docker logs as artifacts

and temporarily remove contional to test

* Put the conditional back

* Upgrade types in end to end tests

to be compatible with fs-extra types

* Try reducing timeout a bit

also make password more... sensible

* Hex is not octal

* Remove file mode

Seems to be unnecessary since the signing key is perfectly fine

* Give the log files extensions

* Rename workflow file now it also does tests

* Add cypress scripts

* copyright headers

* Use ? operator

Co-authored-by: Travis Ralston <travisr@matrix.org>

* Use develop synapse image

* Tidy up any remaining synapses after each spec run

Also:
 * Move the synapseStart / synapseStop functions out to the top level
   so they can be reused
 * Add a tsconfig file
 * Give the containers names

* Don't upload video on test pass

We don't upload it anyway so tell cypress not to so it can not
bother encoding them

* Enable linting on cypress files

and fix existing lint errors

* Type check cypress files

and make it pass the type checks, specifically:
 * Upgrade sinon fake timers to a version that has the right types
 * Set module resolution
 * Type check cypress files separately

* Rename workflow file again

Probably better to just call it an element web build

* Don't plus + characters in container name

* Fix yaml

* Stream logs to file

* Add note to end to end tester to sya what's been ported

* Put docker rm in finally block

Co-authored-by: Travis Ralston <travisr@matrix.org>
2022-04-14 10:41:58 +01:00
Robin
a4d3da78d7
Fix coverage diffs for PRs that aren't up to date, take 3 (#8301) 2022-04-12 20:22:34 -04:00
Travis Ralston
4057833036 Merge branch 'develop' into travis/remove-skinning 2022-04-05 10:50:37 -06:00
Kat Gerasimova
9bfd60e915
Remove triage automation (#8192)
GitHub don't support cross-organisation automation at this time, so removing the file for now.
2022-04-03 22:01:48 +01:00
Travis Ralston
97efdf7094 Merge branch 'develop' into travis/remove-skinning 2022-03-31 19:25:43 -06:00
Robin
be8665af4d
Fix coverage diffs for PRs that aren't up to date, take 2 (#8188) 2022-03-30 08:02:34 -04:00
Travis Ralston
a6564d9ab9 Step 14: Remove reskindex 2022-03-28 15:30:30 -06:00
Robin
0a16989d26
Fix unexpected coverage diffs for PRs that aren't up to date (#8161) 2022-03-28 08:17:04 -04:00
Robin
60ecaac4f8
Enable Codecov coverage offsets (#8139) 2022-03-24 07:44:27 -04:00
Andy Balaam
e725f14651
Further attempt to prevent codecov posting failure messages (#8050) 2022-03-14 11:01:02 +00:00
David Baker
1eb67047c9
Add some doc to the github actions / CI scripts (#8034)
* Add some doc to the githuib actions / CI scripts

Type: task

* alalytics-events is more name matching
2022-03-11 13:00:56 +00:00
Andy Balaam
20d5798594
Include PR_NUMBER so codecov build can do branch matching (#8033) 2022-03-11 10:26:42 +00:00
Andy Balaam
972fcd166f
Attempt to disable the codecov patch behaviour (#8021) 2022-03-10 14:33:04 +00:00
Andy Balaam
c89c2253fd
Add test coverage reporting (#8009) 2022-03-10 13:17:01 +00:00
Kat Gerasimova
9fc1f75fe5
Update team org in triage automation (#7835) 2022-02-17 17:01:01 +00:00
Kat Gerasimova
201e552b0c
Triage PRs that need design or product (#7805)
Add automation to check if PR is assigned to a team/any member of that team and if it is, add it to the correct board to get it reviewed quicker
2022-02-15 13:17:43 +00:00
David Baker
6e8edbb418
Fix preview builds for forked PRs (#7769)
Use the magic from matrix-doc to get the PR number, as commented.
2022-02-09 15:31:14 +00:00
David Baker
a2f09480ee
Use PR number directly in netlify github action (#7561)
* Use PR number directly in netlify github action

Looks like we can get the PR number for the workflow run that triggered
the workflow_run event, so there's no need for the massive faff we were
doing here.

* No need to create pr.json anymore
2022-01-18 11:01:25 +00:00
Alexandre Franke
40b2a90d08
💚 Update PR description editing action (#7309)
Switch to upstream and use a more recent version.
Fixes failure to edit on empty descriptions.

Signed-off-by: Alexandre Franke <alexandre.franke@gmail.com>
2021-12-09 09:12:59 +01:00
J. Ryan Stinnett
98ea2c3302
Build for pull requests targeting any branch (#7121) 2021-11-11 17:08:08 +00:00
James Salter
459b5ccaf9
Add notify-element-web job (#7062)
This triggers a repository_dispatch event in element-web which allows that repo to run new CI actions for EW with the new SDK code
2021-11-01 13:00:51 +00:00
Šimon Brandner
07ed6772be
Pass PR_NUMBER to builds
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-09-18 13:52:56 +02:00
David Baker
b67883b4f1 Remove unnecessary pushd
type: task
2021-09-09 09:41:11 +01:00
David Baker
8f221a4849 Rename type checking script
'cos it's type chekcing, not linting
2021-09-08 18:37:13 +01:00
David Baker
47fd11050f Switch type check to GitHub Actions
and add (working) type check for release mode js-sdk types
2021-09-08 11:43:46 +01:00
Šimon Brandner
5b65528038
Make GH actions clone from the correct fork and cleanup
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-08-29 17:37:11 +02:00
J. Ryan Stinnett
d836ed5291 Fix name of Netlify workflow 2021-08-18 14:19:44 +01:00
David Baker
002c7328f3 Merge remote-tracking branch 'origin/develop' into dbkr/edit_pr_desc 2021-08-11 21:39:07 +01:00
David Baker
8016b340b0 Just upload the PR object itself
We don't know what secret info might end up in the context
2021-08-11 21:20:28 +01:00