Skip to content

Commit

Permalink
Build fix:
Browse files Browse the repository at this point in the history
 - Using github workflow from cibuildwheel/github-deploy.yml
 - Deleted old workflow
 - Created a new test workflow that publishes to TestPypi
 - Excluded i686 linux builds
  • Loading branch information
MrCheatak committed Jul 13, 2024
1 parent 01afb8c commit 795d8ab
Show file tree
Hide file tree
Showing 4 changed files with 131 additions and 163 deletions.
115 changes: 60 additions & 55 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -1,65 +1,70 @@
# This workflow will install Python dependencies, run tests and lint with a variety of Python versions
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python

name: Build febid for win and mac
name: Build febid for win, mac, linux and publish on PyPi

on:
push:
branches: [ $default-branch ]
pull_request:
branches: [ $default-branch ]
workflow_dispatch:

jobs:
build:
name: Build wheels on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
python-version: ["3.9", "3.10", "3.11"]
include:
- arch: arm64
os: macos-latest
pypthon-version: "3.9-3.11"
build_wheels:
name: Build wheels on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, macos-13, macos-14]
include:
- arch: arm64
os: macos-latest
pypthon-version: "3.9-3.11"

steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip setuptools wheel
pip install build twine
# - name: Build package for linux
# if: ${{ matrix.os == 'ubuntu-latest' }}
# uses: RalfG/python-wheels-manylinux-build@v0.7.1-manylinux2014_x86_64
# with:
# python-versions: ${{ matrix.python-version }}
# build-requirements: 'setuptools cython numpy'
# pre-build-command: python -m pip install --upgrade pip setuptools wheel
- name: Build package for mac and windows
if: ${{ matrix.os == 'windows-latest' }} || ${{ matrix.os == 'macos-latest' }}
run: |
python -m build --outdir dist
steps:
- uses: actions/checkout@v4

- name: Save wheels as artifacts
uses: actions/upload-artifact@v3
with:
path: dist/*
- name: Publish wheels to PyPI
env:
TWINE_USERNAME: __token__
TWINE_PASSWORD: ${{ secrets.TEST_PYPI_PASSWORD }}
run: |
twine upload dist/*.whl
- name: Publish sdist to PyPi
if: ${{ matrix.os == 'windows-latest' }} && {{ matrix.python-version == '3.11' }}
env:
TWINE_USERNAME: __token__
TWINE_PASSWORD: ${{ secrets.TEST_PYPI_PASSWORD }}
run: |
twine upload --repository testpypi dist/*.tar.gz
- name: Build wheels
uses: pypa/cibuildwheel@v2.19.2
env:
CIBW_BUILD: cp39-* cp310-* cp311-*
CIBW_SKIP: "*_i686"

- uses: actions/upload-artifact@v4
with:
name: cibw-wheels-${{ matrix.os }}-${{ strategy.job-index }}
path: ./wheelhouse/*.whl

build_sdist:
name: Build source distribution
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Build sdist
run: pipx run build --sdist

- uses: actions/upload-artifact@v4
with:
name: cibw-sdist_test
path: dist/*.tar.gz

upload_pypi:
needs: [build_wheels, build_sdist]
runs-on: ubuntu-latest
environment:
name: pypi
url: https://pypi.org/project/febid/
permissions:
id-token: write
steps:
- uses: actions/download-artifact@v4
with:
# unpacks all CIBW artifacts into dist/
pattern: cibw-*
path: dist
merge-multiple: true

- name: Publish package distributions to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
# repository-url: https://test.pypi.org/legacy/
password: ${{ secrets.TEST_PYPI_PASSWORD }}
107 changes: 0 additions & 107 deletions .github/workflows/build_orig.yml

This file was deleted.

70 changes: 70 additions & 0 deletions .github/workflows/build_test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
# This workflow will install Python dependencies, run tests and lint with a variety of Python versions
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python

name: Build febid for win, mac, linux and test publishing on Test.Pypi

on:
workflow_dispatch:

jobs:
build_wheels:
name: Build wheels on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, macos-13, macos-14]
include:
- arch: arm64
os: macos-latest
pypthon-version: "3.9-3.11"

steps:
- uses: actions/checkout@v4

- name: Build wheels
uses: pypa/cibuildwheel@v2.19.2
env:
CIBW_BUILD: cp39-* cp310-* cp311-*
CIBW_SKIP: "*_i686"

- uses: actions/upload-artifact@v4
with:
name: cibw-wheels-${{ matrix.os }}-${{ strategy.job-index }}
path: ./wheelhouse/*.whl

build_sdist:
name: Build source distribution
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Build sdist
run: pipx run build --sdist

- uses: actions/upload-artifact@v4
with:
name: cibw-sdist_test
path: dist/*.tar.gz

upload_pypi:
needs: [build_wheels, build_sdist]
runs-on: ubuntu-latest
environment:
name: testpypi
url: https://test.pypi.org/project/febid/
permissions:
id-token: write
steps:
- uses: actions/download-artifact@v4
with:
# unpacks all CIBW artifacts into dist/
pattern: cibw-*
path: dist
merge-multiple: true

- name: Publish package distributions to TestPyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
repository-url: https://test.pypi.org/legacy/
password: ${{ secrets.TEST_PYPI_PASSWORD }}
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@
requirements = f.read().splitlines()
setuptools.setup(
name='febid',
version='0.9.2',
version='0.9.3',
author='Alexander Kuprava, Michael Huth',
author_email='sandro1742@gmail.com',
description='FEBID process simulator',
Expand Down

0 comments on commit 795d8ab

Please sign in to comment.