Skip to content
This repository was archived by the owner on Sep 11, 2024. It is now read-only.

Commit cde2a71

Browse files
author
Germain Souquet
committed
Merge branch 'develop' into gsouquet/read-receipts-23191
2 parents 3134d4e + eace4d6 commit cde2a71

File tree

101 files changed

+7120
-646
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

101 files changed

+7120
-646
lines changed

.github/workflows/backport.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,6 @@ jobs:
2525
steps:
2626
- uses: tibdex/backport@v2
2727
with:
28-
labels_template: "<%= JSON.stringify(labels) %>"
28+
labels_template: "<%= JSON.stringify([...labels, 'X-Release-Blocker']) %>"
2929
# We can't use GITHUB_TOKEN here or CI won't run on the new PR
3030
github_token: ${{ secrets.ELEMENT_BOT_TOKEN }}

.github/workflows/cypress.yaml

Lines changed: 106 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -6,19 +6,32 @@ on:
66
types:
77
- completed
88
jobs:
9-
# This job cannot have a pretty name due to https://github.com/haya14busa/action-workflow_run-status/issues/158
10-
cypress:
9+
prepare:
10+
name: Prepare
1111
if: github.event.workflow_run.conclusion == 'success'
1212
runs-on: ubuntu-latest
1313
permissions:
1414
actions: read
15-
statuses: write
1615
issues: read
16+
statuses: write
1717
pull-requests: read
18-
environment: Cypress
18+
outputs:
19+
uuid: ${{ steps.uuid.outputs.value }}
20+
pr_id: ${{ steps.prdetails.outputs.pr_id }}
21+
commit_message: ${{ steps.commit.outputs.message }}
22+
commit_author: ${{ steps.commit.outputs.author }}
23+
commit_email: ${{ steps.commit.outputs.email }}
24+
percy_enable: ${{ steps.percy.outputs.value || '1' }}
1925
steps:
20-
# Wire up the status check for this workflow_run action
21-
- uses: haya14busa/action-workflow_run-status@967ed83efa565c257675ed70cfe5231f062ddd94 # v1.0.0
26+
# We create the status here and then update it to success/failure in the `report` stage
27+
# This provides an easy link to this workflow_run from the PR before Cypress is done.
28+
- uses: Sibz/github-status-action@v1
29+
with:
30+
authToken: ${{ secrets.GITHUB_TOKEN }}
31+
state: pending
32+
context: ${{ github.workflow }} / cypress (${{ github.event.workflow_run.event }} => ${{ github.event_name }})
33+
sha: ${{ github.event.workflow_run.head_sha }}
34+
target_url: https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}
2235

2336
- id: prdetails
2437
if: github.event.workflow_run.event == 'pull_request'
@@ -27,6 +40,48 @@ jobs:
2740
owner: ${{ github.event.workflow_run.head_repository.owner.login }}
2841
branch: ${{ github.event.workflow_run.head_branch }}
2942

43+
- name: Get commit details
44+
id: commit
45+
if: github.event.workflow_run.event == 'pull_request'
46+
uses: actions/github-script@v5
47+
with:
48+
script: |
49+
const response = await github.rest.git.getCommit({
50+
owner: context.repo.owner,
51+
repo: context.repo.repo,
52+
commit_sha: "${{ github.event.workflow_run.head_sha }}",
53+
});
54+
core.setOutput("message", response.data.message);
55+
core.setOutput("author", response.data.author.name);
56+
core.setOutput("email", response.data.author.email);
57+
58+
# Only run Percy when it is demanded or on develop
59+
- name: Disable Percy if not needed
60+
id: percy
61+
if: |
62+
github.event.workflow_run.event == 'pull_request' &&
63+
!contains(fromJSON(steps.prdetails.outputs.data).labels.*.name, 'X-Needs-Percy')
64+
run: echo "::set-output name=value::0"
65+
66+
- name: Generate unique ID 💎
67+
id: uuid
68+
run: echo "::set-output name=value::sha-$GITHUB_SHA-time-$(date +"%s")"
69+
70+
tests:
71+
name: "Run Tests"
72+
needs: prepare
73+
runs-on: ubuntu-latest
74+
permissions:
75+
actions: read
76+
issues: read
77+
pull-requests: read
78+
environment: Cypress
79+
strategy:
80+
fail-fast: false
81+
matrix:
82+
# Run 3 instances in Parallel
83+
runner: [1, 2, 3]
84+
steps:
3085
- uses: actions/checkout@v2
3186
with:
3287
# XXX: We're checking out untrusted code in a secure context
@@ -46,28 +101,6 @@ jobs:
46101
name: previewbuild
47102
path: webapp
48103

