-
-
Notifications
You must be signed in to change notification settings - Fork 2k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #28213 from element-hq/t3chguy/repo-merge
- Loading branch information
Showing
3,279 changed files
with
587,098 additions
and
1,790 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,3 @@ | ||
# prettier | ||
526645c79160ab1ad4b4c3845de27d51263a405e | ||
7921a6cbf86b035d2b0c1daecb4c24beaf5a5abc |
Validating CODEOWNERS rules …
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,3 @@ | ||
_extends: element-hq/matrix-react-sdk | ||
_extends: matrix-org/matrix-js-sdk | ||
version-resolver: | ||
default: patch |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
# Triggers after the playwright tests have finished, | ||
# taking the artifact and uploading it to Netlify for easier viewing | ||
name: Upload End to End Test report to Netlify | ||
on: | ||
workflow_run: | ||
workflows: ["End to End Tests"] | ||
types: | ||
- completed | ||
|
||
concurrency: | ||
group: ${{ github.workflow }}-${{ github.event.workflow_run.head_branch || github.run_id }} | ||
cancel-in-progress: ${{ github.event.workflow_run.event == 'pull_request' }} | ||
|
||
jobs: | ||
report: | ||
if: github.event.workflow_run.conclusion != 'cancelled' | ||
name: Report results | ||
runs-on: ubuntu-22.04 | ||
environment: Netlify | ||
permissions: | ||
statuses: write | ||
deployments: write | ||
steps: | ||
- name: Download HTML report | ||
uses: actions/download-artifact@v4 | ||
with: | ||
github-token: ${{ secrets.ELEMENT_BOT_TOKEN }} | ||
run-id: ${{ github.event.workflow_run.id }} | ||
name: html-report | ||
path: playwright-report | ||
|
||
- name: 📤 Deploy to Netlify | ||
uses: matrix-org/netlify-pr-preview@v3 | ||
with: | ||
path: playwright-report | ||
owner: ${{ github.event.workflow_run.head_repository.owner.login }} | ||
branch: ${{ github.event.workflow_run.head_branch }} | ||
revision: ${{ github.event.workflow_run.head_sha }} | ||
token: ${{ secrets.NETLIFY_AUTH_TOKEN }} | ||
site_id: ${{ vars.NETLIFY_SITE_ID }} | ||
desc: Playwright Report | ||
deployment_env: EndToEndTests | ||
prefix: "e2e-" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,29 +1,190 @@ | ||
# Triggers after the "Downstream artifacts" build has finished, to run the | ||
# matrix-react-sdk playwright tests (with access to repo secrets) | ||
|
||
name: matrix-react-sdk End to End Tests | ||
# Produce a build of element-web with this version of react-sdk | ||
# and any matching branches of element-web and js-sdk, output it | ||
# as an artifact and run end-to-end tests. | ||
name: End to End Tests | ||
on: | ||
pull_request: {} | ||
merge_group: | ||
types: [checks_requested] | ||
pull_request: {} | ||
push: | ||
branches: [develop, master] | ||
repository_dispatch: | ||
types: [element-web-notify] | ||
|
||
# support triggering from other workflows | ||
workflow_call: | ||
inputs: | ||
skip: | ||
type: boolean | ||
required: false | ||
default: false | ||
description: "A boolean to skip the playwright check itself while still creating the passing check. Useful when only running in Merge Queues." | ||
|
||
matrix-js-sdk-sha: | ||
type: string | ||
required: false | ||
description: "The Git SHA of matrix-js-sdk to build against. By default, will use a matching branch name if it exists, or develop." | ||
|
||
concurrency: | ||
group: ${{ github.workflow }}-${{ github.event.workflow_run.head_branch || github.run_id }} | ||
cancel-in-progress: ${{ github.event.workflow_run.event == 'pull_request' }} | ||
group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event_name }} | ||
cancel-in-progress: true | ||
|
||
env: | ||
# fetchdep.sh needs to know our PR number | ||
PR_NUMBER: ${{ github.event.pull_request.number }} | ||
|
||
jobs: | ||
build: | ||
name: "Build Element-Web" | ||
runs-on: ubuntu-22.04 | ||
if: inputs.skip != true | ||
steps: | ||
- name: Checkout code | ||
uses: actions/checkout@v4 | ||
with: | ||
repository: element-hq/element-web | ||
|
||
- uses: actions/setup-node@v4 | ||
with: | ||
cache: "yarn" | ||
node-version: "lts/*" | ||
|
||
- name: Fetch layered build | ||
id: layered_build | ||
env: | ||
# tell layered.sh to check out the right sha of the JS-SDK & EW, if they were given one | ||
JS_SDK_GITHUB_BASE_REF: ${{ inputs.matrix-js-sdk-sha }} | ||
run: | | ||
scripts/layered.sh | ||
JSSDK_SHA=$(git -C matrix-js-sdk rev-parse --short=12 HEAD) | ||
VECTOR_SHA=$(git rev-parse --short=12 HEAD) | ||
echo "VERSION=$VECTOR_SHA--js-$JSSDK_SHA" >> $GITHUB_OUTPUT | ||
- name: Copy config | ||
run: cp element.io/develop/config.json config.json | ||
|
||
- name: Build | ||
env: | ||
CI_PACKAGE: true | ||
VERSION: "${{ steps.layered_build.outputs.VERSION }}" | ||
run: | | ||
yarn build | ||
echo $VERSION > webapp/version | ||
- name: Upload Artifact | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: webapp | ||
path: webapp | ||
retention-days: 1 | ||
|
||
playwright: | ||
name: Playwright | ||
uses: element-hq/matrix-react-sdk/.github/workflows/end-to-end-tests.yaml@develop | ||
name: "Run Tests ${{ matrix.runner }}/${{ strategy.job-total }}" | ||
needs: build | ||
if: inputs.skip != true | ||
runs-on: ubuntu-22.04 | ||
permissions: | ||
actions: read | ||
issues: read | ||
pull-requests: read | ||
with: | ||
element-web-sha: ${{ github.sha }} | ||
react-sdk-repository: element-hq/matrix-react-sdk | ||
# We only want to run the playwright tests on merge queue to prevent regressions | ||
# from creeping in. They take a long time to run and consume multiple concurrent runners. | ||
skip: ${{ github.event_name != 'merge_group' }} | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
# Run multiple instances in parallel to speed up the tests | ||
runner: [1, 2, 3, 4, 5, 6] | ||
steps: | ||
- uses: actions/checkout@v4 | ||
with: | ||
persist-credentials: false | ||
repository: element-hq/element-web | ||
|
||
- name: 📥 Download artifact | ||
uses: actions/download-artifact@v4 | ||
with: | ||
name: webapp | ||
path: webapp | ||
|
||
- uses: actions/setup-node@v4 | ||
with: | ||
cache: "yarn" | ||
cache-dependency-path: yarn.lock | ||
node-version: "lts/*" | ||
|
||
- name: Install dependencies | ||
run: yarn install --frozen-lockfile | ||
|
||
- name: Get installed Playwright version | ||
id: playwright | ||
run: echo "version=$(yarn list --pattern @playwright/test --depth=0 --json --non-interactive --no-progress | jq -r '.data.trees[].name')" >> $GITHUB_OUTPUT | ||
|
||
- name: Cache playwright binaries | ||
uses: actions/cache@v4 | ||
id: playwright-cache | ||
with: | ||
path: | | ||
~/.cache/ms-playwright | ||
key: ${{ runner.os }}-playwright-${{ steps.playwright.outputs.version }} | ||
|
||
- name: Install Playwright browsers | ||
if: steps.playwright-cache.outputs.cache-hit != 'true' | ||
run: yarn playwright install --with-deps | ||
|
||
- name: Run Playwright tests | ||
run: yarn playwright test --shard ${{ matrix.runner }}/${{ strategy.job-total }} | ||
|
||
- name: Upload blob report to GitHub Actions Artifacts | ||
if: always() | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: all-blob-reports-${{ matrix.runner }} | ||
path: blob-report | ||
retention-days: 1 | ||
|
||
complete: | ||
name: end-to-end-tests | ||
needs: playwright | ||
if: always() | ||
runs-on: ubuntu-22.04 | ||
steps: | ||
- uses: actions/checkout@v4 | ||
if: inputs.skip != true | ||
with: | ||
persist-credentials: false | ||
repository: element-hq/element-web | ||
|
||
- uses: actions/setup-node@v4 | ||
if: inputs.skip != true | ||
with: | ||
cache: "yarn" | ||
node-version: "lts/*" | ||
|
||
- name: Install dependencies | ||
if: inputs.skip != true | ||
run: yarn install --frozen-lockfile | ||
|
||
- name: Download blob reports from GitHub Actions Artifacts | ||
if: inputs.skip != true | ||
uses: actions/download-artifact@v4 | ||
with: | ||
pattern: all-blob-reports-* | ||
path: all-blob-reports | ||
merge-multiple: true | ||
|
||
- name: Merge into HTML Report | ||
if: inputs.skip != true | ||
run: yarn playwright merge-reports --reporter=html,./playwright/flaky-reporter.ts,./playwright/stale-screenshot-reporter.ts ./all-blob-reports | ||
env: | ||
# Only pass creds to the flaky-reporter on main branch runs | ||
GITHUB_TOKEN: ${{ github.ref_name == 'develop' && secrets.ELEMENT_BOT_TOKEN || '' }} | ||
|
||
# Upload the HTML report even if one of our reporters fails, this can happen when stale screenshots are detected | ||
- name: Upload HTML report | ||
if: always() && inputs.skip != true | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: html-report | ||
path: playwright-report | ||
retention-days: 14 | ||
|
||
- if: needs.playwright.result != 'skipped' && needs.playwright.result != 'success' | ||
run: exit 1 |
Oops, something went wrong.