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

Modernize build #16

Merged
merged 17 commits into from
Jun 3, 2021
Merged

Conversation

randomir
Copy link
Member

@randomir randomir commented May 20, 2021

In this PR we:

  • move package metadata to setup.cfg
  • introduce project_urls
  • deprecate package_info submodule, but provide a dynamically generated shim for backwards compatibility
  • define build system via pyproject.toml according to PEP-517/PEP-518
  • move coverage tool configuration to pyproject.toml (add other tools when they support it)
  • build manylinux1 (pip >= 8.1.0) manylinux2014 (pip >= 19.3)
  • drop linux i686 wheels
  • drop appveyor in favor of circleci
  • synchronize deploy to pypi (no more partial deploys)
  • do not introduce abi3 wheels (because cython doesn't support "limited python api" yet; it should in cython 3)
  • do not introduce arm64 wheels, since circleci does not support running custom docker images (i.e. manylinux2014_aarch64) on ARM hosts, only a predefined list of ubuntu images, see Ship arm64 wheels dwave-ocean-sdk#126

Simplifies `setup.py`.
Cythonizes always when installed from source.
Required `pip>=10.0` to install from source.
Older pips will still be able to install from wheels.
Note the setup() includes only dynamically generated options.

GitHub seems to have recently fixed their dependency scanning to look
at setup.cfg (dependabot/dependabot-core#3423).
Possibly not deployed to GitHub yet.
@randomir randomir force-pushed the feature/modernize-build branch 2 times, most recently from 52ef9ee to 7d24371 Compare May 20, 2021 16:57
@codecov-commenter

This comment has been minimized.

@randomir randomir force-pushed the feature/modernize-build branch 24 times, most recently from 8f427e4 to 726f7ae Compare May 26, 2021 20:26
@randomir randomir force-pushed the feature/modernize-build branch 10 times, most recently from 596b825 to ad8e299 Compare May 31, 2021 23:09
@randomir randomir marked this pull request as ready for review May 31, 2021 23:34
setup.cfg Outdated Show resolved Hide resolved
@randomir randomir merged commit 84061bf into dwavesystems:master Jun 3, 2021
@randomir randomir deleted the feature/modernize-build branch June 3, 2021 13:53
randomir added a commit that referenced this pull request Jun 28, 2021
New Features
---

- Added `num_steps` data vector to returned sampleset (#17)

Fixes
---

- Modernized setup and build pipeline (#16)
  - Package metadata moved to setup.cfg
  - Use PEP-517/PEP-518 build system via pyproject.toml
  - Dropped 32-bit/i686 manylinux wheels
  - Added manylinux2014 wheels
  - Dropped AppVeyor in favor of CircleCI
  - Synchronized deploys
  - New CI workflow (build dist -> install from dist -> test)

- Simplified and standardized CI by extracting common commands
  and jobs to dwave/ocean orb (#19)

Changes
---

- Dropped python 3.5 support (#15)
- Deprecated `greedy.package_info` submodule (#16)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants