Skip to content

Propagate exceptions correctly from setSLMImage() #223

Propagate exceptions correctly from setSLMImage()

Propagate exceptions correctly from setSLMImage() #223

Workflow file for this run

name: Check build on Ubuntu
# This workflow checks that our setup.py script works on Ubuntu, using
# system-provided dependencies. The binaries are not expected to work on any
# other Linux distribution.
on:
pull_request:
push:
branches:
- main
tags:
- 'v*'
jobs:
build:
strategy:
matrix:
runner: [ubuntu-20.04, ubuntu-22.04]
name: ${{ matrix.runner }} build check
runs-on: ${{ matrix.runner }}
steps:
- uses: actions/checkout@v3
- name: Checkout submodules
run: |
git submodule sync --recursive
git submodule update --init --force --recursive --depth=1
- name: Install tools and dependencies
run: |
sudo apt-get update
sudo apt-get install -y python3-dev python3-pip python3-venv
sudo apt-get install -y build-essential swig
python3 -m venv venv
source venv/bin/activate
pip install --upgrade pip
pip install --upgrade setuptools numpy
- name: Package and extract sources
run: |
source venv/bin/activate
python setup.py sdist
mkdir tmp
tar xvzf dist/pymmcore-*.tar.gz -C tmp
mv tmp/pymmcore-* tmp/pymmcore
- name: Build wheel
env:
CFLAGS: -Wno-deprecated
run: |
source venv/bin/activate
cd tmp/pymmcore
python setup.py build_ext -j2
python setup.py build
python setup.py install
- name: Check for undefined symbols
run: |
cd tmp/pymmcore
echo 'Missing symbols:'
ldd -r build/lib.*/pymmcore/_pymmcore_swig.*.so |grep '^undefined symbol:' |grep -v Py && exit 1
echo '-- end of missing symbols --'
- name: Smoke test
run: |
source venv/bin/activate
cd tmp/pymmcore
python ../../smoketest/smoke.py