mirror of https://github.com/vector-im/riot-web
				
				
				
			
							parent
							
								
									0f31b15573
								
							
						
					
					
						commit
						0007d3de32
					
				| 
						 | 
				
			
			@ -24,10 +24,6 @@ on:
 | 
			
		|||
                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."
 | 
			
		||||
            element-web-sha:
 | 
			
		||||
                type: string
 | 
			
		||||
                required: false
 | 
			
		||||
                description: "The Git SHA of element-web to build against. By default, will use a matching branch name if it exists, or develop."
 | 
			
		||||
 | 
			
		||||
concurrency:
 | 
			
		||||
    group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event_name }}
 | 
			
		||||
| 
						 | 
				
			
			@ -58,16 +54,14 @@ jobs:
 | 
			
		|||
              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 }}
 | 
			
		||||
                  ELEMENT_WEB_GITHUB_BASE_REF: ${{ inputs.element-web-sha }}
 | 
			
		||||
              run: |
 | 
			
		||||
                  scripts/ci/layered.sh
 | 
			
		||||
                  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
 | 
			
		||||
              working-directory: ./element-web
 | 
			
		||||
 | 
			
		||||
            - name: Build
 | 
			
		||||
              env:
 | 
			
		||||
| 
						 | 
				
			
			@ -76,13 +70,12 @@ jobs:
 | 
			
		|||
              run: |
 | 
			
		||||
                  yarn build
 | 
			
		||||
                  echo $VERSION > webapp/version
 | 
			
		||||
              working-directory: ./element-web
 | 
			
		||||
 | 
			
		||||
            - name: Upload Artifact
 | 
			
		||||
              uses: actions/upload-artifact@v4
 | 
			
		||||
              with:
 | 
			
		||||
                  name: webapp
 | 
			
		||||
                  path: element-web/webapp
 | 
			
		||||
                  path: webapp
 | 
			
		||||
                  retention-days: 1
 | 
			
		||||
 | 
			
		||||
    playwright:
 | 
			
		||||
| 
						 | 
				
			
			@ -103,7 +96,6 @@ jobs:
 | 
			
		|||
            - uses: actions/checkout@v4
 | 
			
		||||
              with:
 | 
			
		||||
                  persist-credentials: false
 | 
			
		||||
                  path: element-web
 | 
			
		||||
                  repository: element-hq/element-web
 | 
			
		||||
 | 
			
		||||
            - name: 📥 Download artifact
 | 
			
		||||
| 
						 | 
				
			
			@ -115,16 +107,14 @@ jobs:
 | 
			
		|||
            - uses: actions/setup-node@v4
 | 
			
		||||
              with:
 | 
			
		||||
                  cache: "yarn"
 | 
			
		||||
                  cache-dependency-path: element-web/yarn.lock
 | 
			
		||||
                  cache-dependency-path: yarn.lock
 | 
			
		||||
                  node-version: "lts/*"
 | 
			
		||||
 | 
			
		||||
            - name: Install dependencies
 | 
			
		||||
              working-directory: element-web
 | 
			
		||||
              run: yarn install --frozen-lockfile
 | 
			
		||||
 | 
			
		||||
            - name: Get installed Playwright version
 | 
			
		||||
              id: playwright
 | 
			
		||||
              working-directory: element-web
 | 
			
		||||
              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
 | 
			
		||||
| 
						 | 
				
			
			@ -137,19 +127,17 @@ jobs:
 | 
			
		|||
 | 
			
		||||
            - name: Install Playwright browsers
 | 
			
		||||
              if: steps.playwright-cache.outputs.cache-hit != 'true'
 | 
			
		||||
              working-directory: element-web
 | 
			
		||||
              run: yarn playwright install --with-deps
 | 
			
		||||
 | 
			
		||||
            - name: Run Playwright tests
 | 
			
		||||
              run: yarn playwright test --shard ${{ matrix.runner }}/${{ strategy.job-total }}
 | 
			
		||||
              working-directory: element-web
 | 
			
		||||
 | 
			
		||||
            - name: Upload blob report to GitHub Actions Artifacts
 | 
			
		||||
              if: always()
 | 
			
		||||
              uses: actions/upload-artifact@v4
 | 
			
		||||
              with:
 | 
			
		||||
                  name: all-blob-reports-${{ matrix.runner }}
 | 
			
		||||
                  path: element-web/blob-report
 | 
			
		||||
                  path: blob-report
 | 
			
		||||
                  retention-days: 1
 | 
			
		||||
 | 
			
		||||
    complete:
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -48,7 +48,7 @@ jobs:
 | 
			
		|||
                  cache: "yarn"
 | 
			
		||||
 | 
			
		||||
            - name: Install Deps
 | 
			
		||||
              run: "./scripts/ci/install-deps.sh"
 | 
			
		||||
              run: "./scripts/layered.sh"
 | 
			
		||||
              env:
 | 
			
		||||
                  JS_SDK_GITHUB_BASE_REF: ${{ inputs.matrix-js-sdk-sha }}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,32 +0,0 @@
 | 
			
		|||
#!/bin/bash
 | 
			
		||||
 | 
			
		||||
# This installs other Matrix dependencies that are often
 | 
			
		||||
# developed in parallel with react-sdk, using fetchdep.sh
 | 
			
		||||
# for branch matching.
 | 
			
		||||
# This will set up a working react-sdk environment, so is
 | 
			
		||||
# used for running react-sdk standalone tests. To set up a
 | 
			
		||||
