Skip to content

Stop the pipeline when playback reaches end of stream #1065

Stop the pipeline when playback reaches end of stream

Stop the pipeline when playback reaches end of stream #1065

Workflow file for this run

name: CI
on:
pull_request:
push:
branches:
- main
workflow_dispatch:
# No permissions by default; each job requests what it needs.
permissions: {}
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
jobs:
build:
name: Build
runs-on: ubuntu-24.04
permissions:
contents: read # Check out the repository.
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- uses: hynek/build-and-inspect-python-package@2abe76da66d0a6a4a227101f9348ee855797cfa5 # v3.0.1
main:
strategy:
fail-fast: false
matrix:
include:
- name: "pytest (3.13-lowest)"
python: "3.13"
tox: "3.13-lowest"
- name: "pytest (3.13)"
python: "3.13"
tox: "3.13"
- name: "pytest (3.14)"
python: "3.14"
tox: "3.14"
coverage: true
- name: "pytest (3.15)"
python: "3.15"
tox: "3.15"
- name: "pyright"
python: "3.14"
tox: "pyright"
- name: "rumdl"
python: "3.14"
tox: "rumdl"
- name: "ruff check"
python: "3.14"
tox: "ruff-check"
- name: "ruff format"
python: "3.14"
tox: "ruff-format"
- name: "ty"
python: "3.14"
tox: "ty"
- name: "Docs"
python: "3.13"
tox: "docs"
name: ${{ matrix.name }}
runs-on: ubuntu-24.04
# Deliberately unpinned: this is our own image, and we always want the
# latest version of it.
container: ghcr.io/mopidy/ci:latest # zizmor: ignore[unpinned-images]
permissions:
contents: read # Check out the repository.
env:
PYTHON: ${{ matrix.python }}
TOX_ENV: ${{ matrix.tox }}
UV_PYTHON_PREFERENCE: only-managed
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- uses: astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d # v10.0.1
with:
enable-cache: true
- run: uv python install "$PYTHON"
- run: uvx --python "$PYTHON" --with tox-uv tox -e "$TOX_ENV"
if: ${{ ! matrix.coverage }}
- run: uvx --python "$PYTHON" --with tox-uv tox -e "$TOX_ENV" -- --cov-report=xml
if: ${{ matrix.coverage }}
- uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f # v7.0.0
if: ${{ matrix.coverage }}
with:
token: ${{ secrets.CODECOV_TOKEN }}