diff --git a/apps/desktop/.github/SSLcom-sandbox.crt b/.github/SSLcom-sandbox.crt similarity index 100% rename from apps/desktop/.github/SSLcom-sandbox.crt rename to .github/SSLcom-sandbox.crt diff --git a/apps/desktop/.github/workflows/build_and_deploy.yaml b/.github/workflows/build_desktop_and_deploy.yaml similarity index 99% rename from apps/desktop/.github/workflows/build_and_deploy.yaml rename to .github/workflows/build_desktop_and_deploy.yaml index ae3690f43a..a2b3dfec71 100644 --- a/apps/desktop/.github/workflows/build_and_deploy.yaml +++ b/.github/workflows/build_desktop_and_deploy.yaml @@ -44,7 +44,7 @@ env: permissions: {} # Uses ELEMENT_BOT_TOKEN jobs: prepare: - uses: ./.github/workflows/build_prepare.yaml + uses: ./.github/workflows/build_desktop_prepare.yaml permissions: contents: read with: diff --git a/apps/desktop/.github/workflows/build_and_test.yaml b/.github/workflows/build_desktop_and_test.yaml similarity index 97% rename from apps/desktop/.github/workflows/build_and_test.yaml rename to .github/workflows/build_desktop_and_test.yaml index e88892860c..fa62d2642a 100644 --- a/apps/desktop/.github/workflows/build_and_test.yaml +++ b/.github/workflows/build_desktop_and_test.yaml @@ -9,7 +9,7 @@ concurrency: permissions: {} # No permissions required jobs: fetch: - uses: ./.github/workflows/build_prepare.yaml + uses: ./.github/workflows/build_desktop_prepare.yaml permissions: contents: read with: diff --git a/apps/desktop/.github/workflows/build_linux.yaml b/.github/workflows/build_desktop_linux.yaml similarity index 92% rename from apps/desktop/.github/workflows/build_linux.yaml rename to .github/workflows/build_desktop_linux.yaml index a56f0685ad..4f2964ba53 100644 --- a/apps/desktop/.github/workflows/build_linux.yaml +++ b/.github/workflows/build_desktop_linux.yaml @@ -33,7 +33,7 @@ on: + webapp.asar - the asar archive of the webapp to embed in the desktop app + electronVersion - the version of electron to use for cache keying + hakHash - the hash of the .hak directory to use for cache keying - + changelog.Debian - the changelog file to embed in the Debian package + + changelog.Debian - the changelog file to embed in the Debian package + variant.json - the variant configuration to use for the build The artifact can also contain any additional files which will be applied as overrides to the checkout root before building, @@ -107,13 +107,14 @@ jobs: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 with: - repository: element-hq/element-desktop + repository: element-hq/element-web ref: ${{ inputs.ref }} persist-credentials: false - uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8 with: name: ${{ inputs.prepare-artifact-name }} + path: apps/desktop - name: Cache .hak id: cache @@ -121,34 +122,36 @@ jobs: with: key: ${{ runner.os }}-${{ github.ref_name }}-${{ inputs.sqlcipher }}-${{ inputs.arch }}-${{ hashFiles('hakHash', 'electronVersion', 'dockerbuild/*') }} path: | - ./.hak + apps/desktop/.hak - uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v4 - uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6 with: - node-version-file: .node-version + node-version-file: apps/desktop/.node-version cache: "pnpm" env: # Workaround for https://github.com/actions/setup-node/issues/317 FORCE_COLOR: 0 - name: Install Deps + working-directory: apps/desktop run: pnpm install --frozen-lockfile - name: "Get modified files" id: changed_files - if: steps.cache.outputs.cache-hit != 'true' && github.event_name == 'pull_request' && github.repository == 'element-hq/element-desktop' + if: steps.cache.outputs.cache-hit != 'true' && github.event_name == 'pull_request' && github.repository == 'element-hq/element-web' uses: tj-actions/changed-files@823fcebdb31bb35fdf2229d9f769b400309430d0 # v46 with: files: | - dockerbuild/** + apps/desktop/dockerbuild/** # This allows contributors to test changes to the dockerbuild image within a pull request - name: Build docker image uses: docker/build-push-action@d08e5c354a6adb9ed34480a06d141179aa583294 # v7 if: steps.changed_files.outputs.any_modified == 'true' with: - file: dockerbuild/Dockerfile + file: apps/desktop/dockerbuild/Dockerfile + context: apps/desktop load: true platforms: linux/${{ inputs.arch }} tags: ${{ env.HAK_DOCKER_IMAGE }} @@ -157,13 +160,14 @@ jobs: if: steps.cache.outputs.cache-hit != 'true' run: | docker run \ - -v ${{ github.workspace }}:/work -w /work \ + -v ${{ github.workspace }}/apps/desktop:/work -w /work \ -e SQLCIPHER_BUNDLED \ -e CI=1 \ $HAK_DOCKER_IMAGE \ pnpm build:native - name: Fix permissions + working-directory: apps/desktop run: | # For .hak sudo chown -R $USER:$USER .hak @@ -171,6 +175,7 @@ jobs: sudo chmod +x node_modules/7zip-bin/linux/*/7za - name: Check native libraries in hak dependencies + working-directory: apps/desktop run: | shopt -s globstar @@ -179,12 +184,14 @@ jobs: done - name: Generate debian files and arguments + working-directory: apps/desktop run: | if [ -f changelog.Debian ]; then echo "ED_DEBIAN_CHANGELOG=changelog.Debian" >> $GITHUB_ENV fi - name: Build App + working-directory: apps/desktop run: pnpm build --publish never $BUILD_ARGS -l $TARGETS env: VARIANT_PATH: variant.json @@ -196,6 +203,7 @@ jobs: TARGETS: ${{ inputs.targets }} - name: Check native libraries + working-directory: apps/desktop run: | set -x shopt -s globstar @@ -227,12 +235,13 @@ jobs: with: name: ${{ inputs.artifact-prefix }}linux-${{ inputs.arch }}-sqlcipher-${{ inputs.sqlcipher }} path: | - dist - !dist/*-unpacked/** + apps/desktop/dist + !apps/desktop/dist/*-unpacked/** retention-days: 1 - name: Assert deb is present and valid if: contains(inputs.targets, 'deb') + working-directory: apps/desktop run: | test -f ./dist/element-desktop*$ARCH.deb @@ -245,6 +254,7 @@ jobs: - name: Assert tar.gz is present if: contains(inputs.targets, 'tar.gz') + working-directory: apps/desktop run: | test -f ./dist/element-desktop*.tar.gz @@ -257,7 +267,7 @@ jobs: name: Test Linux ${{ inputs.arch }} SQLCipher ${{ inputs.sqlcipher }} needs: build if: inputs.test && contains(inputs.targets, 'deb') - uses: ./.github/workflows/build_test.yaml + uses: ./.github/workflows/build_desktop_test.yaml with: project: linux-${{ inputs.arch }}-sqlcipher-${{ inputs.sqlcipher }} artifact: ${{ inputs.artifact-prefix }}linux-${{ inputs.arch }}-sqlcipher-${{ inputs.sqlcipher }} diff --git a/apps/desktop/.github/workflows/build_macos.yaml b/.github/workflows/build_desktop_macos.yaml similarity index 93% rename from apps/desktop/.github/workflows/build_macos.yaml rename to .github/workflows/build_desktop_macos.yaml index 9cdd1581ec..38f3ac51e9 100644 --- a/apps/desktop/.github/workflows/build_macos.yaml +++ b/.github/workflows/build_desktop_macos.yaml @@ -81,13 +81,14 @@ jobs: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 with: - repository: element-hq/element-desktop + repository: element-hq/element-web ref: ${{ inputs.ref }} persist-credentials: false - uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8 with: name: ${{ inputs.prepare-artifact-name }} + path: apps/desktop - name: Cache .hak id: cache @@ -95,7 +96,7 @@ jobs: with: key: ${{ runner.os }}-${{ hashFiles('hakHash', 'electronVersion') }} path: | - ./.hak + apps/desktop/.hak - name: Install Rust if: steps.cache.outputs.cache-hit != 'true' @@ -117,19 +118,22 @@ jobs: - uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v4 - uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6 with: - node-version-file: .node-version + node-version-file: apps/desktop/.node-version cache: "pnpm" - name: Install Deps + working-directory: apps/desktop run: "pnpm install --frozen-lockfile" - name: Build Natives if: steps.cache.outputs.cache-hit != 'true' + working-directory: apps/desktop run: pnpm build:native:universal # We split these because electron-builder gets upset if we set CSC_LINK even to an empty string - name: "[Signed] Build App" if: inputs.sign != '' + working-directory: apps/desktop run: | pnpm build:universal --publish never -m ${TARGETS} env: @@ -145,6 +149,7 @@ jobs: - name: Check app was signed & notarised successfully if: inputs.sign != '' + working-directory: apps/desktop run: | hdiutil attach dist/*.dmg -mountpoint /Volumes/Element codesign -dv --verbose=4 /Volumes/Element/*.app @@ -153,6 +158,7 @@ jobs: - name: "[Unsigned] Build App" if: inputs.sign == '' + working-directory: apps/desktop run: | pnpm build:universal --publish never -m ${TARGETS} env: @@ -162,6 +168,7 @@ jobs: - name: Generate releases.json if: inputs.base-url + working-directory: apps/desktop run: | PKG_JSON_VERSION=$(cat package.json | jq -r .version) LATEST=$(find dist -type f -iname "*-mac.zip" | xargs -0 -n1 -- basename) @@ -193,17 +200,19 @@ jobs: with: name: ${{ inputs.artifact-prefix }}macos path: | - dist - !dist/mac-universal/** + apps/desktop/dist + !apps/desktop/dist/mac-universal/** retention-days: 1 - name: Assert zip is present if: contains(inputs.targets, 'zip') + working-directory: apps/desktop run: | test -f ./dist/Element*-mac.zip - name: Assert dmg is present if: contains(inputs.targets, 'dmg') + working-directory: apps/desktop run: | test -f ./dist/Element*.dmg @@ -211,7 +220,7 @@ jobs: name: Test macOS Universal needs: build if: inputs.test && contains(inputs.targets, 'dmg') - uses: ./.github/workflows/build_test.yaml + uses: ./.github/workflows/build_desktop_test.yaml with: project: macos artifact: ${{ inputs.artifact-prefix }}macos diff --git a/apps/desktop/.github/workflows/build_prepare.yaml b/.github/workflows/build_desktop_prepare.yaml similarity index 93% rename from apps/desktop/.github/workflows/build_prepare.yaml rename to .github/workflows/build_desktop_prepare.yaml index 16cdfd4fdb..b984717ee0 100644 --- a/apps/desktop/.github/workflows/build_prepare.yaml +++ b/.github/workflows/build_desktop_prepare.yaml @@ -61,15 +61,17 @@ jobs: - uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v4 - uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6 with: - node-version-file: .node-version + node-version-file: apps/desktop/.node-version cache: "pnpm" - name: Install Deps + working-directory: apps/desktop run: "pnpm install --frozen-lockfile" - name: Fetch Element Web (matching branch) id: branch-matching if: inputs.branch-matching + working-directory: apps/desktop continue-on-error: true run: | scripts/branch-match.sh @@ -86,18 +88,21 @@ jobs: - name: Fetch Element Web (${{ inputs.version }}) if: steps.branch-matching.outcome == 'failure' || steps.branch-matching.outcome == 'skipped' + working-directory: apps/desktop run: pnpm run fetch --noverify -d ${CONFIG} ${VERSION} env: CONFIG: ${{ inputs.config }} VERSION: ${{ inputs.version }} - name: Copy variant config + working-directory: apps/desktop run: cp "$CONFIG_DIR/build.json" variant.json env: CONFIG_DIR: ${{ inputs.config }} # We split this out to save the build_* scripts having to do it to make use of `hashFiles` in the cache action - name: Generate cache hash files + working-directory: apps/desktop run: | set -ex # Add --no-sandbox as otherwise it fails because the helper isn't setuid root. It's only getting the version. @@ -130,6 +135,7 @@ jobs: - name: Check version id: package + working-directory: apps/desktop run: | echo "version=$(cat package.json | jq -r .version)" >> $GITHUB_OUTPUT @@ -144,6 +150,7 @@ jobs: - name: "[Release] Write changelog" if: ${{ !inputs.nightly && inputs.version != 'develop' }} + working-directory: apps/desktop run: | TIME=$(date -d "$PUBLISHED_AT" -R) echo "element-desktop ($VERSION) default; urgency=medium" >> changelog.Debian @@ -158,6 +165,7 @@ jobs: - name: "[Nightly] Write summary" if: inputs.nightly + working-directory: apps/desktop run: | BUNDLE_HASH=$(npx asar l webapp.asar | grep /bundles/ | head -n 1 | sed 's|.*/||') WEBAPP_VERSION=$(./scripts/get-version.ts) @@ -179,8 +187,8 @@ jobs: name: webapp retention-days: 1 path: | - webapp.asar - electronVersion - hakHash - changelog.Debian - variant.json + apps/desktop/webapp.asar + apps/desktop/electronVersion + apps/desktop/hakHash + apps/desktop/changelog.Debian + apps/desktop/variant.json diff --git a/apps/desktop/.github/workflows/build_test.yaml b/.github/workflows/build_desktop_test.yaml similarity index 86% rename from apps/desktop/.github/workflows/build_test.yaml rename to .github/workflows/build_desktop_test.yaml index f94f1046bb..6bd1cbaab2 100644 --- a/apps/desktop/.github/workflows/build_test.yaml +++ b/.github/workflows/build_desktop_test.yaml @@ -38,24 +38,26 @@ jobs: steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 with: - repository: ${{ github.repository == 'element-hq/element-web-pro' && 'element-hq/element-desktop' || github.repository }} + repository: ${{ github.repository == 'element-hq/element-web-pro' && 'element-hq/element-web' || github.repository }} persist-credentials: false - uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v4 - uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6 with: - node-version-file: .node-version + node-version-file: apps/desktop/.node-version cache: "pnpm" - name: Install Deps + working-directory: apps/desktop run: "pnpm install --frozen-lockfile" - uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8 with: name: ${{ inputs.artifact }} - path: dist + path: apps/desktop/dist - name: Prepare for tests + working-directory: apps/desktop # This is set by the caller of the reusable workflow, they have the ability to run the command they specify # directly without our help so this is fine. run: ${{ inputs.prepare_cmd }} # zizmor: ignore[template-injection] @@ -63,6 +65,7 @@ jobs: - name: Expand executable path id: executable + working-directory: apps/desktop shell: bash env: EXECUTABLE: ${{ inputs.executable }} @@ -84,7 +87,7 @@ jobs: uses: coactions/setup-xvfb@6b00cf1889f4e1d5a48635647013c0508128ee1a timeout-minutes: 20 with: - run: pnpm test --project=${{ inputs.project }} ${{ runner.os != 'Linux' && '--ignore-snapshots' || '' }} ${{ inputs.blob_report == false && '--reporter=html' || '' }} ${{ inputs.args }} + run: pnpm -C apps/desktop test --project=${{ inputs.project }} ${{ runner.os != 'Linux' && '--ignore-snapshots' || '' }} ${{ inputs.blob_report == false && '--reporter=html' || '' }} ${{ inputs.args }} env: ELEMENT_DESKTOP_EXECUTABLE: ${{ steps.executable.outputs.path }} @@ -93,7 +96,7 @@ jobs: uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7 with: name: blob-report-${{ inputs.artifact }} - path: blob-report + path: apps/desktop/blob-report retention-days: 1 - name: Upload HTML report @@ -101,5 +104,5 @@ jobs: uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7 with: name: ${{ inputs.artifact }}-test - path: playwright-report + path: apps/desktop/playwright-report retention-days: 14 diff --git a/apps/desktop/.github/workflows/build_windows.yaml b/.github/workflows/build_desktop_windows.yaml similarity index 95% rename from apps/desktop/.github/workflows/build_windows.yaml rename to .github/workflows/build_desktop_windows.yaml index bc8d977482..737cb822b9 100644 --- a/apps/desktop/.github/workflows/build_windows.yaml +++ b/.github/workflows/build_desktop_windows.yaml @@ -110,13 +110,14 @@ jobs: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 with: - repository: element-hq/element-desktop + repository: element-hq/element-web ref: ${{ inputs.ref }} persist-credentials: false - uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8 with: name: ${{ inputs.prepare-artifact-name }} + path: apps/desktop/ - name: Cache .hak id: cache @@ -124,7 +125,7 @@ jobs: with: key: ${{ runner.os }}-${{ inputs.arch }}-${{ hashFiles('hakHash', 'electronVersion') }} path: | - ./.hak + apps/desktop/.hak # ActiveTCL package on choco is from 2015, # this one is newer but includes more than we need @@ -154,14 +155,16 @@ jobs: - uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v4 - uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6 with: - node-version-file: .node-version + node-version-file: apps/desktop/.node-version cache: "pnpm" - name: Install Deps + working-directory: apps/desktop run: "pnpm install --frozen-lockfile" - name: Insert config snippet if: steps.config.outputs.extra_config != '' + working-directory: apps/desktop shell: bash run: | mkdir config-edit @@ -188,6 +191,7 @@ jobs: - name: Build Natives if: steps.cache.outputs.cache-hit != 'true' + working-directory: apps/desktop run: | refreshenv pnpm build:native --target $env:TARGET @@ -239,6 +243,7 @@ jobs: MASTER_KEY_FILE: C:\Users\runneradmin\eSignerCKA\master.key - name: Build App + working-directory: apps/desktop run: pnpm build --publish never $BUILD_ARGS -w $TARGETS shell: bash env: @@ -260,6 +265,7 @@ jobs: Import-Certificate -CertStoreLocation Cert:\LocalMachine\Root -FilePath .github/SSLcom-sandbox.crt - name: Check app was signed successfully + working-directory: apps/desktop run: | Set-StrictMode -Version 'Latest' Get-ChildItem ` @@ -272,15 +278,17 @@ jobs: with: name: ${{ inputs.artifact-prefix }}win-${{ inputs.arch }} path: | - dist + apps/desktop/dist retention-days: 1 - name: Assert executable is present + working-directory: apps/desktop run: | Test-Path './dist/win-*unpacked/Element*.exe' - name: Assert all Squirrel files are present if: contains(inputs.targets, 'squirrel') + working-directory: apps/desktop run: | Test-Path './dist/squirrel-windows*/Element Setup*.exe' Test-Path './dist/squirrel-windows*/element-desktop-*-full.nupkg' @@ -288,6 +296,7 @@ jobs: - name: Assert MSI is present if: contains(inputs.targets, 'msi') + working-directory: apps/desktop run: | Test-Path './dist/Element*.msi' @@ -295,7 +304,7 @@ jobs: name: Test Windows ${{ inputs.arch }} needs: build if: inputs.test - uses: ./.github/workflows/build_test.yaml + uses: ./.github/workflows/build_desktop_test.yaml with: project: win-${{ inputs.arch }} artifact: ${{ inputs.artifact-prefix }}win-${{ inputs.arch }} diff --git a/apps/desktop/.github/workflows/dockerbuild.yaml b/.github/workflows/dockerbuild.yaml similarity index 100% rename from apps/desktop/.github/workflows/dockerbuild.yaml rename to .github/workflows/dockerbuild.yaml diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index eeb8dc0ff1..1bfaee1ec0 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -16,13 +16,6 @@ jobs: name: GitHub Pages runs-on: ubuntu-24.04 steps: - - name: Fetch element-desktop - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - with: - repository: element-hq/element-desktop - path: element-desktop - persist-credentials: false - - name: Fetch element-web uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 with: @@ -49,7 +42,7 @@ jobs: working-directory: element-web run: | pnpm install --frozen-lockfile - pnpm node ./scripts/gen-workflow-mermaid.ts ../element-desktop ../element-web ../matrix-js-sdk > docs/automations.md + pnpm node ./scripts/gen-workflow-mermaid.ts ../element-web ../matrix-js-sdk > docs/automations.md echo "- [Automations](automations.md)" >> docs/SUMMARY.md - name: Setup mdBook @@ -64,9 +57,6 @@ jobs: run: | mkdir docs - mv element-desktop/README.md element-desktop/docs/ - mv element-desktop/docs "docs/Element Desktop" - mv element-web/README.md element-web/docs/ mv element-web/docs/lib docs/ mv element-web/docs "docs/Element Web" diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 5b980f554f..5a0f5166e3 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -29,22 +29,9 @@ jobs: gpg-fingerprint: ${{ vars.GPG_FINGERPRINT }} asset-path: dist/*.tar.gz expected-asset-count: 3 + # Desktop has no dist script so we only target web here dir: apps/web - notify-downstream: - name: Trigger release drafter downstream - needs: release - runs-on: ubuntu-24.04 - steps: - - name: Notify element-desktop repo that element-web release has completed to re-trigger release-drafter - uses: benc-uk/workflow-dispatch@7a027648b88c2413826b6ddd6c76114894dc5ec4 # v1 - with: - workflow: release-drafter.yml - repo: element-hq/element-desktop - ref: staging - # Required when using the `repo` option. Either a PAT or a token generated from the GitHub app or CLI - token: "${{ secrets.ELEMENT_BOT_TOKEN }}" - check: name: Post release checks needs: release @@ -69,3 +56,12 @@ jobs: wait-interval: 10 check-name: Build package allowed-conclusions: success + + - name: Wait for desktop packaging + uses: t3chguy/wait-on-check-action@18541021811b56544d90e0f073401c2b99e249d6 # fork + with: + ref: master + repo-token: ${{ secrets.GITHUB_TOKEN }} + wait-interval: 10 + check-regexp: Prepare|Linux|macOS|Windows|Deploy|deploy + allowed-conclusions: success diff --git a/.github/workflows/release_prepare.yml b/.github/workflows/release_prepare.yml index b2858d7788..cbe464d177 100644 --- a/.github/workflows/release_prepare.yml +++ b/.github/workflows/release_prepare.yml @@ -2,11 +2,6 @@ name: Cut branches on: workflow_dispatch: inputs: - element-desktop: - description: Prepare element-desktop - required: true - type: boolean - default: true element-web: description: Prepare element-web required: true @@ -26,7 +21,6 @@ jobs: repo: - matrix-org/matrix-js-sdk - element-hq/element-web - - element-hq/element-desktop uses: matrix-org/matrix-js-sdk/.github/workflows/release-checks.yml@develop # zizmor: ignore[unpinned-uses] secrets: ELEMENT_BOT_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }} @@ -38,19 +32,8 @@ jobs: needs: checks env: # The order is specified bottom-up to avoid any races for allchange - REPOS: matrix-js-sdk element-web element-desktop + REPOS: matrix-js-sdk element-web steps: - - name: Checkout Element Desktop - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - if: inputs.element-desktop - with: - repository: element-hq/element-desktop - path: element-desktop - ref: staging - fetch-depth: 0 - fetch-tags: true - token: ${{ secrets.ELEMENT_BOT_TOKEN }} - persist-credentials: true - name: Checkout Element Web uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 if: inputs.element-web @@ -79,10 +62,6 @@ jobs: git config --global user.email "releases@riot.im" git config --global user.name "RiotRobot" - - name: Merge Element Desktop - if: inputs.element-desktop - run: | - git -C "element-desktop" merge origin/develop - name: Merge Element Web if: inputs.element-web run: | @@ -116,14 +95,3 @@ jobs: wait-interval: 10 check-name: "draft / draft" allowed-conclusions: success - - - name: Wait for element-desktop draft - if: inputs.element-desktop - uses: t3chguy/wait-on-check-action@18541021811b56544d90e0f073401c2b99e249d6 # fork - with: - ref: staging - repo: element-hq/element-desktop - repo-token: ${{ secrets.ELEMENT_BOT_TOKEN }} - wait-interval: 10 - check-name: "draft / draft" - allowed-conclusions: success diff --git a/apps/desktop/.github/workflows/release.yml b/apps/desktop/.github/workflows/release.yml deleted file mode 100644 index 387a9335e7..0000000000 --- a/apps/desktop/.github/workflows/release.yml +++ /dev/null @@ -1,46 +0,0 @@ -name: Release Process -on: - workflow_dispatch: - inputs: - mode: - description: What type of release - required: true - default: rc - type: choice - options: - - rc - - final -concurrency: ${{ github.workflow }} -permissions: {} -jobs: - release: - uses: matrix-org/matrix-js-sdk/.github/workflows/release-make.yml@develop # zizmor: ignore[unpinned-uses] - permissions: - contents: write - issues: write - pull-requests: read - id-token: write - secrets: - ELEMENT_BOT_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }} - GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }} - GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }} - with: - final: ${{ inputs.mode == 'final' }} - gpg-fingerprint: ${{ vars.GPG_FINGERPRINT }} - expected-asset-count: 1 - - check: - name: Post release checks - needs: release - runs-on: ubuntu-24.04 - permissions: - checks: read - steps: - - name: Wait for desktop packaging - uses: t3chguy/wait-on-check-action@18541021811b56544d90e0f073401c2b99e249d6 # fork - with: - ref: master - repo-token: ${{ secrets.GITHUB_TOKEN }} - wait-interval: 10 - check-regexp: Prepare|Linux|macOS|Windows|Deploy|deploy - allowed-conclusions: success