Commit Graph

169 Commits (ef9554f2c53cf449ae0153fe9dd7b984e0e5954c)

Author SHA1 Message Date
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
Michael Weimann 2179be299a
Update pr-details to 1.2 (#9076) 2022-07-19 15:05:02 +00: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
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 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
David Baker 87690f0739 Fix netflify preview build comment 2021-08-10 11:49:25 +01:00
David Baker c1b49092f8
Merge pull request #6586 from matrix-org/dbkr/pr_comment_in_workflow_run
Do the PR comment a different way
2021-08-10 11:40:57 +01:00
David Baker 6eed09f261
Merge pull request #6574 from matrix-org/dbkr/preview_changelog
Add changelog preview action
2021-08-09 20:21:16 +01:00
David Baker 32ad5dc19c Do the PR comment a different way
Because the built in netlify action's way doesn't work in workflow_run
2021-08-09 20:16:54 +01:00
David Baker d2e8e13afb No event.number in the workflow_run action 2021-08-09 19:27:13 +01:00
David Baker dd36dde8c9 rename artifact 2021-08-09 19:16:08 +01:00
David Baker 28eb45b928 Hopefully working Netlify upload
as per comment
2021-08-09 18:35:36 +01:00