Giter Club home page Giter Club logo

Comments (10)

bfulton avatar bfulton commented on July 2, 2024

We're using vcr to record interactions with a single version of Docker then replaying during the Travis CI build. Depending on speed, testing against a real Docker Remote API and multiple versions could be a great direction. What is the state of Travis support for Docker? If it's there, can it be made to work with the build matrix feature?

from docker-api.

svenfuchs avatar svenfuchs commented on July 2, 2024

Ah, yeah, using vcr of course makes sense, too, especially since API payloads won't change for any released verison of Docker. You could still apply the same for a matrix of different docker versions to run against.

The basic idea is to make your test suite depend on an env var like DOCKER_VERSION and either

  • run against that Docker version live or
  • run against vcr cassettes recorded for that Docker version

If you don't want to record vcr cassettes for different Docker versions then you could install the required Docker version in a before_script on Travis CI, something like sudo apt-get update; sudo apt-get install lxc-docker-$DOCKER_VERSION.

Since you already have vcr in place I'd personally probably go for the pre-recorded approach for ease of development though.

Does that make sense?

from docker-api.

bfulton avatar bfulton commented on July 2, 2024

Yes, great feedback, thanks.

In the short term, we should upgrade our Remote API version, preferably to 1.8. That solved the equivalent issue for docker-py.

I like the idea of continuing to use vcr for the DOCKER_VERSION that we're developing against, and trying out live Docker on Travis CI for different values. Created #84.

Depending on how that goes, we could eventually look at whether vcr is still necessary.

from docker-api.

svenfuchs avatar svenfuchs commented on July 2, 2024

@bfulton Awesome, sounds great. Please let us know if there's anything we can help with.

❤️

from docker-api.

logicminds avatar logicminds commented on July 2, 2024

Note that api version 1.9 is available in Docker 0.8. Do we have any expected timeline for completing this API upgrade?

from docker-api.

bfulton avatar bfulton commented on July 2, 2024

Understood. Since 1.8 is listed as latest stable, we'll target that now. ETA for released upgrade is this week.

from docker-api.

janstenpickle avatar janstenpickle commented on July 2, 2024

I have a fork where I'm trying to get api version 1.9 to work with all the tests. It seems 0.8 is a pretty buggy release, as a number of things don't seem to work. I've encountered a couple of bugs already: moby/moby/issues/4099 and moby/moby/issues/1141.

Looks like we may have to wait for 0.8.1 for some of these things to be fixed.

from docker-api.

nahiluhmot avatar nahiluhmot commented on July 2, 2024

This should be fixed with this pull.

from docker-api.

janstenpickle avatar janstenpickle commented on July 2, 2024

Awesome, beat me to it! 😄

from docker-api.

nahiluhmot avatar nahiluhmot commented on July 2, 2024

Tested against live docker, closing this issue.

from docker-api.

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.