49-
- name: Get commit details
50-
if: github.event.workflow_run.event == 'pull_request'
51-
uses: actions/github-script@v5
52-
with:
53-
script: |
54-
const response = await github.rest.git.getCommit({
55-
owner: context.repo.owner,
56-
repo: context.repo.repo,
57-
commit_sha: "${{ github.event.workflow_run.head_sha }}",
58-
});
59-
core.exportVariable("COMMIT_INFO_MESSAGE", response.data.message);
60-
core.exportVariable("COMMIT_INFO_AUTHOR", response.data.author.name);
61-
core.exportVariable("COMMIT_INFO_EMAIL", response.data.author.email);
62-
63-
# Only run Percy when it is demanded or on develop
64-
- name: Disable Percy if not needed
65-
if: |
66-
github.event.workflow_run.event == 'pull_request' &&
67-
!contains(fromJSON(steps.prdetails.outputs.data).labels.*.name, 'X-Needs-Percy')
68-
run: |
69-
echo "PERCY_ENABLE=0" >> $GITHUB_ENV
70-
71104
- name: Run Cypress tests
72105
uses: cypress-io/[email protected]
73106
with:
@@ -77,28 +110,40 @@ jobs:
77110
start: npx serve -p 8080 webapp
78111
wait-on: 'http://localhost:8080'
79112
record: true
80-
command-prefix: 'yarn percy exec --'
113+
parallel: true
114+
command-prefix: 'yarn percy exec --parallel --'
115+
ci-build-id: ${{ needs.prepare.outputs.uuid }}
81116
env:
82117
# pass the Dashboard record key as an environment variable
83118
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}
119+
120+
# Use existing chromium rather than downloading another
121+
PUPPETEER_SKIP_CHROMIUM_DOWNLOAD: true
122+
123+
# pass GitHub token to allow accurately detecting a build vs a re-run build
124+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
125+
126+
# make Node's os.tmpdir() return something where we actually have permissions
127+
TMPDIR: ${{ runner.temp }}
128+
84129
# tell Cypress more details about the context of this run
85130
COMMIT_INFO_BRANCH: ${{ github.event.workflow_run.head_branch }}
86131
COMMIT_INFO_SHA: ${{ github.event.workflow_run.head_sha }}
87132
COMMIT_INFO_REMOTE: ${{ github.repositoryUrl }}
133+
COMMIT_INFO_MESSAGE: ${{ needs.prepare.outputs.commit_message }}
134+
COMMIT_INFO_AUTHOR: ${{ needs.prepare.outputs.commit_author }}
135+
COMMIT_INFO_EMAIL: ${{ needs.prepare.outputs.commit_email }}
88136

89137
# pass the Percy token as an environment variable
90138
PERCY_TOKEN: ${{ secrets.PERCY_TOKEN }}
91-
# Use existing chromium rather than downloading another
92-
PUPPETEER_SKIP_CHROMIUM_DOWNLOAD: true
139+
PERCY_ENABLE: ${{ needs.prepare.outputs.percy_enable }}
93140
PERCY_BROWSER_EXECUTABLE: /usr/bin/chromium-browser
94141
# tell Percy more details about the context of this run
95142
PERCY_BRANCH: ${{ github.event.workflow_run.head_branch }}
96143
PERCY_COMMIT: ${{ github.event.workflow_run.head_sha }}
97-
PERCY_PULL_REQUEST: ${{ steps.prdetails.outputs.pr_id }}
98-
# pass GitHub token to allow accurately detecting a build vs a re-run build
99-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
100-
# make Node's os.tmpdir() return something where we actually have permissions
101-
TMPDIR: ${{ runner.temp }}
144+
PERCY_PULL_REQUEST: ${{ needs.prepare.outputs.pr_id }}
145+
PERCY_PARALLEL_TOTAL: ${{ strategy.job-total }}
146+
PERCY_PARALLEL_NONCE: ${{ needs.prepare.outputs.uuid }}
102147

