Build #5995
Workflow file for this run
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
name: Build | |
on: | |
pull_request: {} | |
push: | |
branches: [develop, master] | |
merge_group: | |
types: [checks_requested] | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref || github.sha }} | |
cancel-in-progress: ${{ github.event_name == 'pull_request' }} | |
# develop pushes and repository_dispatch handled in build_develop.yaml | |
env: | |
# These must be set for fetchdep.sh to get the right branch | |
REPOSITORY: ${{ github.repository }} | |
PR_NUMBER: ${{ github.event.pull_request.number }} | |
permissions: {} # No permissions required | |
jobs: | |
build: | |
name: "Build on ${{ matrix.image }}" | |
# We build on all 3 platforms to ensure we don't have any OS-specific build incompatibilities | |
strategy: | |
fail-fast: false | |
matrix: | |
image: | |
- ubuntu-24.04 | |
- windows-2022 | |
- macos-14 | |
isDevelop: | |
- ${{ github.event_name == 'push' && github.ref_name == 'develop' }} | |
# Skip the ubuntu-24.04 build for the develop branch as the dedicated CD build_develop workflow handles that | |
exclude: | |
- isDevelop: true | |
image: ubuntu-24.04 | |
runs-on: ${{ matrix.image }} | |
defaults: | |
run: | |
shell: bash | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
# Disable cache on Windows as it is slower than not caching | |
# https://github.com/actions/setup-node/issues/975 | |
cache: ${{ runner.os != 'Windows' && 'yarn' || '' }} | |
node-version: "lts/*" | |
# Workaround for yarn install timeouts, especially on Windows | |
- run: yarn config set network-timeout 300000 | |
- 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 | |
- name: Upload Artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: webapp-${{ matrix.image }} | |
path: webapp | |
retention-days: 1 |