chore: pin GHA by commit (#5415)
This commit is contained in:
@@ -13,7 +13,7 @@ jobs:
|
||||
if: github.event.pull_request.draft == false && github.event.pull_request.head.repo.fork == false
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/github-script@v7
|
||||
- uses: actions/github-script@f28e40c7f34bde8b3046d885e986cb6290c5673b # v7
|
||||
with:
|
||||
github-token: ${{ secrets.REVIEW_TOKEN }}
|
||||
script: |
|
||||
|
||||
+15
-15
@@ -29,18 +29,18 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
if: inputs.package != 'livekit-blingfire' && inputs.package != 'livekit-blockguard' && inputs.package != 'livekit-durable'
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
|
||||
with:
|
||||
submodules: true
|
||||
lfs: true
|
||||
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v5
|
||||
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5
|
||||
with:
|
||||
python-version: "3.10"
|
||||
|
||||
- name: Install uv
|
||||
uses: astral-sh/setup-uv@v5
|
||||
uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 # v5
|
||||
with:
|
||||
enable-cache: true
|
||||
cache-dependency-glob: "uv.lock"
|
||||
@@ -49,7 +49,7 @@ jobs:
|
||||
run: uv build --package ${{inputs.package}}
|
||||
|
||||
- name: Upload distribution package
|
||||
uses: actions/upload-artifact@v4
|
||||
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
|
||||
with:
|
||||
name: ${{ inputs.artifact_name }}
|
||||
path: dist/
|
||||
@@ -73,10 +73,10 @@ jobs:
|
||||
run:
|
||||
working-directory: livekit-plugins/livekit-durable
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
|
||||
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v5
|
||||
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5
|
||||
with:
|
||||
python-version: "3.11"
|
||||
|
||||
@@ -92,7 +92,7 @@ jobs:
|
||||
CIBW_ARCHS: ${{ matrix.archs }}
|
||||
|
||||
- name: Upload distribution package
|
||||
uses: actions/upload-artifact@v4
|
||||
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
|
||||
with:
|
||||
name: ${{ inputs.artifact_name }}-${{ matrix.os }}
|
||||
path: livekit-plugins/livekit-durable/dist/
|
||||
@@ -116,10 +116,10 @@ jobs:
|
||||
run:
|
||||
working-directory: livekit-plugins/livekit-blockguard
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
|
||||
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v5
|
||||
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5
|
||||
with:
|
||||
python-version: "3.11"
|
||||
|
||||
@@ -135,7 +135,7 @@ jobs:
|
||||
CIBW_ARCHS: ${{ matrix.archs }}
|
||||
|
||||
- name: Upload distribution package
|
||||
uses: actions/upload-artifact@v4
|
||||
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
|
||||
with:
|
||||
name: ${{ inputs.artifact_name }}-${{ matrix.os }}
|
||||
path: livekit-plugins/livekit-blockguard/dist/
|
||||
@@ -160,10 +160,10 @@ jobs:
|
||||
run:
|
||||
working-directory: livekit-plugins/livekit-blingfire
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
|
||||
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v5
|
||||
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5
|
||||
with:
|
||||
python-version: "3.11"
|
||||
|
||||
@@ -179,7 +179,7 @@ jobs:
|
||||
CIBW_ARCHS: ${{ matrix.archs }}
|
||||
|
||||
- name: Upload distribution package
|
||||
uses: actions/upload-artifact@v4
|
||||
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
|
||||
with:
|
||||
name: ${{ inputs.artifact_name }}-${{ matrix.os }}
|
||||
path: livekit-plugins/livekit-blingfire/dist/
|
||||
@@ -190,7 +190,7 @@ jobs:
|
||||
needs: [build_blingfire, build_blockguard, build_durable]
|
||||
steps:
|
||||
- name: Download all platform wheels
|
||||
uses: actions/download-artifact@v4
|
||||
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4
|
||||
with:
|
||||
pattern: ${{ inputs.artifact_name }}-*
|
||||
path: all_dists
|
||||
@@ -199,7 +199,7 @@ jobs:
|
||||
- run: ls -R all_dists
|
||||
|
||||
- name: Upload unified wheel artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
|
||||
with:
|
||||
name: ${{ inputs.artifact_name }}
|
||||
path: all_dists/
|
||||
|
||||
@@ -14,14 +14,14 @@ jobs:
|
||||
ruff:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
|
||||
- name: Install uv
|
||||
uses: astral-sh/setup-uv@v5
|
||||
uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 # v5
|
||||
with:
|
||||
enable-cache: true
|
||||
cache-dependency-glob: "uv.lock"
|
||||
|
||||
- uses: actions/setup-python@v5
|
||||
- uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5
|
||||
with:
|
||||
python-version: "3.10"
|
||||
|
||||
@@ -51,14 +51,14 @@ jobs:
|
||||
python-version: ["3.10", "3.13"]
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
|
||||
- name: Install uv
|
||||
uses: astral-sh/setup-uv@v5
|
||||
uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 # v5
|
||||
with:
|
||||
enable-cache: true
|
||||
cache-dependency-glob: "uv.lock"
|
||||
|
||||
- uses: actions/setup-python@v5
|
||||
- uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5
|
||||
with:
|
||||
python-version: ${{ matrix.python-version }}
|
||||
|
||||
|
||||
@@ -12,9 +12,9 @@ jobs:
|
||||
stats:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
|
||||
|
||||
- uses: actions/setup-python@v5
|
||||
- uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5
|
||||
with:
|
||||
python-version: "3.12"
|
||||
|
||||
|
||||
@@ -25,15 +25,15 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
name: ${{ matrix.example }}
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
|
||||
|
||||
- name: Install uv
|
||||
uses: astral-sh/setup-uv@v5
|
||||
uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 # v5
|
||||
with:
|
||||
enable-cache: true
|
||||
cache-dependency-glob: "uv.lock"
|
||||
|
||||
- uses: actions/setup-python@v5
|
||||
- uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5
|
||||
with:
|
||||
python-version: "3.12"
|
||||
|
||||
|
||||
@@ -11,18 +11,18 @@ jobs:
|
||||
docs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
|
||||
with:
|
||||
submodules: true
|
||||
lfs: true
|
||||
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v4
|
||||
uses: actions/setup-python@7f4fc3e22c37d6ff65e88745f38bd3157c663f7c # v4
|
||||
with:
|
||||
python-version: "3.12"
|
||||
|
||||
- name: Install uv
|
||||
uses: astral-sh/setup-uv@v5
|
||||
uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 # v5
|
||||
with:
|
||||
enable-cache: true
|
||||
cache-dependency-glob: "uv.lock"
|
||||
|
||||
@@ -41,7 +41,7 @@ jobs:
|
||||
&& !startsWith(inputs.version, 'republish')
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
|
||||
with:
|
||||
ref: ${{ inputs.branch }}
|
||||
|
||||
@@ -59,7 +59,7 @@ jobs:
|
||||
fi
|
||||
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v5
|
||||
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5
|
||||
with:
|
||||
python-version: "3.10"
|
||||
|
||||
@@ -145,7 +145,7 @@ jobs:
|
||||
outputs:
|
||||
packages: ${{ steps.list.outputs.packages }}
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
|
||||
with:
|
||||
ref: ${{ inputs.branch || github.event.pull_request.merge_commit_sha }}
|
||||
|
||||
@@ -185,7 +185,7 @@ jobs:
|
||||
&& github.event.pull_request.merged == true
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
|
||||
with:
|
||||
ref: ${{ github.event.pull_request.merge_commit_sha }}
|
||||
|
||||
@@ -228,7 +228,7 @@ jobs:
|
||||
id-token: write
|
||||
steps:
|
||||
- name: Download build artifact
|
||||
uses: actions/download-artifact@v4
|
||||
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4
|
||||
with:
|
||||
name: dist-${{ matrix.package }}
|
||||
path: dist/
|
||||
@@ -237,4 +237,4 @@ jobs:
|
||||
run: ls -la dist/
|
||||
|
||||
- name: Publish to PyPI
|
||||
uses: pypa/gh-action-pypi-publish@release/v1
|
||||
uses: pypa/gh-action-pypi-publish@cef221092ed1bacb1cc03d23a2d87d1d172e277b # release/v1
|
||||
|
||||
@@ -25,18 +25,18 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
|
||||
with:
|
||||
ref: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.branch != '' && github.event.inputs.branch || github.ref }}
|
||||
lfs: true
|
||||
|
||||
- name: Install uv
|
||||
uses: astral-sh/setup-uv@v5
|
||||
uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 # v5
|
||||
with:
|
||||
version: "latest"
|
||||
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v5
|
||||
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5
|
||||
with:
|
||||
python-version: "3.12"
|
||||
|
||||
|
||||
@@ -31,7 +31,7 @@ jobs:
|
||||
steps:
|
||||
- name: Get PR details and check authorization
|
||||
id: pr-info
|
||||
uses: actions/github-script@v7
|
||||
uses: actions/github-script@f28e40c7f34bde8b3046d885e986cb6290c5673b # v7
|
||||
with:
|
||||
script: |
|
||||
const comment = context.payload.comment.body.trim();
|
||||
@@ -114,7 +114,7 @@ jobs:
|
||||
|
||||
- name: Trigger workflow
|
||||
if: steps.pr-info.outputs.is_command == 'true'
|
||||
uses: actions/github-script@v7
|
||||
uses: actions/github-script@f28e40c7f34bde8b3046d885e986cb6290c5673b # v7
|
||||
with:
|
||||
script: |
|
||||
await github.rest.actions.createWorkflowDispatch({
|
||||
@@ -148,19 +148,19 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
|
||||
with:
|
||||
ref: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.branch != '' && github.event.inputs.branch || github.ref }}
|
||||
fetch-depth: 0
|
||||
lfs: true
|
||||
|
||||
- name: Install uv
|
||||
uses: astral-sh/setup-uv@v5
|
||||
uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 # v5
|
||||
with:
|
||||
version: "latest"
|
||||
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v5
|
||||
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5
|
||||
with:
|
||||
python-version: "3.12"
|
||||
|
||||
@@ -214,7 +214,7 @@ jobs:
|
||||
|
||||
- name: Post results to PR
|
||||
if: always() && (github.event_name == 'pull_request' || github.event.inputs.pr_number != '')
|
||||
uses: actions/github-script@v7
|
||||
uses: actions/github-script@f28e40c7f34bde8b3046d885e986cb6290c5673b # v7
|
||||
with:
|
||||
script: |
|
||||
const fs = require('fs');
|
||||
|
||||
+12
-12
@@ -25,9 +25,9 @@ jobs:
|
||||
os: [ubuntu-latest, macos-latest, windows-latest]
|
||||
runs-on: ${{ matrix.os }}
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
|
||||
|
||||
- uses: actions/setup-python@v5
|
||||
- uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5
|
||||
with:
|
||||
python-version: "3.12"
|
||||
|
||||
@@ -44,14 +44,14 @@ jobs:
|
||||
unit-tests:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
|
||||
- name: Install uv
|
||||
uses: astral-sh/setup-uv@v5
|
||||
uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 # v5
|
||||
with:
|
||||
enable-cache: true
|
||||
cache-dependency-glob: "uv.lock"
|
||||
|
||||
- uses: actions/setup-python@v5
|
||||
- uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5
|
||||
with:
|
||||
python-version: "3.12"
|
||||
|
||||
@@ -71,14 +71,14 @@ jobs:
|
||||
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.fork == false
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
|
||||
- name: Install uv
|
||||
uses: astral-sh/setup-uv@v5
|
||||
uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 # v5
|
||||
with:
|
||||
enable-cache: true
|
||||
cache-dependency-glob: "uv.lock"
|
||||
|
||||
- uses: actions/setup-python@v5
|
||||
- uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5
|
||||
with:
|
||||
python-version: "3.12"
|
||||
|
||||
@@ -111,7 +111,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
name: livekit-plugins-${{ matrix.plugin }}
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
|
||||
|
||||
- name: Setup Google credentials
|
||||
if: matrix.plugin == 'google'
|
||||
@@ -159,7 +159,7 @@ jobs:
|
||||
|
||||
- name: Upload LiveKit dump
|
||||
if: always()
|
||||
uses: actions/upload-artifact@v4
|
||||
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
|
||||
with:
|
||||
name: lk-dump-${{ matrix.plugin }}
|
||||
path: lk_dump/**
|
||||
@@ -173,7 +173,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: download all dump shards
|
||||
uses: actions/download-artifact@v4
|
||||
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4
|
||||
with:
|
||||
pattern: lk-dump-*
|
||||
path: all_lk_dump
|
||||
@@ -192,7 +192,7 @@ jobs:
|
||||
|
||||
- name: upload merged dump
|
||||
if: steps.tar.outputs.created == 'true'
|
||||
uses: actions/upload-artifact@v4
|
||||
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
|
||||
with:
|
||||
name: lk-dump-all
|
||||
path: lk-dump-all.tar.gz
|
||||
|
||||
+4
-47
@@ -54,58 +54,15 @@ Look at the `examples/` directory to get a sense of all the different features a
|
||||
|
||||
The CI validates this but to do checks locally see the following example commands:
|
||||
|
||||
### Typechecking
|
||||
### Typechecking & linting
|
||||
|
||||
```bash
|
||||
uv pip install pip && uv run mypy --install-types --non-interactive \
|
||||
-p livekit.agents \
|
||||
-p livekit.plugins.openai \
|
||||
-p livekit.plugins.anthropic \
|
||||
-p livekit.plugins.mistralai \
|
||||
-p livekit.plugins.assemblyai \
|
||||
-p livekit.plugins.aws \
|
||||
-p livekit.plugins.azure \
|
||||
-p livekit.plugins.bey \
|
||||
-p livekit.plugins.bithuman \
|
||||
-p livekit.plugins.cartesia \
|
||||
-p livekit.plugins.clova \
|
||||
-p livekit.plugins.deepgram \
|
||||
-p livekit.plugins.elevenlabs \
|
||||
-p livekit.plugins.fal \
|
||||
-p livekit.plugins.gladia \
|
||||
-p livekit.plugins.google \
|
||||
-p livekit.plugins.groq \
|
||||
-p livekit.plugins.hume \
|
||||
-p livekit.plugins.minimal \
|
||||
-p livekit.plugins.neuphonic \
|
||||
-p livekit.plugins.nltk \
|
||||
-p livekit.plugins.resemble \
|
||||
-p livekit.plugins.rime \
|
||||
-p livekit.plugins.rtzr \
|
||||
-p livekit.plugins.silero \
|
||||
-p livekit.plugins.speechify \
|
||||
-p livekit.plugins.speechmatics \
|
||||
-p livekit.plugins.tavus \
|
||||
-p livekit.plugins.turn_detector \
|
||||
-p livekit.plugins.hedra \
|
||||
-p livekit.plugins.langchain \
|
||||
-p livekit.plugins.baseten \
|
||||
-p livekit.plugins.sarvam \
|
||||
-p livekit.plugins.inworld \
|
||||
-p livekit.plugins.keyframe \
|
||||
-p livekit.plugins.simli \
|
||||
-p livekit.plugins.anam \
|
||||
-p livekit.plugins.phonic
|
||||
```
|
||||
|
||||
### Linting
|
||||
|
||||
```bash
|
||||
uv run ruff check --output-format=github .
|
||||
make check
|
||||
```
|
||||
|
||||
### Formatting
|
||||
|
||||
```bash
|
||||
uv run ruff format .
|
||||
make fix
|
||||
```
|
||||
|
||||
|
||||
@@ -16,7 +16,6 @@ from livekit import rtc
|
||||
from .. import stt, utils
|
||||
from .._exceptions import (
|
||||
APIConnectionError,
|
||||
APIError,
|
||||
APIStatusError,
|
||||
APITimeoutError,
|
||||
create_api_error_from_http,
|
||||
@@ -601,7 +600,11 @@ class SpeechStream(stt.SpeechStream):
|
||||
elif msg_type == "session.closed":
|
||||
pass
|
||||
elif msg_type == "error":
|
||||
raise APIError(f"LiveKit Inference STT returned error: {msg.data}")
|
||||
raise APIStatusError(
|
||||
f"LiveKit Inference STT returned error: {data.get('message')}",
|
||||
status_code=data.get("code", -1),
|
||||
body=data,
|
||||
)
|
||||
else:
|
||||
logger.warning(
|
||||
"received unexpected message from LiveKit Inference STT: %s", data
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
||||
"extends": ["config:base", "helpers:pinGitHubActionDigests"],
|
||||
"minimumReleaseAge": "2 weeks",
|
||||
"commitBody": "Generated by renovateBot",
|
||||
"packageRules": [
|
||||
{
|
||||
"matchManagers": ["github-actions"],
|
||||
"groupName": "github workflows"
|
||||
},
|
||||
{
|
||||
"matchManagers": ["pip_requirements", "pip_setup", "pep621"],
|
||||
"groupName": "python deps"
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user