From 9e767bafb321b42cd8ebaac7afdf2eaf7cc25692 Mon Sep 17 00:00:00 2001 From: rektdeckard Date: Fri, 22 May 2026 15:03:58 -0600 Subject: [PATCH 1/4] chore(deps): pin sdk dependencies to patch --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 7bb901c..3f352db 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -9,7 +9,7 @@ description = "Simple voice AI assistant built with LiveKit Agents for Python" requires-python = ">=3.10, <3.15" dependencies = [ - "livekit-agents[silero,turn-detector]~=1.5", + "livekit-agents[silero,turn-detector]==1.5.12", "livekit-plugins-ai-coustics~=0.2", "python-dotenv", ] From c612207fcd53576a077a6e7c66809bb69c1c6fa0 Mon Sep 17 00:00:00 2001 From: rektdeckard Date: Fri, 22 May 2026 15:09:35 -0600 Subject: [PATCH 2/4] chore(ci): use python3.14 in CI --- .github/workflows/template-check.yml | 8 ++++---- .github/workflows/tests.yml | 12 ++++++------ 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/workflows/template-check.yml b/.github/workflows/template-check.yml index 23157c7..0279f9c 100644 --- a/.github/workflows/template-check.yml +++ b/.github/workflows/template-check.yml @@ -1,6 +1,6 @@ # As this is a starter template project, we don't want to check in the uv.lock and livekit.toml files in its template form # However, once you have cloned this repo for your own use, LiveKit recommends you check them in and delete this github workflow entirely - + name: Template Check on: @@ -12,10 +12,10 @@ on: jobs: check-template-files: runs-on: ubuntu-latest - + steps: - uses: actions/checkout@v4 - + - name: Check template files not tracked in git run: | if git ls-files | grep -q "^uv\.lock$"; then @@ -28,4 +28,4 @@ jobs: echo "Disable this test and commit the file once you have cloned this repo for your own use" exit 1 fi - echo "✓ uv.lock and livekit.toml are correctly not tracked in git" \ No newline at end of file + echo "✓ uv.lock and livekit.toml are correctly not tracked in git" diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 5c846e6..7eae41a 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -9,23 +9,23 @@ on: jobs: test: runs-on: ubuntu-latest - + steps: - uses: actions/checkout@v4 - + - name: Install uv uses: astral-sh/setup-uv@v1 with: version: "latest" - + - name: Set up Python uses: actions/setup-python@v4 with: - python-version: "3.12" - + python-version: "3.14" + - name: Install dependencies run: UV_GIT_LFS=1 uv sync --dev - + - name: Run tests env: LIVEKIT_URL: ${{ secrets.LIVEKIT_URL }} From d7a01a5a39d64ff9892d72bfd5ff0f7811be1065 Mon Sep 17 00:00:00 2001 From: rektdeckard Date: Fri, 22 May 2026 15:17:27 -0600 Subject: [PATCH 3/4] feat(ci): auto-tag when sdk version change merged to main --- .github/workflows/tag-version.yml | 77 +++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 .github/workflows/tag-version.yml diff --git a/.github/workflows/tag-version.yml b/.github/workflows/tag-version.yml new file mode 100644 index 0000000..9c716e0 --- /dev/null +++ b/.github/workflows/tag-version.yml @@ -0,0 +1,77 @@ +name: Tag livekit-agents version + +on: + push: + branches: [main] + paths: + - 'pyproject.toml' + +permissions: + contents: write + +jobs: + tag-version: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 2 + fetch-tags: true + + - name: Detect livekit-agents version change + id: version + run: | + set -euo pipefail + + extract_version() { + local ref="$1" + git show "$ref:pyproject.toml" 2>/dev/null \ + | grep -oE '"livekit-agents(\[[^]]*\])?==[^"]+"' \ + | head -n1 \ + | sed -E 's/.*==([^"]+)"/\1/' \ + || true + } + + current=$(extract_version HEAD) + previous=$(extract_version HEAD^ || true) + + echo "current=$current" + echo "previous=$previous" + + if [ -z "$current" ]; then + echo "No livekit-agents==X.Y.Z pin found in pyproject.toml; skipping." + echo "should_tag=false" >> "$GITHUB_OUTPUT" + exit 0 + fi + + if [ "$current" = "$previous" ]; then + echo "livekit-agents version unchanged ($current); skipping." + echo "should_tag=false" >> "$GITHUB_OUTPUT" + exit 0 + fi + + echo "livekit-agents bumped: ${previous:-} -> $current" + echo "should_tag=true" >> "$GITHUB_OUTPUT" + echo "version=$current" >> "$GITHUB_OUTPUT" + + - name: Create and push tag + if: steps.version.outputs.should_tag == 'true' + run: | + set -euo pipefail + tag="v${{ steps.version.outputs.version }}" + + if git rev-parse --verify "refs/tags/$tag" >/dev/null 2>&1; then + existing=$(git rev-list -n1 "$tag") + if [ "$existing" = "$GITHUB_SHA" ]; then + echo "Tag $tag already points at $GITHUB_SHA; nothing to do." + exit 0 + fi + echo "Error: tag $tag already exists on a different commit ($existing)." + exit 1 + fi + + git config user.name "github-actions[bot]" + git config user.email "41898282+github-actions[bot]@users.noreply.github.com" + git tag -a "$tag" -m "livekit-agents $tag" + git push origin "$tag" From e915c480d543b59ac51d65056df5bd9b9db81748 Mon Sep 17 00:00:00 2001 From: rektdeckard Date: Fri, 22 May 2026 15:24:42 -0600 Subject: [PATCH 4/4] chore(ci): use actions/checkout@v6 --- .github/workflows/ruff.yml | 16 ++++++++-------- .github/workflows/tag-version.yml | 2 +- .github/workflows/template-check.yml | 2 +- .github/workflows/tests.yml | 2 +- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/.github/workflows/ruff.yml b/.github/workflows/ruff.yml index 396bd25..059625d 100644 --- a/.github/workflows/ruff.yml +++ b/.github/workflows/ruff.yml @@ -9,25 +9,25 @@ on: jobs: ruff-check: runs-on: ubuntu-latest - + steps: - - uses: actions/checkout@v4 - + - uses: actions/checkout@v6 + - name: Install uv uses: astral-sh/setup-uv@v1 with: version: "latest" - + - name: Set up Python uses: actions/setup-python@v4 with: python-version: "3.12" - + - name: Install dependencies run: UV_GIT_LFS=1 uv sync --dev - + - name: Run ruff linter run: uv run ruff check --output-format=github . - + - name: Run ruff formatter - run: uv run ruff format --check --diff . \ No newline at end of file + run: uv run ruff format --check --diff . diff --git a/.github/workflows/tag-version.yml b/.github/workflows/tag-version.yml index 9c716e0..415e032 100644 --- a/.github/workflows/tag-version.yml +++ b/.github/workflows/tag-version.yml @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 with: fetch-depth: 2 fetch-tags: true diff --git a/.github/workflows/template-check.yml b/.github/workflows/template-check.yml index 0279f9c..c01f12b 100644 --- a/.github/workflows/template-check.yml +++ b/.github/workflows/template-check.yml @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - name: Check template files not tracked in git run: | diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 7eae41a..25bff93 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -11,7 +11,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - name: Install uv uses: astral-sh/setup-uv@v1