From edeaf8065e282feae668b47564dc34b6006cbbe4 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Thu, 9 Nov 2023 09:56:26 +0000 Subject: [PATCH 1/2] Ship element-web as a debian package (#26533) --- .github/workflows/build_debian.yaml | 60 +++++++++++++++++------------ debian/.gitignore | 2 + debian/control | 13 ++++--- 3 files changed, 44 insertions(+), 31 deletions(-) create mode 100644 debian/.gitignore diff --git a/.github/workflows/build_debian.yaml b/.github/workflows/build_debian.yaml index 86553a05bf..7ab28ff7ca 100644 --- a/.github/workflows/build_debian.yaml +++ b/.github/workflows/build_debian.yaml @@ -31,38 +31,48 @@ jobs: - name: Prepare run: | - mkdir -p /tmp/element-web-debian/DEBIAN - cp -R debian/ /tmp/element-web-debian/DEBIAN/ - mkdir -p /tmp/element-web-debian/usr/share/element-web/ + mkdir -p debian/tmp/DEBIAN + find debian -maxdepth 1 -type f -exec cp "{}" debian/tmp/DEBIAN/ \; + mkdir -p debian/tmp/usr/share/element-web/ - tar -xf "element-$VERSION.tar.gz" -C /tmp/element-web-debian/usr/share/element-web --strip-components=1 - cp config.sample.json /tmp/element-web-debian/usr/share/element-web/config.json + tar -xf "element-$VERSION.tar.gz" -C debian/tmp/usr/share/element-web --strip-components=1 --no-same-owner --no-same-permissions + mv debian/tmp/usr/share/element-web/config{.sample,}.json + + - name: Write changelog + run: | + VERSION=$(cat package.json | jq -r .version) + TIME=$(date -d "$PUBLISHED_AT" -R) + { + echo "element-web ($VERSION) default; urgency=medium" + echo "$BODY" | sed 's/^##/\n */g;s/^\*/ */g' | perl -pe 's/\[.+?]\((.+?)\)/\1/g' + echo "" + echo " -- $ACTOR $TIME" + } > debian/tmp/DEBIAN/changelog + env: + ACTOR: ${{ github.actor }} + VERSION: ${{ github.event.release.tag_name }} + BODY: ${{ github.event.release.body }} + PUBLISHED_AT: ${{ github.event.release.published_at }} - name: Build deb package run: | VERSION=$(cat package.json | jq -r .version) - chmod -R u=rw,go=r /tmp/element-web-debian/usr/share/element-web/ - dpkg-deb -Zxz --root-owner-group -VVersion=$VERSION --build /tmp/element-web-debian element-web.deb + chmod -R u=rw,go=r debian/tmp/usr/share/element-web/ + dpkg-gencontrol -v"$VERSION" -ldebian/tmp/DEBIAN/changelog + dpkg-deb -Zxz --root-owner-group --build debian/tmp element-web.deb - # For now just upload the artifact to github - uses: actions/upload-artifact@v3 with: - name: debs - path: "*.deb" + name: element-web.deb + path: element-web.deb retention-days: 14 - #- name: Upload incoming deb - # if: github.event.release.prerelease == false - # run: aws s3 cp element-web.deb "s3://$R2_INCOMING_BUCKET" --endpoint-url "$R2_URL" --region auto - # env: - # AWS_ACCESS_KEY_ID: ${{ secrets.CF_R2_ACCESS_KEY_ID }} - # AWS_SECRET_ACCESS_KEY: ${{ secrets.CF_R2_TOKEN }} - - #reprepro: - # needs: build - # name: Run reprepro - # if: github.event.release.prerelease == false - # uses: ./.github/workflows/reprepro.yaml - # secrets: inherit - # with: - # incoming: element-web.deb + - name: Publish to packages.element.io + if: github.event.release.prerelease == false + uses: vector-im/packages.element.io@master + with: + file: element-web.deb + github-token: ${{ secrets.ELEMENT_BOT_TOKEN }} + bucket-api: ${{ vars.CF_R2_S3_API }} + bucket-key-id: ${{ secrets.CF_R2_ACCESS_KEY_ID }} + bucket-access-key: ${{ secrets.CF_R2_TOKEN }} diff --git a/debian/.gitignore b/debian/.gitignore new file mode 100644 index 0000000000..7b52740dcd --- /dev/null +++ b/debian/.gitignore @@ -0,0 +1,2 @@ +/files +/tmp diff --git a/debian/control b/debian/control index d8e38a7503..158c3ada17 100755 --- a/debian/control +++ b/debian/control @@ -1,12 +1,13 @@ -Package: element-web -License: Apache-2.0 -Vendor: support@element.io -Architecture: all +Source: element-web Maintainer: support@element.io -Recommends: element-io-archive-keyring Section: web Priority: optional Homepage: https://element.io/ -Version: ${Version} + +Package: element-web +Architecture: all +Recommends: httpd, element-io-archive-keyring Description: A feature-rich client for Matrix.org + This package contains the web-based client that can be served through a web + server. From 99c10cb4227a0471340df2ff08ed1af6d03251cd Mon Sep 17 00:00:00 2001 From: Charly Nguyen Date: Thu, 9 Nov 2023 11:28:16 +0100 Subject: [PATCH 2/2] Update @matrix-org/react-sdk-module-api --- package.json | 2 +- yarn.lock | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package.json b/package.json index decbaa577a..c119e37a0d 100644 --- a/package.json +++ b/package.json @@ -71,7 +71,7 @@ }, "dependencies": { "@matrix-org/olm": "3.2.15", - "@matrix-org/react-sdk-module-api": "^2.1.0", + "@matrix-org/react-sdk-module-api": "^2.2.1", "gfm.css": "^1.1.2", "jsrsasign": "^10.5.25", "katex": "^0.16.0", diff --git a/yarn.lock b/yarn.lock index 24dac20305..0182d2e738 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1676,13 +1676,6 @@ resolved "https://registry.yarnpkg.com/@matrix-org/olm/-/olm-3.2.15.tgz#55f3c1b70a21bbee3f9195cecd6846b1083451ec" integrity sha512-S7lOrndAK9/8qOtaTq/WhttJC/o4GAzdfK0MUPpo8ApzsJEC0QjtwrkC3KBXdFP1cD1MXi/mlKR7aaoVMKgs6Q== -"@matrix-org/react-sdk-module-api@^2.1.0": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@matrix-org/react-sdk-module-api/-/react-sdk-module-api-2.1.1.tgz#54e8617c15185010d608c0325ecaec8d1574d12b" - integrity sha512-dYPY3aXtNwPrg2aEmFeWddMdohus/Ha17XES2QH+WMCawt+hH+uq28jH1EmW1RUOOzxVcdY36lRGOwqRtAJbhA== - dependencies: - "@babel/runtime" "^7.17.9" - "@matrix-org/react-sdk-module-api@^2.2.0": version "2.2.0" resolved "https://registry.yarnpkg.com/@matrix-org/react-sdk-module-api/-/react-sdk-module-api-2.2.0.tgz#cb284601a82448dc23fac31949c466eb34ec64b4" @@ -1690,6 +1683,13 @@ dependencies: "@babel/runtime" "^7.17.9" +"@matrix-org/react-sdk-module-api@^2.2.1": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@matrix-org/react-sdk-module-api/-/react-sdk-module-api-2.2.1.tgz#308bcb42a780200d3e7994235376784b51819379" + integrity sha512-+MXTMEapzGmhArUt86GYDQirOvm19+wvQLDApmHpUQvSZvYm7wOo1EwR9FFvSKve53fu+v6gI1grnj7YLzGQ9Q== + dependencies: + "@babel/runtime" "^7.17.9" + "@matrix-org/spec@^1.7.0": version "1.8.0" resolved "https://registry.yarnpkg.com/@matrix-org/spec/-/spec-1.8.0.tgz#5d46f0ddcdff01934a63aa1f070f0ce960326acc"