name: Build Debian package on: release: types: [published] concurrency: ${{ github.workflow }} jobs: build: name: Build package environment: packages.element.io runs-on: ubuntu-latest env: R2_INCOMING_BUCKET: ${{ vars.R2_INCOMING_BUCKET }} R2_URL: ${{ vars.CF_R2_S3_API }} VERSION: ${{ github.ref_name }} steps: - uses: actions/checkout@v4 - name: Download package run: | wget "https://github.com/vector-im/element-web/releases/download/$VERSION/element-$VERSION.tar.gz" wget "https://github.com/vector-im/element-web/releases/download/$VERSION/element-$VERSION.tar.gz.asc" - name: Check GPG signature run: | wget "https://packages.element.io/element-release-key.gpg" gpg --import element-release-key.gpg gpg --fingerprint "$FINGERPRINT" gpg --verify "element-$VERSION.tar.gz.asc" "element-$VERSION.tar.gz" env: FINGERPRINT: ${{ vars.GPG_FINGERPRINT }} - 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/ 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 - 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 # For now just upload the artifact to github - uses: actions/upload-artifact@v3 with: name: debs path: "*.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