name: Build & publish full packages for releases on: release: types: [published] env: VERSION: ${{ github.event.release.tag_name }} jobs: build_element_call: uses: ./.github/workflows/build-element-call.yaml with: package: full vite_app_version: ${{ github.event.release.tag_name }} # Using ${{ env.VERSION }} here doesn't work secrets: SENTRY_ORG: ${{ secrets.SENTRY_ORG }} SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }} SENTRY_URL: ${{ secrets.SENTRY_URL }} SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} publish_tarball: needs: build_element_call if: always() name: Publish tarball runs-on: ubuntu-latest permissions: contents: write # required to upload release asset packages: write steps: - name: Determine filename run: echo "FILENAME_PREFIX=element-call-${VERSION:1}" >> "$GITHUB_ENV" - name: 📥 Download built element-call artifact uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4 with: github-token: ${{ secrets.GITHUB_TOKEN }} run-id: ${{ github.event.workflow_run.id || github.run_id }} name: build-output-full path: ${{ env.FILENAME_PREFIX }} - name: Create Tarball run: tar --numeric-owner --transform "s/dist/${{ env.FILENAME_PREFIX }}/" -cvzf ${{ env.FILENAME_PREFIX }}.tar.gz ${{ env.FILENAME_PREFIX }} - name: Create Checksum run: find ${{ env.FILENAME_PREFIX }} -type f -print0 | sort -z | xargs -0 sha256sum | tee ${{ env.FILENAME_PREFIX }}.sha256 - name: Upload uses: softprops/action-gh-release@aec2ec56f94eb8180ceec724245f64ef008b89f5 # v2 with: files: | ${{ env.FILENAME_PREFIX }}.tar.gz ${{ env.FILENAME_PREFIX }}.sha256 publish_docker: needs: build_element_call if: always() name: Publish docker permissions: contents: write packages: write uses: ./.github/workflows/build-and-publish-docker.yaml with: artifact_run_id: ${{ github.event.workflow_run.id || github.run_id }} docker_tags: | type=sha,format=short,event=branch type=raw,value=${{ github.event.release.tag_name }} # Like before, using ${{ env.VERSION }} above doesn't work add_docker_release_note: needs: publish_docker name: Add docker release note runs-on: ubuntu-latest steps: - name: Add release note uses: softprops/action-gh-release@aec2ec56f94eb8180ceec724245f64ef008b89f5 # v2 with: append_body: true body: | ## Docker full package Element Call is available as a Docker image from the [GitHub Container Registry](https://github.com/element-hq/element-call/pkgs/container/element-call). The image provides a full build of Element Call that can be used both in standalone and as a widget (on a remote URL). ``` docker pull ghcr.io/element-hq/element-call:${{ env.VERSION }} ```