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

CI/CD Improvements, ToDos, and Wishlist #592

Open
juarezr opened this issue Feb 1, 2022 · 0 comments · Fixed by #593
Open

CI/CD Improvements, ToDos, and Wishlist #592

juarezr opened this issue Feb 1, 2022 · 0 comments · Fixed by #593
Labels
Build CI CD Issues affecting github pypi readthedocs coveralls conda-forge Maintainability Issues for code modernization, improve development, testing

Comments

@juarezr
Copy link
Member

juarezr commented Feb 1, 2022

Overview

The CI/CD is a fundamental piece for assuring petl quality and avoiding regressions.

It helps us with the following boring tasks:

  • Testing Pull Requests before merging into master branch:
    • Testing from python 2.7 up to 3.10
    • Assuring line coverage does not regress
    • Testing integrations with other libs as:
      • fsspec for reading/writing to/from remote filesystems like network drives and cloud-scale buckets/filesystems
      • SQLAlchemy for reading/writing to/from Databases
      • Many file formats like: xls, avro, bcolz, etc..
  • Making releases to:
  • PyPI
  • Conda Forge
  • readthedocs.org

Status

These tests are executed with success in Github Actions:

python pytest doctests formats database remote sphinx library failure
2.7 all none
3.6 all mac/linux mac/linux linux
3.7 all mac/linux mac/linux linux bcolz
3.8 all mac/linux mac/linux linux linux linux bcolz
3.9 all mac/linux mac/linux linux bcolz
3.10 all mac/linux mac/linux numpy

Improvements

Topics thas worth exploring and evolving to enhance testing experience:

  • Expand the coverage test kinds in more python versions and OS.
  • Run more kinds of tests on Windows if possible: doctests, formats, database, remote
  • Use tox in CI instead of directly calling pytest for ensuring that local testing behaves as in CI
  • Remove unused tests clutter in tox.ini
  • Create a docker-compose for provisioning database and filesystem for testing on local computer and CI
  • Explore more ideas for assuring we can catch regressions.
  • Discontinue AppVeyor as similar Windows testing is available in Github Actions
  • Make doctests generate example.* files in a temp folder instead of git clone root.

Problems

  • Windows only executes pytest with basic python/petl tests
  • The release CD was running on travis-ci.org which was discontinued.
@juarezr juarezr added Build CI CD Issues affecting github pypi readthedocs coveralls conda-forge Maintainability Issues for code modernization, improve development, testing labels Feb 1, 2022
@juarezr juarezr linked a pull request Feb 2, 2022 that will close this issue
16 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Build CI CD Issues affecting github pypi readthedocs coveralls conda-forge Maintainability Issues for code modernization, improve development, testing
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant