-
Notifications
You must be signed in to change notification settings - Fork 183
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #1653 from ERGO-Code/latest
Updates to authentication to PyPi required for publishing highspy
- Loading branch information
Showing
11 changed files
with
177 additions
and
47 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,5 @@ | ||
name: build-meson | ||
|
||
on: [push, pull_request] | ||
|
||
jobs: | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,5 @@ | ||
name: build-mingw | ||
|
||
# on: [push, pull_request] | ||
on: [pull_request] | ||
|
||
jobs: | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,111 @@ | ||
name: build-wheels-push | ||
|
||
# on: [push] | ||
|
||
on: | ||
release: | ||
types: | ||
- published | ||
|
||
concurrency: | ||
group: ${{ github.workflow }}-${{ github.ref }} | ||
cancel-in-progress: true | ||
|
||
jobs: | ||
build_wheels: | ||
name: Build wheel for ${{ matrix.python }}-${{ matrix.buildplat[1] }} | ||
runs-on: ${{ matrix.buildplat[0] }} | ||
environment: pypi | ||
strategy: | ||
# Ensure that a wheel builder finishes even if another fails | ||
fail-fast: false | ||
matrix: | ||
# From NumPy | ||
# Github Actions doesn't support pairing matrix values together, let's improvise | ||
# https://github.com/github/feedback/discussions/7835#discussioncomment-1769026 | ||
buildplat: | ||
- [ubuntu-20.04, manylinux_x86_64] | ||
- [ubuntu-20.04, musllinux_x86_64] # No OpenBlas, no test | ||
- [macos-12, macosx_x86_64] | ||
- [macos-14, macosx_arm64] | ||
- [windows-2019, win_amd64] | ||
python: ["cp38", "cp39","cp310", "cp311","cp312"] | ||
|
||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Build wheels | ||
uses: pypa/[email protected] | ||
env: | ||
CIBW_BUILD: ${{ matrix.python }}-${{ matrix.buildplat[1] }} | ||
- uses: actions/upload-artifact@v3 | ||
with: | ||
path: ./wheelhouse/*.whl | ||
|
||
build_sdist: | ||
name: Build source distribution | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
|
||
- name: Build sdist | ||
shell: bash -l {0} | ||
run: pipx run build --sdist | ||
|
||
- uses: actions/upload-artifact@v3 | ||
with: | ||
path: dist/*.tar.gz | ||
|
||
# upload_testpypi: | ||
# name: >- | ||
# Publish highspy to TestPyPI | ||
# runs-on: ubuntu-latest | ||
# needs: [build_wheels, build_sdist] | ||
|
||
# # upload to PyPI on every tag starting with 'v' | ||
# # if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') | ||
|
||
# environment: | ||
# name: testpypi | ||
# url: https://testpypi.org/p/highspy | ||
|
||
# permissions: | ||
# id-token: write # IMPORTANT: mandatory for trusted publishing | ||
# steps: | ||
# - uses: actions/download-artifact@v3 | ||
# with: | ||
# # unpacks default artifact into dist/ | ||
# # if `name: artifact` is omitted, the action will create extra parent dir | ||
# name: artifact | ||
# path: dist | ||
|
||
# - name: Download all | ||
# uses: pypa/gh-action-pypi-publish@release/v1 | ||
# with: | ||
# repository-url: https://test.pypi.org/legacy/ | ||
|
||
upload_pypi: | ||
name: >- | ||
Publish highspy to PyPI | ||
runs-on: ubuntu-latest | ||
needs: [build_wheels, build_sdist] | ||
|
||
# upload to PyPI on every tag starting with 'v' | ||
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') | ||
|
||
environment: | ||
name: pypi | ||
url: https://pypi.org/p/highspy | ||
|
||
permissions: | ||
id-token: write # IMPORTANT: mandatory for trusted publishing | ||
|
||
steps: | ||
- uses: actions/download-artifact@v3 | ||
with: | ||
# unpacks default artifact into dist/ | ||
# if `name: artifact` is omitted, the action will create extra parent dir | ||
name: artifact | ||
path: dist | ||
|
||
- name: Download all | ||
uses: pypa/gh-action-pypi-publish@release/v1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,11 +1,6 @@ | ||
# Python release WIP | ||
name: Build wheels | ||
# on: [push] | ||
name: build-wheels | ||
|
||
on: | ||
release: | ||
types: | ||
- published | ||
on: [pull_request] | ||
|
||
concurrency: | ||
group: ${{ github.workflow }}-${{ github.ref }} | ||
|
@@ -15,7 +10,6 @@ jobs: | |
build_wheels: | ||
name: Build wheel for ${{ matrix.python }}-${{ matrix.buildplat[1] }} | ||
runs-on: ${{ matrix.buildplat[0] }} | ||
environment: pypi | ||
strategy: | ||
# Ensure that a wheel builder finishes even if another fails | ||
fail-fast: false | ||
|
@@ -27,7 +21,7 @@ jobs: | |
- [ubuntu-20.04, manylinux_x86_64] | ||
- [ubuntu-20.04, musllinux_x86_64] # No OpenBlas, no test | ||
- [macos-12, macosx_x86_64] | ||
- [macos-12, macosx_arm64] | ||
- [macos-14, macosx_arm64] | ||
- [windows-2019, win_amd64] | ||
python: ["cp38", "cp39","cp310", "cp311","cp312"] | ||
|
||
|
@@ -37,9 +31,6 @@ jobs: | |
uses: pypa/[email protected] | ||
env: | ||
CIBW_BUILD: ${{ matrix.python }}-${{ matrix.buildplat[1] }} | ||
- uses: actions/upload-artifact@v3 | ||
with: | ||
path: ./wheelhouse/*.whl | ||
|
||
build_sdist: | ||
name: Build source distribution | ||
|
@@ -50,27 +41,3 @@ jobs: | |
- name: Build sdist | ||
shell: bash -l {0} | ||
run: pipx run build --sdist | ||
|
||
- uses: actions/upload-artifact@v3 | ||
with: | ||
path: dist/*.tar.gz | ||
|
||
upload_pypi: | ||
needs: [build_wheels, build_sdist] | ||
runs-on: ubuntu-latest | ||
# upload to PyPI on every tag starting with 'v' | ||
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') | ||
# alternatively, to publish when a GitHub Release is created, use the following rule: | ||
# if: github.event_name == 'release' && github.event.action == 'published' | ||
steps: | ||
- uses: actions/download-artifact@v3 | ||
with: | ||
# unpacks default artifact into dist/ | ||
# if `name: artifact` is omitted, the action will create extra parent dir | ||
name: artifact | ||
path: dist | ||
|
||
- uses: pypa/gh-action-pypi-publish@release/v1 | ||
with: | ||
user: __token__ | ||
password: ${{ secrets.PYPI_API_TOKEN }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
name: check-python-package | ||
|
||
on: [pull_request] | ||
|
||
concurrency: | ||
group: ${{ github.workflow }}-${{ github.ref }} | ||
cancel-in-progress: true | ||
|
||
jobs: | ||
build: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
|
||
- name: Build sdist | ||
run: | | ||
python3 -m pip install build setuptools twine | ||
python3 -m build --sdist | ||
python3 -m build --wheel | ||
twine check dist/* | ||
build_mac: | ||
runs-on: macos-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
|
||
- name: Build sdist | ||
run: | | ||
python3 -m pip install build setuptools twine | ||
python3 -m build --sdist | ||
python3 -m build --wheel | ||
twine check dist/* | ||
build_win: | ||
runs-on: windows-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
|
||
- name: Install correct python version | ||
uses: actions/setup-python@v5 | ||
with: | ||
python-version: 3.9 | ||
|
||
- name: Build sdist | ||
run: | | ||
py -m pip install build setuptools twine | ||
py -m build --sdist | ||
py -m build --wheel | ||
py -m twine check dist/* |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,6 @@ | ||
name: test-python-macos | ||
|
||
on: [push] | ||
#on: [push, pull_request] | ||
on: [push, pull_request] | ||
|
||
jobs: | ||
build: | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,6 @@ | ||
name: test-python-ubuntu | ||
|
||
on: [push] | ||
#on: [push, pull_request] | ||
on: [push, pull_request] | ||
|
||
jobs: | ||
build: | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,6 @@ | ||
name: test-python-win | ||
|
||
on: [push] | ||
#on: [push, pull_request] | ||
on: [push, pull_request] | ||
|
||
jobs: | ||
build: | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -131,6 +131,11 @@ def build_extension(self, ext: CMakeExtension) -> None: | |
["cmake", "--build", ".", *build_args], cwd=build_temp, check=True | ||
) | ||
|
||
# read the contents of your README file | ||
from pathlib import Path | ||
this_directory = Path(__file__).parent | ||
long_description = (this_directory / "README.md").read_text() | ||
|
||
# The information here can also be placed in setup.cfg - better separation of | ||
# logic and declaration, and simpler if you include description/version in a file. | ||
setup( | ||
|
@@ -140,7 +145,8 @@ def build_extension(self, ext: CMakeExtension) -> None: | |
author="HiGHS developers", | ||
author_email="[email protected]", | ||
url='https://github.com/ERGO-Code/HiGHS', | ||
long_description="", | ||
long_description=long_description, | ||
long_description_content_type='text/markdown', | ||
license = 'MIT License', | ||
ext_modules=[CMakeExtension("highspy")], | ||
cmdclass={"build_ext": CMakeBuild}, | ||
|