Skip to content

fix(sync): preserve source and foreign files during atomic copy #52

fix(sync): preserve source and foreign files during atomic copy

fix(sync): preserve source and foreign files during atomic copy #52

name: ProSync source-platform smoke
on:
push:
branches:
- master
- main
pull_request:
branches:
- master
- main
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions:
contents: read
jobs:
smoke:
name: Smoke (${{ matrix.os }})
runs-on: ${{ matrix.os }}
timeout-minutes: 15
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- macos-latest
env:
QT_QPA_PLATFORM: offscreen
PYTHONIOENCODING: utf-8
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.11"
cache: pip
- name: Install Qt runtime libraries (Linux only)
if: runner.os == 'Linux'
run: |
sudo apt-get update -qq
sudo apt-get install -y --no-install-recommends \
libgl1 \
libegl1 \
libglib2.0-0 \
libdbus-1-3 \
libxkbcommon-x11-0 \
libxcb-icccm4 \
libxcb-image0 \
libxcb-keysyms1 \
libxcb-randr0 \
libxcb-render-util0 \
libxcb-xinerama0 \
libxcb-xfixes0
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install "PySide6>=6.5.0" paramiko tzdata pytest
- name: Compile modules (bytecode validation)
run: python -m compileall -q .
- name: Run cross-platform source smoke runner
run: python source_platform_smoke.py
- name: Run dedicated Linux platform smoke
if: runner.os == 'Linux'
run: python tests/linux_platform_smoke.py
- name: Run dedicated macOS platform smoke
if: runner.os == 'macOS'
run: python tests/macos_platform_smoke.py
- name: Run full pytest suite
run: python -m pytest -ra -v