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

Fix python versions in deploy ci #62

Merged
merged 9 commits into from
Nov 27, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
3 changes: 1 addition & 2 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
fail-fast: false
matrix:
os: ["windows-latest", "ubuntu-latest", "macos-latest"]
python-version: ["3.9", "3.11", "3.12"]
python-version: ["3.10", "3.11", "3.12"]
experimental: [false]
include:
- python-version: "3.12"
Expand Down Expand Up @@ -96,4 +96,3 @@ jobs:
uses: AndreMiras/coveralls-python-action@develop
with:
parallel-finished: true

91 changes: 27 additions & 64 deletions .github/workflows/deploy.yaml
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
name: Deploy sdist and wheels


on:
push:
tags:
- v*
pull_request:
release:
types:
- published
Expand All @@ -18,7 +18,7 @@ jobs:
- name: Create sdist
shell: bash -l {0}
run: |
pip install -q build
python -m pip install -q build
python -m build -s

- name: Upload sdist to build artifacts
Expand All @@ -27,68 +27,46 @@ jobs:
name: sdist
path: dist/*.tar.gz


build_wheels:
name: "Build wheels on ${{ matrix.os }} ${{ matrix.cibw_archs }}"
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [windows-latest, macos-latest]
python-version: ["3.7", "3.8", "3.9", "3.10"]
include:
# Using pythons inside a docker image to provide all the Linux
# python-versions permutations.
- name: manylinux 64-bit
os: ubuntu-latest
python-version: 3.8
docker-image: manylinux2014_x86_64
- os: windows-2019
cibw_archs: "AMD64 ARM64"
- os: macos-11
cibw_archs: "x86_64 arm64"
- os: "ubuntu-20.04"
cibw_archs: "aarch64"
- os: "ubuntu-20.04"
cibw_archs: "x86_64"

steps:
- uses: actions/checkout@v4
- run: |
git fetch --prune --unshallow

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
- name: Set up QEMU
if: runner.os == 'Linux'
uses: docker/setup-qemu-action@v3
with:
python-version: "${{ matrix.python-version }}"

- name: Install dependencies
run: |
python -m pip install -U -q pip Cython wheel setuptools twine numpy build
platforms: all

- name: Build and install macOS/Windows wheel
if: matrix.os != 'ubuntu-latest'
# see https://setuptools.readthedocs.io/en/latest/build_meta.html
run: |
python -m build
pip install --find-links=./dist/ python-geotiepoints

- name: Build Linux wheels inside docker
if: matrix.os == 'ubuntu-latest'
run: |
docker run \
-e PLAT=${{ matrix.docker-image }} \
-e USE_OMP=1 \
-v `pwd`:/io \
quay.io/pypa/${{ matrix.docker-image }} \
/io/continuous_integration/build-manylinux-wheels.sh
- name: Build wheels
uses: pypa/[email protected]
env:
CIBW_SKIP: "cp36-* cp37-* cp38-* pp* *-manylinux_i686 *-musllinux_i686 *-musllinux_aarch64 *-win32"
CIBW_ARCHS: "${{ matrix.cibw_archs }}"
CIBW_TEST_SKIP: "*_arm64 *_universal2:arm64"

- name: Check version number from inside wheel
if: matrix.docker-image != 'manylinux2014_i686'
run: |
mv geotiepoints unused_src_to_prevent_local_import
python -m pip install --find-links=./dist/ python-geotiepoints
python -c "import geotiepoints; print(geotiepoints.__file__, geotiepoints.__version__)"
python -c "import geotiepoints; assert 'unknown' not in geotiepoints.__version__, 'incorrect version found'"

- name: Upload wheel(s) as build artifacts
uses: actions/upload-artifact@v3
- uses: actions/upload-artifact@v3
with:
name: wheels
path: dist/*.whl
path: ./wheelhouse/*.whl

upload_test_pypi:
upload_to_pypi:
needs: [build_sdist, build_wheels]
runs-on: ubuntu-latest
steps:
Expand All @@ -102,28 +80,13 @@ jobs:
with:
name: wheels
path: dist
- name: Publish package to PyPI
if: github.event.action != 'published'
- name: Publish package to Test PyPI
if: github.event.action != 'published' && github.event_name == 'push'
uses: pypa/[email protected]
with:
user: __token__
password: ${{ secrets.test_pypi_password }}
repository_url: https://test.pypi.org/legacy/

upload_pypi:
needs: [build_sdist, build_wheels]
runs-on: ubuntu-latest
steps:
- name: Download sdist artifact
uses: actions/download-artifact@v3
with:
name: sdist
path: dist
- name: Download wheels artifact
uses: actions/download-artifact@v3
with:
name: wheels
path: dist
- name: Publish package to PyPI
if: github.event.action == 'published'
uses: pypa/[email protected]
Expand Down
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@
"Topic :: Scientific/Engineering"],
url="https://github.com/pytroll/python-geotiepoints",
packages=find_packages(),
python_requires='>=3.9',
python_requires='>=3.10',
cmdclass=cmdclass,
install_requires=requirements,
ext_modules=EXTENSIONS,
Expand Down
Loading