* 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
* 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>
* 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
* Tidy workflows
* Update get-version-from-git.sh
* Run tests in Actions
* Upload coverage to SonarCloud
* Run linters in Actions
* Run builds in Actions, consolidating with sentry uploader
* Update sonar-project.properties
* chmod +x
* Iterate
* Use new env vars
* Delete yarn-sub.js
* Use re-usable sonarqube action
* Add README badges
* Match reality
* Update unlabel workflow to check for card archive-ness
Fixes CI error notifications when removing labels from issues which are archived on the Issue Triage board.
Doesn't fix the adding of labels, but that's more complicated and a work in progress as of writing.
* Update triage-unlabelled.yml
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.
* 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>
Add A-New-Search-Experience label for automation to Delight board and to add Z-Labs label.
This label is currently down as A-Spotlight-Search, but I will rename it.
* Add X-Needs-Product issues to product board
* Add product PRs to product board
* Add UISI issues to crypto team board
* Rename labelled and unlabelled triage files because they don't always
move issues
* 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
- Remove automation for v1 board as v2 board is now in use
- Update naming for the workflow because there's only one board now
- Add Z-IA issues to Delight workboard
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>
- Fix filtering for Design issues
- Split out spaces jobs for new and old boards, so they don't
depend on each other
- Remove voice message job for the old board
- Rename Priority bugs workflow to be shorter
- Improve naming for jobs so they're easier to read in the GitHub
Actions page
Docs say to use curly brackets, internet says that can break
multiline conditionals.
Trying to fix the if statement applying only to the first step in the job and
the second step ignoring the conditional.
Signed-off-by: Ekaterina Gerasimova <ekaterinag@element.io>
Voice-Messages are moving to org-level beta board so add automation to
send issues there (will remove old board automation after the move).
Signed-off-by: Ekaterina Gerasimova <ekaterinag@element.io>
Move high priority issues which have an E2EE label to the crypto team
org level old style project board.
Signed-off-by: Ekaterina Gerasimova <ekaterinag@element.io>
This could fix the obscure "#ERROR# HttpError: Validation Failed" that
we're getting in failed actions.
Signed-off-by: Ekaterina Gerasimova <ekaterinag@element.io>
Merge issues-to-projects and triage-needs-info into one under a new name
as they have the same trigger.
Add automation to move ex-needs info issues to triaged when labels are
updated.
Fixes#18523
Signed-off-by: Ekaterina Gerasimova <ekaterinag@element.io>
All incoming issues labelled with A-E2EE* and A-*spaces* labels should go to appropriate teams, and not to P1 in the web app team project.
Signed-off-by: Ekaterina Gerasimova <ekaterinag@element.io>
Automatically move all bugs with the right label combinations onto the Priority bugs column on the Web App Team's board.
Signed-off-by: Ekaterina Gerasimova <kittykat3756@gmail.com>
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...
GitHub bug means that GITHUB_TOKEN doesn't work according to
documentation at https://docs.github.com/en/actions/reference/authentication-in-a-workflow#permissions-for-the-github_token because it doesn't have the right permissions for moving stuff to a project board.
The automation throws this error:
Error: Resource not accessible by integration
Use our own generated token for now.
Signed-off-by: Ekaterina Gerasimova <kittykat3756@gmail.com>
So we don't need netflify to sit there building the develop branch
for no reason. Also it will comment with the URL rather than having
to dig it out of the checks.
Upload part not tested yet.