Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Just wrappers versioneer setup cfg #70

Draft
wants to merge 41 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
545843a
drop build_new.py
altendky Oct 17, 2020
71c3a3f
reduce CI matrixing for now
altendky Oct 17, 2020
ec3dcef
just plugins (i think)
altendky Oct 17, 2020
4afe478
update ci.yml
altendky Oct 17, 2020
ee262e7
few
altendky Oct 17, 2020
0f6ae0d
depend on qt_tools
altendky Oct 17, 2020
839bd3e
match artifact names
altendky Oct 18, 2020
f607e6b
tidy and fix tox
altendky Oct 18, 2020
d1abcbd
add Qt/bin/plugins for windows designer...
altendky Oct 18, 2020
2617f62
just one plugins directory
altendky Oct 18, 2020
ae6f6d1
slight diff removal for linux and windows build code
altendky Oct 18, 2020
74d3768
drop the extra qwindows.dll copy
altendky Oct 18, 2020
7001e62
translation files belong in qttools
altendky Oct 19, 2020
55fbc2f
use GITHUB_ENV
altendky Oct 19, 2020
6e5c471
GITHUB_ENV may not be there
altendky Oct 20, 2020
51b4726
-vv
altendky Oct 20, 2020
625827e
-v
altendky Oct 20, 2020
2a37194
maybe we should be but we are not using cibuildwheel
altendky Oct 20, 2020
8585800
pep517.build
altendky Oct 20, 2020
219dd45
actually install pep517
altendky Oct 20, 2020
6ff9adc
tenacity
altendky Oct 21, 2020
6c39733
misc
altendky Oct 21, 2020
45b25af
resolve patch path
altendky Oct 23, 2020
2b25cb1
use qttools.application_path()
altendky Oct 24, 2020
5e49aea
default to QT_VERSION
altendky Oct 24, 2020
9b013dc
remove sysconfig and dotenv imports
altendky Oct 24, 2020
073cadf
stuff
altendky Oct 25, 2020
d5833a1
switch to the python patch package
altendky Oct 25, 2020
11815fc
fix the NotADirectoryError
altendky Oct 25, 2020
19573dc
remove stray 3
altendky Oct 26, 2020
b8ffd7a
workaround qml wanting paths all lower case and .resolve() respecting…
altendky Oct 26, 2020
572afe7
import sys
altendky Oct 26, 2020
9caa9fb
simplify env var printing in tests
altendky Oct 26, 2020
37862e9
simplify tests with more common environment fixture
altendky Oct 26, 2020
6f3cc1b
use qttools.application_path() in tests
altendky Oct 26, 2020
5987f31
remove extra [] in tests
altendky Oct 26, 2020
09abfab
tidy
altendky Oct 26, 2020
11a6f8a
vars to print
altendky Oct 27, 2020
c4f0c3c
just wrappers
altendky Oct 27, 2020
d2da99b
versioneer and setup.cfg
altendky Oct 27, 2020
8604c51
oops
altendky Oct 27, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
src/pyqtwrappers/_version.py export-subst
250 changes: 167 additions & 83 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ env:
PIP_NO_PYTHON_VERSION_WARNING: 1

