Commit graph

114 commits

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