Skip to content

Commit

Permalink
Merge pull request #62 from mraspaud/fix-deploy-version-numbers
Browse files Browse the repository at this point in the history
  • Loading branch information
djhoese committed Nov 27, 2023
2 parents 2e8b790 + 87739e5 commit 2103547
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 67 deletions.
3 changes: 1 addition & 2 deletions .github/workflows/ci.yaml
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
@@ -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/cibuildwheel@v2.16.2
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/gh-action-pypi-publish@v1.8.10
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/gh-action-pypi-publish@v1.8.10
Expand Down
2 changes: 1 addition & 1 deletion setup.py
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

0 comments on commit 2103547

Please sign in to comment.