103148
- name: Upload Artifact
104149
if: failure()
@@ -110,15 +155,35 @@ jobs:
110155
cypress/videos
111156
cypress/synapselogs
112157
158+
- run: mv cypress/performance/*.json cypress/performance/measurements-${{ strategy.job-index }}.json
159+
continue-on-error: true
160+
113161
- name: Upload Benchmark
114162
uses: actions/upload-artifact@v2
115163
with:
116164
name: cypress-benchmark
117-
path: cypress/performance/measurements.json
165+
path: cypress/performance/*
166+
if-no-files-found: ignore
118167
retention-days: 1
119168

169+
report:
170+
name: Report results
171+
needs: tests
172+
runs-on: ubuntu-latest
173+
if: always()
174+
permissions:
175+
statuses: write
176+
steps:
177+
- uses: Sibz/github-status-action@v1
178+
with:
179+
authToken: ${{ secrets.GITHUB_TOKEN }}
180+
state: ${{ needs.tests.result == 'success' && 'success' || 'failure' }}
181+
context: ${{ github.workflow }} / cypress (${{ github.event.workflow_run.event }} => ${{ github.event_name }})
182+
sha: ${{ github.event.workflow_run.head_sha }}
183+
target_url: https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}
184+
120185
store-benchmark:
121-
needs: cypress
186+
needs: tests
122187
runs-on: ubuntu-latest
123188
if: |
124189
github.event.workflow_run.event != 'pull_request' &&
@@ -134,6 +199,9 @@ jobs:
134199
with:
135200
name: cypress-benchmark
136201

202+
- name: Merge measurements
203+
run: jq -s add measurements-*.json > measurements.json
204+
137205
- name: Store benchmark result
138206
uses: matrix-org/github-action-benchmark@jsperfentry-6
139207
with:

.github/workflows/release.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
name: Release Process
2+
on:
3+
release:
4+
types: [ published ]
5+
concurrency: ${{ github.workflow }}-${{ github.ref }}
6+
jobs:
7+
npm:
8+
name: Publish
9+
uses: matrix-org/matrix-js-sdk/.github/workflows/release-npm.yml@develop
10+
secrets:
11+
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}

CHANGELOG.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,23 @@
1+
Changes in [3.54.0](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v3.54.0) (2022-09-13)
2+
=====================================================================================================
3+
4+
## ✨ Features
5+
* Device manager - hide unverified security recommendation when only current session is unverified ([\#9228](https://github.com/matrix-org/matrix-react-sdk/pull/9228)). Contributed by @kerryarchibald.
6+
* Device manager - scroll to filtered list from security recommendations ([\#9227](https://github.com/matrix-org/matrix-react-sdk/pull/9227)). Contributed by @kerryarchibald.
7+
* Device manager - updated dropdown style in filtered device list ([\#9226](https://github.com/matrix-org/matrix-react-sdk/pull/9226)). Contributed by @kerryarchibald.
8+
* Device manager - device type and verification icons on device tile ([\#9197](https://github.com/matrix-org/matrix-react-sdk/pull/9197)). Contributed by @kerryarchibald.
9+
10+
## 🐛 Bug Fixes
11+
* Description of DM room with more than two other people is now being displayed correctly ([\#9231](https://github.com/matrix-org/matrix-react-sdk/pull/9231)). Fixes vector-im/element-web#23094.
12+
* Fix voice messages with multiple composers ([\#9208](https://github.com/matrix-org/matrix-react-sdk/pull/9208)). Fixes vector-im/element-web#23023. Contributed by @grimhilt.
13+
* Fix suggested rooms going missing ([\#9236](https://github.com/matrix-org/matrix-react-sdk/pull/9236)). Fixes vector-im/element-web#23190.
14+
* Fix tooltip infinitely recursing ([\#9235](https://github.com/matrix-org/matrix-react-sdk/pull/9235)). Fixes matrix-org/element-web-rageshakes#15107, matrix-org/element-web-rageshakes#15093 matrix-org/element-web-rageshakes#15092 and matrix-org/element-web-rageshakes#15077.
15+
* Fix plain text export saving ([\#9230](https://github.com/matrix-org/matrix-react-sdk/pull/9230)). Contributed by @jryans.
16+
* Add missing space in SecurityRoomSettingsTab ([\#9222](https://github.com/matrix-org/matrix-react-sdk/pull/9222)). Contributed by @gefgu.
17+
* Make use of js-sdk roomNameGenerator to handle i18n for generated room names ([\#9209](https://github.com/matrix-org/matrix-react-sdk/pull/9209)). Fixes vector-im/element-web#21369.
18+
* Fix progress bar regression throughout the app ([\#9219](https://github.com/matrix-org/matrix-react-sdk/pull/9219)). Fixes vector-im/element-web#23121.
19+
* Reuse empty string & space string logic for event types in devtools ([\#9218](https://github.com/matrix-org/matrix-react-sdk/pull/9218)). Fixes vector-im/element-web#23115.
20+
121
Changes in [3.53.0](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v3.53.0) (2022-08-31)
222
=====================================================================================================
323

0 commit comments

Comments
 (0)