# build of element-web, use layered.sh
 | 
			
		||||
 | 
			
		||||
set -ex
 | 
			
		||||
 | 
			
		||||
scripts/fetchdep.sh matrix-org matrix-js-sdk develop
 | 
			
		||||
pushd matrix-js-sdk
 | 
			
		||||
[ -n "$JS_SDK_GITHUB_BASE_REF" ] && git fetch --depth 1 origin $JS_SDK_GITHUB_BASE_REF && git checkout $JS_SDK_GITHUB_BASE_REF
 | 
			
		||||
yarn link
 | 
			
		||||
yarn install --frozen-lockfile $@
 | 
			
		||||
popd
 | 
			
		||||
 | 
			
		||||
scripts/fetchdep.sh matrix-org matrix-analytics-events
 | 
			
		||||
# We don't pass a default branch so cloning may fail when we are not in a PR
 | 
			
		||||
# This is expected as this project does not share a release cycle but we still branch match it
 | 
			
		||||
if [ -d matrix-analytics-events ]; then
 | 
			
		||||
    pushd matrix-analytics-events
 | 
			
		||||
    yarn link
 | 
			
		||||
    yarn install --frozen-lockfile $@
 | 
			
		||||
    yarn build:ts
 | 
			
		||||
    popd
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
yarn link matrix-js-sdk
 | 
			
		||||
[ -d matrix-analytics-events ] && yarn link @matrix-org/analytics-events
 | 
			
		||||
yarn install --frozen-lockfile $@
 | 
			
		||||
| 
						 | 
				
			
			@ -1,43 +0,0 @@
 | 
			
		|||
#!/bin/bash
 | 
			
		||||
 | 
			
		||||
set -ex
 | 
			
		||||
 | 
			
		||||
# Creates a layered environment with the full repo for the app and SDKs cloned
 | 
			
		||||
# and linked. This gives an element-web dev environment ready to build with
 | 
			
		||||
# the current react-sdk branch and any matching branches of react-sdk's dependencies
 | 
			
		||||
# so that changes can be tested in element-web.
 | 
			
		||||
 | 
			
		||||
# Note that this style is different from the recommended developer setup: this
 | 
			
		||||
# file nests js-sdk inside element-web, while the local
 | 
			
		||||
# development setup places them all at the same level. We are nesting them here
 | 
			
		||||
# because some CI systems do not allow moving to a directory above the checkout
 | 
			
		||||
# for the primary repo (react-sdk in this case).
 | 
			
		||||
 | 
			
		||||
# Set up the js-sdk first
 | 
			
		||||
scripts/fetchdep.sh matrix-org matrix-js-sdk develop
 | 
			
		||||
pushd matrix-js-sdk
 | 
			
		||||
[ -n "$JS_SDK_GITHUB_BASE_REF" ] && git fetch --depth 1 origin $JS_SDK_GITHUB_BASE_REF && git checkout $JS_SDK_GITHUB_BASE_REF
 | 
			
		||||
yarn link
 | 
			
		||||
yarn install --frozen-lockfile
 | 
			
		||||
popd
 | 
			
		||||
 | 
			
		||||
# Also set up matrix-analytics-events for branch with matching name
 | 
			
		||||
scripts/fetchdep.sh matrix-org matrix-analytics-events
 | 
			
		||||
# We don't pass a default branch so cloning may fail when we are not in a PR
 | 
			
		||||
# This is expected as this project does not share a release cycle but we still branch match it
 | 
			
		||||
if [ -d matrix-analytics-events ]; then
 | 
			
		||||
    pushd matrix-analytics-events
 | 
			
		||||
    yarn link
 | 
			
		||||
    yarn install --frozen-lockfile
 | 
			
		||||
    yarn build:ts
 | 
			
		||||
    popd
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# Finally, set up element-web
 | 
			
		||||
scripts/fetchdep.sh vector-im element-web develop
 | 
			
		||||
pushd element-web
 | 
			
		||||
[ -n "$ELEMENT_WEB_GITHUB_BASE_REF" ] && git fetch --depth 1 origin $ELEMENT_WEB_GITHUB_BASE_REF && git checkout $ELEMENT_WEB_GITHUB_BASE_REF
 | 
			
		||||
yarn link matrix-js-sdk
 | 
			
		||||
yarn install --frozen-lockfile
 | 
			
		||||
yarn build:res
 | 
			
		||||
popd
 | 
			
		||||
| 
						 | 
				
			
			@ -23,6 +23,7 @@ export PR_REPO=element-web
 | 
			
		|||
# Set up the js-sdk first
 | 
			
		||||
scripts/fetchdep.sh matrix-org matrix-js-sdk develop
 | 
			
		||||
pushd matrix-js-sdk
 | 
			
		||||
[ -n "$JS_SDK_GITHUB_BASE_REF" ] && git fetch --depth 1 origin $JS_SDK_GITHUB_BASE_REF && git checkout $JS_SDK_GITHUB_BASE_REF
 | 
			
		||||
yarn link
 | 
			
		||||
yarn install --frozen-lockfile
 | 
			
		||||
popd
 | 
			
		||||
| 
						 | 
				
			
			@ -41,3 +42,5 @@ fi
 | 
			
		|||
 | 
			
		||||
# Link the layers into element-web
 | 
			
		||||
yarn link matrix-js-sdk
 | 
			
		||||
[ -d matrix-analytics-events ] && yarn link @matrix-org/analytics-events
 | 
			
		||||
yarn install --frozen-lockfile $@
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue