It thought that we were just trying to follow the latest commit on these actions, when in reality we want to follow the latest tag and pin its commit hash.
73 lines
2.4 KiB
YAML
73 lines
2.4 KiB
YAML
name: Build & publish images to the package registry for tags
|
|
|
|
on:
|
|
release:
|
|
types: [published]
|
|
workflow_run:
|
|
workflows: ["Build"]
|
|
branches: [livekit]
|
|
types:
|
|
- completed
|
|
|
|
env:
|
|
REGISTRY: ghcr.io
|
|
IMAGE_NAME: ${{ github.repository }}
|
|
|
|
jobs:
|
|
build_element_call:
|
|
if: ${{ github.event_name == 'release' }}
|
|
uses: ./.github/workflows/element-call.yaml
|
|
with:
|
|
vite_app_version: ${{ github.event.release.tag_name || github.sha }}
|
|
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
|
|
outputs:
|
|
unix_time: ${{steps.current-time.outputs.unix_time}}
|
|
permissions:
|
|
contents: write # required to upload release asset
|
|
packages: write
|
|
steps:
|
|
- name: Get current time
|
|
id: current-time
|
|
run: echo "unix_time=$(date +'%s')" >> $GITHUB_OUTPUT
|
|
- name: 📥 Download artifact
|
|
uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4
|
|
with:
|
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
run-id: ${{ github.event.workflow_run.id || github.run_id }}
|
|
name: build-output
|
|
path: dist
|
|
- name: Create Tarball
|
|
env:
|
|
TARBALL_VERSION: ${{ github.event.release.tag_name || github.sha }}
|
|
run: |
|
|
tar --numeric-owner --transform "s/dist/element-call-${TARBALL_VERSION}/" -cvzf element-call-${TARBALL_VERSION}.tar.gz dist
|
|
- name: Upload
|
|
uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4.3.3
|
|
env:
|
|
GITHUB_TOKEN: ${{ github.token }}
|
|
with:
|
|
path: "./element-call-*.tar.gz"
|
|
publish_docker:
|
|
needs: publish_tarball
|
|
if: always()
|
|
permissions:
|
|
contents: write
|
|
packages: write
|
|
uses: ./.github/workflows/docker.yaml
|
|
with:
|
|
artifact_run_id: ${{ github.event.workflow_run.id || github.run_id }}
|
|
docker_tags: |
|
|
type=sha,format=short,event=branch
|
|
type=semver,pattern=v{{version}}
|
|
type=raw,value=latest-ci,enable={{is_default_branch}}
|
|
type=raw,value=latest-ci_${{needs.publish_tarball.outputs.unix_time}},enable={{is_default_branch}}
|