Skip to content

Commit

Permalink
Ship element-web as a debian package (#26533)
Browse files Browse the repository at this point in the history
(cherry picked from commit edeaf80)
  • Loading branch information
t3chguy authored and github-actions[bot] committed Nov 13, 2023
1 parent 2c1304c commit f3da68b
Show file tree
Hide file tree
Showing 3 changed files with 44 additions and 31 deletions.
60 changes: 35 additions & 25 deletions .github/workflows/build_debian.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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 <support@element.io> $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 }}
2 changes: 2 additions & 0 deletions debian/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
/files
/tmp
13 changes: 7 additions & 6 deletions debian/control
Original file line number Diff line number Diff line change
@@ -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.

0 comments on commit f3da68b

Please sign in to comment.