pirant icon indicating copy to clipboard operation
pirant copied to clipboard

Build and deploy

Open deepbrook opened this issue 7 years ago • 2 comments

As mentioned in #30, the repo could do with some automated building.

I have add this support to the .travis.yml file. I have also added the us of build stages, which makes use of concurrent execution of jobs, which may help improve the speed of CI checks.

the Deploy stage executes only for python 3.6, and creates a bdist_wheel, which I believe to be universally installable. Correct me if I'm wrong here, I'm not well read on the differences of the distributions.

In order to avoid building and pushing to pypi on every push, the conditional tags: true was added - that way, it is only built if you push a tagged commit.

The password for pypi should be encrypted using the travis CLI - since I'm guessing you won't want to share your pypi password with the world ;) see here for more information about this: https://docs.travis-ci.com/user/deployment/pypi/

Let me know what you think!

deepbrook avatar Nov 23 '17 11:11 deepbrook

Coverage Status

Coverage remained the same at 100.0% when pulling fe619243c1d1d2ea2c8229271e6815df0bb984d1 on nlsdfnbch:build-and-deploy into 9ec91cc8474353e2e9dc39d134c616924319caa9 on aayush26:master.

coveralls avatar Nov 23 '17 11:11 coveralls

Hi @nlsdfnbch Extremely sorry for my super late review. Since, its christmas time(peak season), didn't get time for my personal project. I am new to travis ci build features and needed some time to read about it also and here are my following reviews:

  1. Can you create another parallel job to lint & deploy for Python2(2.7) also? So, people can download version either for 2.7 or 3.6. (Let me know if any PyPi exclusive config change is required external to travis.yml)

  2. (This can be addressed later. More sort of asking for opinion on organizing and improving tests and reducing build time) Should we use different test suite for python2(2.7) and python3(3.6)?{Will improve build time by running parallely} And then use build matrix 'matrix:'? Though I am confused when to use Jobs and matrix. Already an open issue to travis-ci regarding it (https://github.com/travis-ci/docs-travis-ci-com/issues/1500) Eg:

language: python
matrix:
  include:
  - python: "2.7"
    env: TEST_SUITE=suite_2_7
  - python: "3.6"
    env: TEST_SUITE=suite_3_6
  - python: "pypy"
    env: TEST_SUITE=suite_pypy
script: ./test.py $TEST_SUITE

Source: https://docs.travis-ci.com/user/customizing-the-build/#Build-Matrix

aayush26 avatar Dec 24 '17 13:12 aayush26