Skip to content

docs: fix incorrect doc-string #1367

docs: fix incorrect doc-string

docs: fix incorrect doc-string #1367

Workflow file for this run

# SPDX-FileCopyrightText: mpvQC developers
#
# SPDX-License-Identifier: MIT
name: Pipeline
on:
push:
branches:
- '**'
tags:
- '*'
defaults:
run:
shell: bash
env:
PYTHON_VERSION: "3.13"
jobs:
verify_formatting:
runs-on: ubuntu-latest
name: Lint & Format
steps:
- name: Checkout Repository
uses: actions/checkout@v6
- name: Install Python
uses: actions/setup-python@v6
with:
python-version: ${{ env.PYTHON_VERSION }}
- name: Install just
uses: taiki-e/install-action@just
- name: Install uv
uses: astral-sh/setup-uv@v7
with:
enable-cache: false
- name: Update Packages
run: sudo apt update -y
- name: Initialize Project
run: just init
- name: Generate Resources
run: just prepare-tests
- name: Run Linter and Formatter
run: just format
- name: Lint Qml
run: just lint-qml
test_python_linux:
runs-on: ubuntu-latest
name: Test Python (Linux)
steps:
- name: Checkout Repository
uses: actions/checkout@v6
- name: Install Python
uses: actions/setup-python@v6
with:
python-version: ${{ env.PYTHON_VERSION }}
- name: Install just
uses: taiki-e/install-action@just
- name: Install uv
uses: astral-sh/setup-uv@v7
with:
enable-cache: false
- name: Install libmpv
uses: ./.github/actions/install-libmpv
- name: Initialize Project
run: just init
- name: Prepare tests
run: just prepare-tests
- name: Execute Python Tests
run: just test-python
test_python_windows:
runs-on: windows-latest
name: Test Python (Windows)
steps:
- name: Checkout Repository
uses: actions/checkout@v6
- name: Install Python
uses: actions/setup-python@v6
with:
python-version: ${{ env.PYTHON_VERSION }}
- name: Install just
uses: taiki-e/install-action@just
- name: Install uv
uses: astral-sh/setup-uv@v7
with:
enable-cache: false
- name: Install libmpv
uses: ./.github/actions/install-libmpv
- name: Initialize Project
run: just init
- name: Prepare tests
run: just prepare-tests
- name: Execute Python Tests
run: just test-python
test_qml:
runs-on: ubuntu-latest
name: Test QML
steps:
- name: Checkout Repository
uses: actions/checkout@v6
- name: Install Python
uses: actions/setup-python@v6
with:
python-version: ${{ env.PYTHON_VERSION }}
- name: Install just
uses: taiki-e/install-action@just
- name: Install uv
uses: astral-sh/setup-uv@v7
with:
enable-cache: false
- name: Install libmpv
uses: ./.github/actions/install-libmpv
- name: Initialize Project
run: just init
- name: Prepare tests
run: just prepare-tests
- name: Execute Qml Tests
run: just test-qml
env:
MPVQC_TEST_DELAY_MS: 1000
build_windows:
runs-on: windows-latest
name: Build Windows
outputs:
artifact_app_name: ${{ steps.artifact_name.outputs.artifact_app_name }}
steps:
- name: Checkout Repository
uses: actions/checkout@v6
with:
fetch-depth: 0
- name: Install Python
uses: actions/setup-python@v6
with:
python-version: ${{ env.PYTHON_VERSION }}
- name: Install just
uses: taiki-e/install-action@just
- name: Install uv
uses: astral-sh/setup-uv@v7
with:
enable-cache: false
- name: Initialize Project
run: just init '--no-group dev'
- name: Build
run: just build-release
- name: Set Artifact Name
id: artifact_name
run: |
ARTIFACT_NAME="mpvQC-$(just --evaluate GIT_TAG)-$(just --evaluate GIT_COMMIT)"
echo -e "\033[0;35m$ARTIFACT_NAME\033[0m"
echo "artifact_app_name=$ARTIFACT_NAME" >> $GITHUB_OUTPUT
- name: Upload Artifact
uses: actions/upload-artifact@v7
with:
path: build/release
name: release-build-windows
build_linux:
runs-on: ubuntu-latest
name: Build Linux
steps:
- name: Checkout Repository
uses: actions/checkout@v6
with:
fetch-depth: 0
- name: Install Python
uses: actions/setup-python@v6
with:
python-version: ${{ env.PYTHON_VERSION }}
- name: Install just
uses: taiki-e/install-action@just
- name: Install uv
uses: astral-sh/setup-uv@v7
with:
enable-cache: false
- name: Initialize Project
run: just init '--no-group dev'
- name: Build
run: just build-release
build_windows_bundle:
runs-on: windows-latest
name: Build Windows Bundle
needs:
- build_windows
steps:
- name: Checkout Repository
uses: actions/checkout@v6
- name: Install Python
uses: actions/setup-python@v6
with:
python-version: ${{ env.PYTHON_VERSION }}
- name: Install just
uses: taiki-e/install-action@just
- name: Install uv
uses: astral-sh/setup-uv@v7
with:
enable-cache: false
- name: Remove Python Sources
run: |
function execute() { echo -e "\033[0;34m$*\033[0m"; "$@"; }
execute rm -rf mpvqc main.py
- name: Download Build Artifact
uses: actions/download-artifact@v8
with:
name: release-build-windows
path: .
- name: Setup Build Environment
run: |
function execute() { echo -e "\033[0;34m$*\033[0m"; "$@"; }
execute just init '--no-group dev'
execute uv pip install "nuitka[onefile]"
- name: Build Bundle
run: |
function execute() { echo -e "\033[0;34m$*\033[0m"; "$@"; }
execute source .venv/Scripts/activate
execute python.exe -m nuitka main.py \
--assume-yes-for-downloads \
--deployment \
--enable-plugin=pyside6 \
--include-data-files=.venv/Lib/site-packages/PySide6/translations/qtbase_de.qm=PySide6/translations/ \
--include-data-files=.venv/Lib/site-packages/PySide6/translations/qtbase_en.qm=PySide6/translations/ \
--include-data-files=.venv/Lib/site-packages/PySide6/translations/qtbase_es.qm=PySide6/translations/ \
--include-data-files=.venv/Lib/site-packages/PySide6/translations/qtbase_he.qm=PySide6/translations/ \
--include-data-files=.venv/Lib/site-packages/PySide6/translations/qtbase_it.qm=PySide6/translations/ \
--include-data-files=.venv/Lib/site-packages/PySide6/translations/qtbase_pt_BR.qm=PySide6/translations/ \
--include-data-files=LICENSES/*.txt=LICENSES/ \
--include-data-files=NOTICE.txt=NOTICE.txt \
--include-qt-plugins=qml,platforms \
--include-windows-runtime-dlls=yes \
--mode=onefile \
--nofollow-import-to='PySide6.QtWidgets' \
--nofollow-import-to=tkinter,distutils,numpy.f2py \
--noinclude-data-files='PySide6/qml/Qt/*' \
--noinclude-data-files='PySide6/qml/QtCore/*' \
--noinclude-data-files='PySide6/qml/QtNetwork/*' \
--noinclude-data-files='PySide6/qml/QtQml/*' \
--noinclude-data-files='PySide6/qml/QtQuick/Controls/FluentWinUI3/*' \
--noinclude-data-files='PySide6/qml/QtQuick/Controls/Fusion/*' \
--noinclude-data-files='PySide6/qml/QtQuick/Controls/Imagine/*' \
--noinclude-data-files='PySide6/qml/QtQuick/Controls/Universal/*' \
--noinclude-data-files='PySide6/qml/QtQuick/Controls/Windows/*' \
--noinclude-data-files='PySide6/qml/QtQuick/Controls/designer/*' \
--noinclude-data-files='PySide6/qml/QtQuick/Effects/*' \
--noinclude-data-files='PySide6/qml/QtQuick/LocalStorage/*' \
--noinclude-data-files='PySide6/qml/QtQuick/NativeStyle/*' \
--noinclude-data-files='PySide6/qml/QtQuick/Particles/*' \
--noinclude-data-files='PySide6/qml/QtQuick/Pdf/*' \
--noinclude-data-files='PySide6/qml/QtQuick/Scene2D/*' \
--noinclude-data-files='PySide6/qml/QtQuick/Scene3D/*' \
--noinclude-data-files='PySide6/qml/QtQuick/Shapes/*' \
--noinclude-data-files='PySide6/qml/QtQuick/Timeline/*' \
--noinclude-data-files='PySide6/qml/QtQuick/VectorImage/*' \
--noinclude-data-files='PySide6/qml/QtQuick/VirtualKeyboard/*' \
--noinclude-data-files='PySide6/qml/QtQuick/tooling/*' \
--noinclude-data-files='PySide6/qml/QtTest/*' \
--noinclude-data-files='PySide6/qml/QtWebEngine/*' \
--noinclude-data-files='PySide6/qt-plugins/styles/*' \
--noinclude-dlls='PySide6/qml/Qt/*' \
--noinclude-dlls='PySide6/qml/QtCore/*' \
--noinclude-dlls='PySide6/qml/QtNetwork/*' \
--noinclude-dlls='PySide6/qml/QtQml/*' \
--noinclude-dlls='PySide6/qml/QtQuick/Controls/FluentWinUI3/*' \
--noinclude-dlls='PySide6/qml/QtQuick/Controls/Fusion/*' \
--noinclude-dlls='PySide6/qml/QtQuick/Controls/Imagine/*' \
--noinclude-dlls='PySide6/qml/QtQuick/Controls/Universal/*' \
--noinclude-dlls='PySide6/qml/QtQuick/Controls/Windows/*' \
--noinclude-dlls='PySide6/qml/QtQuick/Controls/designer/*' \
--noinclude-dlls='PySide6/qml/QtQuick/Effects/*' \
--noinclude-dlls='PySide6/qml/QtQuick/LocalStorage/*' \
--noinclude-dlls='PySide6/qml/QtQuick/NativeStyle/*' \
--noinclude-dlls='PySide6/qml/QtQuick/Particles/*' \
--noinclude-dlls='PySide6/qml/QtQuick/Pdf/*' \
--noinclude-dlls='PySide6/qml/QtQuick/Scene2D/*' \
--noinclude-dlls='PySide6/qml/QtQuick/Scene3D/*' \
--noinclude-dlls='PySide6/qml/QtQuick/Shapes/*' \
--noinclude-dlls='PySide6/qml/QtQuick/Timeline/*' \
--noinclude-dlls='PySide6/qml/QtQuick/VectorImage/*' \
--noinclude-dlls='PySide6/qml/QtQuick/VirtualKeyboard/*' \
--noinclude-dlls='PySide6/qml/QtQuick/tooling/*' \
--noinclude-dlls='PySide6/qml/QtTest/*' \
--noinclude-dlls='PySide6/qml/QtWebEngine/*' \
--noinclude-dlls='PySide6/qt-plugins/imageformats/qgif.dll' \
--noinclude-dlls='PySide6/qt-plugins/imageformats/qicns.dll' \
--noinclude-dlls='PySide6/qt-plugins/imageformats/qico.dll' \
--noinclude-dlls='PySide6/qt-plugins/imageformats/qjpeg.dll' \
--noinclude-dlls='PySide6/qt-plugins/imageformats/qpdf.dll' \
--noinclude-dlls='PySide6/qt-plugins/imageformats/qpng.dll' \
--noinclude-dlls='PySide6/qt-plugins/imageformats/qtga.dll' \
--noinclude-dlls='PySide6/qt-plugins/imageformats/qtiff.dll' \
--noinclude-dlls='PySide6/qt-plugins/imageformats/qwbmp.dll' \
--noinclude-dlls='PySide6/qt-plugins/imageformats/qwebp.dll' \
--noinclude-dlls='PySide6/qt-plugins/platforms/qdirect2d.dll' \
--noinclude-dlls='PySide6/qt-plugins/platforms/qminimal.dll' \
--noinclude-dlls='PySide6/qt-plugins/platforms/qoffscreen.dll' \
--noinclude-dlls='PySide6/qt-plugins/styles/*' \
--noinclude-dlls='PySide6/qt-plugins/tls/qcertonlybackend.dll' \
--noinclude-dlls='PySide6/qt-plugins/tls/qopensslbackend.dll' \
--noinclude-dlls='PySide6/qt-plugins/tls/qschannelbackend.dll' \
--noinclude-dlls='Qt6Charts*' \
--noinclude-dlls='Qt6DataVisualization*' \
--noinclude-dlls='Qt6Pdf*' \
--noinclude-dlls='Qt6Quick3D*' \
--noinclude-dlls='Qt6Sensors*' \
--noinclude-dlls='Qt6Test*' \
--noinclude-dlls='Qt6WebEngine*' \
--noinclude-dlls='opengl32sw.dll' \
--noinclude-dlls='qt6dbus.dll' \
--noinclude-dlls='qt6designer.dll' \
--noinclude-dlls='qt6labsanimation.dll' \
--noinclude-dlls='qt6labsfolderlistmodel.dll' \
--noinclude-dlls='qt6labsplatform.dll' \
--noinclude-dlls='qt6labsqmlmodels.dll' \
--noinclude-dlls='qt6labssettings.dll' \
--noinclude-dlls='qt6labssharedimage.dll' \
--noinclude-dlls='qt6labswavefrontmesh.dll' \
--noinclude-dlls='qt6pdf.dll' \
--noinclude-dlls='qt6qmlcompiler.dll' \
--noinclude-dlls='qt6qmllocalstorage.dll' \
--noinclude-dlls='qt6qmlnetwork.dll' \
--noinclude-dlls='qt6qmlxmllistmodel.dll' \
--noinclude-dlls='qt6quickcontrols2fluentwinui3style*.dll' \
--noinclude-dlls='qt6quickcontrols2fusion*.dll' \
--noinclude-dlls='qt6quickcontrols2imagine*.dll' \
--noinclude-dlls='qt6quickcontrols2universal*.dll' \
--noinclude-dlls='qt6quickcontrols2windows*.dll' \
--noinclude-dlls='qt6quickeffects.dll' \
--noinclude-dlls='qt6quickparticles.dll' \
--noinclude-dlls='qt6quickshapes.dll' \
--noinclude-dlls='qt6quicktest.dll' \
--noinclude-dlls='qt6quicktimeline.dll' \
--noinclude-dlls='qt6quicktimelineblendtrees.dll' \
--noinclude-dlls='qt6quickvectorimage.dll' \
--noinclude-dlls='qt6quickvectorimagegenerator.dll' \
--noinclude-dlls='qt6quickvectorimagehelpers.dll' \
--noinclude-dlls='qt6sql.dll' \
--noinclude-dlls='qt6widgets.dll' \
--noinclude-qt-plugins=designer,multimedia,sqldrivers,virtualkeyboard,styles,tls \
--noinclude-qt-translations \
--onefile-tempdir-spec={CACHE_DIR}/mpvQC/${{ needs.build_windows.outputs.artifact_app_name }} \
--onefile-windows-splash-screen-image=build-aux/windows-splash.png \
--output-dir=deployment/mpvqc-onefile \
--windows-console-mode=attach \
--windows-icon-from-ico=build-aux/windows-icon.ico \
--output-filename=mpvQC.exe
execute mkdir -p deployment/mpvQC-distribution
execute mv deployment/mpvqc-onefile/mpvQC.exe deployment/mpvQC-distribution/mpvQC.exe
- name: Install libmpv
uses: ./.github/actions/install-libmpv
- name: Package libmpv
run: mv libmpv-2.dll deployment/mpvQC-distribution/
- name: Make Application Portable
run: |
touch deployment/mpvQC-distribution/portable
- name: Copy License Files to Distribution
run: |
cp -r LICENSES deployment/mpvQC-distribution/
cp NOTICE.txt deployment/mpvQC-distribution/
- name: Upload Artifact
uses: actions/upload-artifact@v7
with:
name: ${{ needs.build_windows.outputs.artifact_app_name }}-win-x86_64
path: deployment/mpvQC-distribution