Giter Site home page Giter Site logo

get-pip needs some tests about get-pip HOT 13 CLOSED

pfmoore avatar pfmoore commented on August 17, 2024 1
get-pip needs some tests

from get-pip.

Comments (13)

pradyunsg avatar pradyunsg commented on August 17, 2024 1

pip's tests also run everyday - a "cron" job on Travis.

So, I feel we should have it here too. It's just a switch in the UI so, that's not anything major IMO.

from get-pip.

pradyunsg avatar pradyunsg commented on August 17, 2024

Quoting myself from IRC:

How does a "cron job" on Travis CI for the get-pip repo to run some basic sanity checks? I guess it could check against pip's master periodically that way and we'd have something to use as a tester after actually generating it.

Thoughts?

from get-pip.

pfmoore avatar pfmoore commented on August 17, 2024

We'd also need something on appveyor to cover the Windows one I mentioned. Not sure if appveyor also has cron jobs, but if so then yes. We'd need to work out how such a job would trigger a notification, too...

An alternative would be to add a "regenerate and run get-pip" step to the pip test suite. But that may be complicated.

from get-pip.

pfmoore avatar pfmoore commented on August 17, 2024

Step 1 should probably simply be to write some scripts that test get-pip. Even if they have to be run manually in the first instance, we can work on integrating them into CI once we have them :-)

from get-pip.

dstufft avatar dstufft commented on August 17, 2024

I normally manually test them when I regenerate them, which is not great.

from get-pip.

hugovk avatar hugovk commented on August 17, 2024

If you are the maintainer of OSS project and your CI workflow requires scheduled builds contact AppVeyor team and briefly describe your needs to request this feature.

https://www.appveyor.com/blog/2017/11/08/sheduled-builds-for-free-accounts/

https://www.appveyor.com/docs/build-configuration/#scheduled-builds

from get-pip.

pfmoore avatar pfmoore commented on August 17, 2024

Some further notes, on what's needed here.

  1. Most of the changes that actually break get-pip.py are changes to pip. We do not want to encounter those issues when we build get-pip.py during a release. So a test done here has a number of issues: (a) it flags up the problem way too late, and (b) it doesn't pinpoint which pip change broke get-pip.py.
  2. Even generate.installer only builds get-pip.py from released versions on PyPI. What is actually wanted from a test is a build of get-pip from a local version of pip.
  3. We should think carefully about what versions of Python we test on. The copies of get-pip.py for Python 2.6 and 3.2 are static, in terms of not changing when new pip versions get released, so we shouldn't test those versions against pip changes.
  4. Having automated tests that can be run when building a release, basically automating what @dstufft described above, would be good. See #31 for my initial take on that. Putting such tests into CI is quite probably not the right thing to do (I doubt it would do any actual harm, but I'm not sure it would help much, either).

For the record, just because I created the issue here didn't mean that I felt that CI on this repository was the answer - and the above comments explain why.

My plan is as follows:

  1. Get the tests in #31 tidied up and maybe extended a little. Merge that to provide a standard, but manual, way of checking that "all is OK".
  2. Look at adding a functional test to pip's test suite that creates a get-pip.py and tests that it works.
  3. Consider whether adding the tests from (1) should be added to Travis and Appveyor.

from get-pip.

webknjaz avatar webknjaz commented on August 17, 2024

We can do (2) and run that specific test on daily basis with travis.

from get-pip.

webknjaz avatar webknjaz commented on August 17, 2024

(4) As an end-user I would like to see some proof that it's not broken right in my browser w/o needing to understand how to set up env locally and run those tests.

from get-pip.

pfmoore avatar pfmoore commented on August 17, 2024

So your (4) for me counts as a vote in favour of my (3).

We can do (2) and run that specific test on daily basis with travis.

Pip's tests run on every commit and PR. No need for daily runs as well.

from get-pip.

webknjaz avatar webknjaz commented on August 17, 2024

@pfmoore @pradyunsg also note that with Build Stages feature there's an if-clause support on stage/job definition levels, which allows to run completely different set of jobs/stages depending on whether it's normal build or it's cron/API/PR-triggered.

from get-pip.

pradyunsg avatar pradyunsg commented on August 17, 2024

#37 is something that tells me that we need to do this ASAP. :)

from get-pip.

pradyunsg avatar pradyunsg commented on August 17, 2024

I think this is resolved with #85.

from get-pip.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.