jobs:
ci:
name: ${{ matrix.os.name }} ${{ matrix.python.name }}-${{ matrix.bitness.name }} ${{ matrix.qt.pyqt_version }}
build:
name: Build ${{ matrix.os.name }} ${{ matrix.python.name }}-${{ matrix.bitness.name }} ${{ matrix.qt.pyqt_version }}
runs-on: ${{ matrix.os.runs-on }}
container: ${{ format(matrix.os.container, matrix.python.docker) }}
strategy:
Expand All @@ -24,7 +24,6 @@ jobs:
runs-on: ubuntu-latest
python_platform: linux
container: docker://python:{0}-buster
cibuildwheel_before: yum install mesa-libGL-devel
- name: Windows
runs-on: windows-latest
python_platform: win32
Expand All @@ -33,50 +32,43 @@ jobs:
# runs-on: macos-latest
# python_platform: darwin
python:
- name: 3.5
tox: py35
action: 3.5
docker: 3.5
cibuildwheel: cp38
- name: 3.6
tox: py36
action: 3.6
docker: 3.6
cibuildwheel: cp36
- name: 3.7
tox: py37
action: 3.7
docker: 3.7
cibuildwheel: cp37
# - name: 3.5
# tox: py35
# action: 3.5
# docker: 3.5
# - name: 3.6
# tox: py36
# action: 3.6
# docker: 3.6
# - name: 3.7
# tox: py37
# action: 3.7
# docker: 3.7
- name: 3.8
tox: py38
action: 3.8
docker: 3.8
cibuildwheel: cp38
- name: 3.9
tox: py39
action: 3.9
docker: 3.9
cibuildwheel: cp39
# - name: 3.9
# tox: py39
# action: 3.9
# docker: 3.9
qt:
- pyqt_version: 5.14.0
qt_version: 5.14.0
- pyqt_version: 5.14.1
qt_version: 5.14.1
# - pyqt_version: 5.14.0
# qt_version: 5.14.0
# - pyqt_version: 5.14.1
# qt_version: 5.14.1
- pyqt_version: 5.14.2
qt_version: 5.14.2
- pyqt_version: 5.15.0
qt_version: 5.15.0
# - pyqt_version: 5.15.0
# qt_version: 5.15.0
- pyqt_version: 5.15.1
qt_version: 5.15.1
bitness:
- name: x32
action: x86
cibuildwheel: '*32*'
ilammy: x86
# - name: x32
# action: x86
# ilammy: x86
- name: x64
action: x64
cibuildwheel: '*64*'
ilammy: x64
exclude:
- bitness:
Expand Down Expand Up @@ -116,10 +108,10 @@ jobs:
with:
python-version: ${{ matrix.python.action }}
architecture: ${{ matrix.bitness.action }}
- name: pip/setuptools/tox/cibuildwheel
- name: pip/setuptools/tox
run: |
python -m pip install --upgrade pip setuptools
pip install tox cibuildwheel
python -m pip install --upgrade pip setuptools wheel
pip install tox pep517
- name: Report info
shell: bash
run: |
Expand All @@ -129,26 +121,11 @@ jobs:
pip list
pip freeze --all
python -c "import sysconfig; print('Py_ENABLE_SHARED -> {}'.format(sysconfig.get_config_var('Py_ENABLE_SHARED')))"
# - name: Install Linux Docker dependencies
# if: matrix.os.python_platform == 'linux'
# run: |
# apt-get update --yes
# apt-get install --yes docker.io
# - name: Build wheel
# run: |
# cibuildwheel --output-dir dist/
# env:
# CIBW_BUILD: ${{ matrix.python.cibuildwheel }}-${{ matrix.bitness.cibuildwheel }}
# CIBW_MANYLINUX_X86_64_IMAGE: manylinux2014
# CIBW_MANYLINUX_I686_IMAGE: manylinux2014
# CIBW_BEFORE_BUILD: ${{ matrix.os.cibuildwheel_before }}
# CIBW_ENVIRONMENT: QT_VERSION=${{ matrix.qt.qt_version }} QT_COMPILER=${{ matrix.os.qt_compiler }} QT_ARCHITECTURE=${{ matrix.os.aqt_architecture }} PYQT_VERSION=${{ matrix.qt.pyqt_version }}
- name: Install Linux build dependencies
if: matrix.os.python_platform == 'linux'
run: |
apt-get update --yes
apt-get install --yes libgl1-mesa-dev
apt-get install --yes libdbus-1-3 libxkbcommon-x11-0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-xinerama0 libxcb-xfixes0
apt-get install --yes libgl1-mesa-dev libdbus-1-3 libxkbcommon-x11-0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-xinerama0 libxcb-xfixes0
- name: Set up MSVC
uses: ilammy/msvc-dev-cmd@v1
if: matrix.os.python_platform == 'win32'
Expand All @@ -158,7 +135,7 @@ jobs:
# native shell for nmake... keep commands here simple i guess
run: |
mkdir -p dist/
pip wheel -vvv --no-deps --wheel-dir dist/ --no-clean .
python -m pep517.build --binary --out-dir dist/ .
- name: Rename to manylinux2014 tag
if: matrix.os.python_platform == 'linux'
shell: python
Expand All @@ -171,6 +148,132 @@ jobs:
# this is cheap...
retagged = wheel.parent / wheel.name.replace('linux', 'manylinux2014')
wheel.rename(retagged)
- name: Archive individual wheel
uses: actions/upload-artifact@v1
with:
name: ${{ matrix.os.name }} ${{ matrix.python.name }}-${{ matrix.bitness.name }} ${{ matrix.qt.pyqt_version }}
path: dist/
- name: Archive all wheels
uses: actions/upload-artifact@v1
with:
name: all_wheels
path: dist/
test:
name: Test ${{ matrix.os.name }} ${{ matrix.python.name }}-${{ matrix.bitness.name }} ${{ matrix.qt.pyqt_version }}
runs-on: ${{ matrix.os.runs-on }}
container: ${{ format(matrix.os.container, matrix.python.docker) }}
needs:
- build
strategy:
fail-fast: false
matrix:
os:
- name: Linux
runs-on: ubuntu-latest
python_platform: linux
container: docker://python:{0}-buster
- name: Windows
runs-on: windows-latest
python_platform: win32
vs_path: C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/VC/Auxiliary/Build/vcvars64.bat
# - name: macOS
# runs-on: macos-latest
# python_platform: darwin
python:
# - name: 3.5
# tox: py35
# action: 3.5
# docker: 3.5
# - name: 3.6
# tox: py36
# action: 3.6
# docker: 3.6
# - name: 3.7
# tox: py37
# action: 3.7
# docker: 3.7
- name: 3.8
tox: py38
action: 3.8
docker: 3.8
# - name: 3.9
# tox: py39
# action: 3.9
# docker: 3.9
qt:
# - pyqt_version: 5.14.0
# qt_version: 5.14.0
# - pyqt_version: 5.14.1
# qt_version: 5.14.1
- pyqt_version: 5.14.2
qt_version: 5.14.2
# - pyqt_version: 5.15.0
# qt_version: 5.15.0
- pyqt_version: 5.15.1
qt_version: 5.15.1
bitness:
# - name: x32
# action: x86
# ilammy: x86
- name: x64
action: x64
ilammy: x64
exclude:
- bitness:
name: x32
os:
name: Linux
# - bitness:
# name: x32
# os:
# name: macOS
- python:
name: 3.9
qt:
pyqt_version: 5.14.0
- python:
name: 3.9
qt:
pyqt_version: 5.14.1
- python:
name: 3.9
qt:
pyqt_version: 5.14.2
- python:
name: 3.9
qt:
pyqt_version: 5.15.0
env:
QT_VERSION: ${{ matrix.qt.qt_version }}
PYQT_VERSION: ${{ matrix.qt.pyqt_version }}

