Skip to content

Src layout

Src layout #664

Workflow file for this run

# This is a basic workflow to help you get started with Actions
name: CI
# Controls when the action will run.
on:
# Triggers the workflow on push or pull request events but only for the master branch
push:
branches: [ master ]
pull_request:
branches: [ master ]
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
build:
name: "Python ${{ matrix.python-version }} on ${{ matrix.os }} ${{ matrix.name-suffix }}"
runs-on: ${{ matrix.os }}
strategy:
# do not cancel tests after first fail
fail-fast: false
matrix:
include:
- name-suffix: "(Minimum Versions)"
os: ubuntu-latest
python-version: 3.7
BUILD_COMMAND: sdist
QT_BINDING: PyQt5==5.14.1
XVFB_RUN: xvfb-run -a
- name-suffix: "PySide6 bdist_wheel"
os: ubuntu-latest
python-version: "3.10"
BUILD_COMMAND: bdist_wheel
QT_BINDING: PySide6
XVFB_RUN: xvfb-run -a
- name-suffix: "PyQt5 bdist_wheel"
os: ubuntu-latest
python-version: "3.10"
BUILD_COMMAND: bdist_wheel
QT_BINDING: PyQt5
XVFB_RUN: xvfb-run -a
- name-suffix: "PyQt6 bdist_wheel"
os: macos-latest
python-version: 3.11
BUILD_COMMAND: bdist_wheel
QT_BINDING: PyQt6
XVFB_RUN: ""
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Install OS dependencies
run: |
case "${{ runner.os }}" in
Linux)
sudo apt-get update -yy
sudo apt-get install -yy \
libxkbcommon-x11-0 \
libxkbcommon0 \
libxkbcommon-dev \
libxcb-icccm4 \
libxcb-image0 \
libxcb-shm0 \
libxcb-keysyms1 \
libxcb-randr0 \
libxcb-render-util0 \
libxcb-render0 \
libxcb-shape0 \
libxcb-sync1 \
libxcb-xfixes0 \
libxcb-xinerama0 \
libxcb-xkb1 \
libxcb1
#export QT_QPA_PLATFORM=offscreen
export DISPLAY=:99.0
;;
macOS)
# curl -o miniconda_installer.sh "https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh"
# bash miniconda_installer.sh -b -p miniconda
# export PATH="`pwd`/miniconda/bin":$PATH
;;
esac
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
# Display the python version
- name: Display Python version
run:
python -c "import sys; print(sys.version)"
- name: Upgrade distribution modules
run: |
python -m pip install --upgrade pip
pip install --upgrade setuptools
# if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
- name: Install build dependencies
run: |
pip install --upgrade wheel
pip install --upgrade numpy
# put cython
pip install cython
- name: Install runtime dependencies
run: |
# pip install silx --pre --find-links https://silx.gitlab-pages.esrf.fr/bob/silx/
pip install ${{ matrix.QT_BINDING }}
- name: Print python info
run: |
python ./ci/info_platform.py
pip list
- name: Generate source package or wheel
run: |
python setup.py ${{ matrix.BUILD_COMMAND }}
ls dist
- name: Install from source package
run: |
for filename in dist/PyMca5*.*; do
echo "\nInstall $filename"
pip install --pre $filename
done
- name: Run the tests
run: |
cd ..
${{ matrix.XVFB_RUN }} python -m PyMca5.tests.TestAll