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

Updates to CI config & general project config #28

Merged
merged 2 commits into from
Jun 9, 2020
Merged

Updates to CI config & general project config #28

merged 2 commits into from
Jun 9, 2020

Conversation

JWCook
Copy link
Member

@JWCook JWCook commented Jun 9, 2020

Closes Issue #28.

Deployments

  • Update Travis CI config to automatically build & deploy packages to PyPi for tagged releases
    • Note: using an encrypted token under my PyPi account for deployment (which is what Travis recommends)
  • Update 'Infrastructure' section and merge into 'Contributing' section

Test Coverage

Other CI Config

  • Rename flake8 env from style to lint
  • Add black --check to style env
  • Relax black a bit with a max line length of 100
  • Run style env in Travis CI
  • Run mypy env in Travis CI
  • Fix a couple type annotation issues reported by mypy (oops!)
  • Update 3.8-dev env to 3.8
  • Run coverage, style, mypy, and coveralls only once, in a separate CI job under py3.8

General Config

  • Require setuptools
  • Use setuptools.find_packages()
  • Import existing __version__ to specify setuptools version
  • Move static project metadata from setup.py to setup.cfg (which supports slightly cleaner syntax for metadata)
  • Let's call the development stage 'Alpha' now instead of 'Pre-Alpha'
  • Remove python 3.3 from classifiers (not tested/supported)
  • Move MOCK_RESPONSE out of constants.py, which is imported by
    __init__.py. Otherwise, the external import (requests) would cause, for example,
    python setup.py --version to fail outside a virtualenv

@JWCook
Copy link
Member Author

JWCook commented Jun 9, 2020

29 builds and several hours later... Travis + tox are finally doing all the things listed above, and without any ugly bash hacks required.

@JWCook JWCook marked this pull request as ready for review June 9, 2020 23:52
Deployments
==============================
* Update Travis CI config to automatically build & deploy packages to PyPi for tagged releases
    * Note: using an encrypted token under my PyPi account for deployment (which is what Travis recommends)
* Update 'Infrastructure' section and merge into 'Contributing' section

Test Coverage
==============================
* Register pyinaturalist on coveralls: https://coveralls.io/github/niconoe/pyinaturalist
* Add coverage report using `pytest-cov`
* Send test coverage results to coveralls
* Add a shiny new coveralls badge to README

Other CI Config
==============================
* Rename `flake8` env from `style` to `lint`
* Add `black --check` to `style` env
* Relax black a bit with a max line length of 100
* Run `style` env in Travis CI
* Run `mypy` env in Travis CI
* Fix a couple type annotation issues reported by mypy (oops!)
* Update `3.8-dev` env to `3.8`
* Run `coverage`, `style`, `mypy`, and `coveralls` only once, in a separate CI job under py3.8

General Config
==============================
* Require `setuptools`
* Use `setuptools.find_packages()`
* Import existing `__version__` to specify `setuptools` version
* Move static project metadata from `setup.py` to `setup.cfg`
  (which supports slightly cleaner syntax for metadata)
* Let's call the development stage 'Alpha' now instead of 'Pre-Alpha'
* Remove python 3.3 from classifiers (not tested/supported)
* Move `MOCK_RESPONSE` out of `constants.py`, which is imported by
  `__init__.py`. Otherwise, the external import (`requests`) would cause, for example,
  `python setup.py --version` to fail outside a virtualenv
@JWCook JWCook merged commit 02faac0 into pyinat:dev Jun 9, 2020
@JWCook JWCook deleted the ci-config-updates branch June 9, 2020 23:55
JWCook added a commit that referenced this pull request Jun 9, 2020
 Updates to CI config & general project config
@JWCook JWCook added this to the v0.10 milestone Sep 25, 2020
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.

Add test coverage report, auto-deploy packages for tagged releases, and other CI updates
1 participant