mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-10-31 20:34:48 +08:00
105 lines
3.4 KiB
YAML
105 lines
3.4 KiB
YAML
name: Native Dependency Update Probe
|
|
|
|
on:
|
|
pull_request:
|
|
branches:
|
|
- v3
|
|
paths:
|
|
- 'app/adapters/external/market.py'
|
|
- 'app/adapters/system/host.py'
|
|
- 'app/adapters/system/package.py'
|
|
- 'app/adapters/system/plugin/package.py'
|
|
- 'app/application/plugin/install.py'
|
|
- 'app/runtime/dependencies/native.py'
|
|
- 'app/runtime/dependencies/profile.py'
|
|
- 'scripts/probe_native_dependency_update.py'
|
|
- '.github/workflows/native-dependency-update.yml'
|
|
push:
|
|
branches:
|
|
- v3
|
|
paths:
|
|
- 'app/adapters/external/market.py'
|
|
- 'app/adapters/system/host.py'
|
|
- 'app/adapters/system/package.py'
|
|
- 'app/adapters/system/plugin/package.py'
|
|
- 'app/application/plugin/install.py'
|
|
- 'app/runtime/dependencies/native.py'
|
|
- 'app/runtime/dependencies/profile.py'
|
|
- 'scripts/probe_native_dependency_update.py'
|
|
- '.github/workflows/native-dependency-update.yml'
|
|
workflow_dispatch:
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
concurrency:
|
|
group: native-dependency-update-${{ github.event.pull_request.number || github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
probe:
|
|
name: Loaded native dependency update / ${{ matrix.name }}
|
|
runs-on: ${{ matrix.runner }}
|
|
timeout-minutes: 20
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
include:
|
|
- name: Linux x64
|
|
runner: ubuntu-24.04
|
|
artifact-suffix: linux-x64
|
|
expected-system: Linux
|
|
expected-machine: x86_64
|
|
expected-python-platform-suffix: x86_64
|
|
- name: macOS ARM
|
|
runner: macos-15
|
|
artifact-suffix: macos-arm64
|
|
expected-system: Darwin
|
|
expected-machine: arm64
|
|
expected-python-platform-suffix: arm64
|
|
- name: Windows x64
|
|
runner: windows-2025
|
|
artifact-suffix: windows-x64
|
|
expected-system: Windows
|
|
expected-machine: AMD64
|
|
expected-python-platform-suffix: win-amd64
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v7
|
|
|
|
- name: Set up uv
|
|
uses: astral-sh/setup-uv@v10.0.1
|
|
with:
|
|
python-version: '3.14'
|
|
enable-cache: true
|
|
cache-dependency-glob: |
|
|
pyproject.toml
|
|
uv.lock
|
|
|
|
- name: Install locked standard runtime
|
|
run: >-
|
|
uv sync --locked --inexact --no-default-groups
|
|
--group runtime-standard --python 3.14
|
|
|
|
- name: Probe loaded native dependency update
|
|
env:
|
|
AUTO_UPDATE_RESOURCE: 'false'
|
|
CONFIG_DIR: ${{ runner.temp }}/moviepilot-native-update-config
|
|
MOVIEPILOT_SAFE_MODE: 'true'
|
|
SUPERUSER_PASSWORD: moviepilot-ci-only
|
|
run: >-
|
|
uv run --locked --no-sync python
|
|
-m scripts.probe_native_dependency_update
|
|
--output ${{ runner.temp }}/moviepilot-native-update-${{ matrix.artifact-suffix }}.json
|
|
--expected-system ${{ matrix.expected-system }}
|
|
--expected-machine ${{ matrix.expected-machine }}
|
|
--expected-python-platform-suffix ${{ matrix.expected-python-platform-suffix }}
|
|
|
|
- name: Upload native update evidence
|
|
if: always()
|
|
uses: actions/upload-artifact@v7
|
|
with:
|
|
name: native-dependency-update-${{ matrix.artifact-suffix }}
|
|
path: ${{ runner.temp }}/moviepilot-native-update-${{ matrix.artifact-suffix }}.json
|
|
if-no-files-found: error
|