Commit graph

183 commits

Author SHA1 Message Date
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
David Baker
1fe5ace8ed Edit PR Description instead of commenting
We could include the magic comments in the PR template so the various
automated comments were always in the same order, if we wanted.
2021-08-11 21:10:22 +01:00
David Baker
bbdee0d83b publish the right directory 2021-08-11 19:41:37 +01:00
David Baker
cf8ee19e23 Fix Netflify builds from fork PRs
Some absolutely horrenous hacks to upload the context as an artifact
then download it, unzip it and set the PR number as a variable we can
use, because GitHub Actions just doesn't offer any other way of doing
this.

Maybe we'd be better off going back to Netlify...
2021-08-11 19:25:17 +01:00