steps:
- name: Checkout
uses: actions/checkout@v1
- name: Download
uses: actions/download-artifact@v1
with:
name: ${{ matrix.os.name }} ${{ matrix.python.name }}-${{ matrix.bitness.name }} ${{ matrix.qt.pyqt_version }}
path: dist/
- name: Set up Python ${{ matrix.python.name }}-${{ matrix.bitness.name }}
if: matrix.os.python_platform != 'linux'
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python.action }}
architecture: ${{ matrix.bitness.action }}
- name: pip/setuptools/tox
run: |
python -m pip install --upgrade pip setuptools
pip install tox
- name: Report info
shell: bash
run: |
git show --quiet HEAD
python --version --version
pip --version
pip list
pip freeze --all
python -c "import sysconfig; print('Py_ENABLE_SHARED -> {}'.format(sysconfig.get_config_var('Py_ENABLE_SHARED')))"
- name: Set WHEEL_PATH
shell: python
run: |
Expand All @@ -182,51 +285,31 @@ jobs:
dist = pathlib.Path.cwd() / 'dist'
[wheel] = dist.glob('*.whl')

print('::set-env name=WHEEL_PATH::{}'.format(fspath(wheel)))
print('::set-env name=WHEEL_STEM::{}'.format(wheel.stem))
- name: Archive individual wheel
uses: actions/upload-artifact@v1
with:
name: ${{ env['WHEEL_STEM'] }}
path: dist
- name: Archive all wheels
uses: actions/upload-artifact@v1
with:
name: pyqt5_tools-all_wheels
path: dist
with open(os.environ['GITHUB_ENV'], 'a') as github_env:
github_env.write('WHEEL_PATH={}\n'.format(fspath(wheel)))
github_env.write('WHEEL_STEM={}\n'.format(wheel.stem))
- name: Install Linux test dependencies
if: matrix.os.python_platform == 'linux'
run: |
apt-get update --yes
apt-get install --yes libgl1-mesa-dev libxkbcommon-x11-0 xvfb
apt-get install --yes x11-utils libdbus-1-3
# let's guess here...
# apt-get install --yes mesa-utils linux-generic xserver-xorg-core xserver-xorg xserver-xorg-video-all xserver-xorg-input-all libwayland-egl1-mesa
apt-get install --yes libgl1-mesa-dev libdbus-1-3 libxkbcommon-x11-0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-xinerama0 libxcb-xfixes0 xvfb x11-utils
- name: Test
run: |
tox -e ${{ matrix.python.tox }} --installpkg ${{ env['WHEEL_PATH'] }}
# - name: prep
# if: always()
# run: |
# apt install --yes xvfb
# Xvfb :1 -screen 0 1600x1200x24&
# - name: Setup tmate session
# if: always()
# uses: mxschmitt/action-tmate@v2
maybe_publish:
name: Maybe Publish
runs-on: ubuntu-latest
container: docker://python:3.8-buster
needs:
- ci
- test
steps:
- name: Checkout
uses: actions/checkout@v1
- name: Download all wheels
uses: actions/download-artifact@v1
with:
name: pyqt5_tools-all_wheels
path: dist
name: all_wheels
path: dist/
- name: Install Python packages
run: |
pip install --upgrade twine
Expand All @@ -240,7 +323,8 @@ jobs:
name: All
runs-on: ubuntu-latest
needs:
- ci
- build
- test
- maybe_publish
steps:
- name: This
Expand Down
4 changes: 3 additions & 1 deletion MANIFEST.in
Original file line number Diff line number Diff line change
@@ -1 +1,3 @@
recursive-include src/pyqt5_tools *
recursive-include src/pyqtplugins *
include versioneer.py
include src/pyqtwrappers/_version.py
Loading