Commit Graph

97 Commits (5f31fef874eefc351fca1c9afca261658703934c)

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