Giter Site home page Giter Site logo

Comments (4)

danielquinn avatar danielquinn commented on July 23, 2024

Should a CI system be introduced?

Absolutely. I was looking into Travis CI just this morning actually.

What exactly are the requirements for the CI?

I'd like it to (at least) run a complete unit test suite, but testing the Dockerfile would also be nice. So long as I can develop and run my unit tests without having to use Docker, I'm cool with it.

Is Travis CI a decent choice? Are there better alternatives?

I've used Travis on other projects and found the GitHub integration to be excellent. I can't speak for alternatives though.

Do we want to cover the Dockerfile and the Vagrantfile?

The stickler in me says that if we're going to develop something and document it, it should be tested in the CI. I say this however knowing full well that there are currently exactly two tests for the whole application, so obviously there's a lot of work to be done here.

To be honest, I don't have a lot of experience writing tests for a Django app (yes, I'm a bad, bad man). I've written lots of tests for Python projects, but for higher-level stuff using a database and externalities like Tesseract and ImageMagick, I'm somewhat sketchy on what can be done for appropriate test coverage. If you, or anyone else have advice, examples, or even pull requests to fill this gap, it would be appreciated.

I'll leave this issue open for a few days to see if anyone else wants to offer insight. If I don't hear anything, I'll setup Travis CI and tell it to execute ./manage.py test.

from paperless.

pitkley avatar pitkley commented on July 23, 2024

[...] testing the Dockerfile would also be nice. So long as I can develop and run my unit tests without having to use Docker, I'm cool with it.

This is definitely an important point: We should add Docker as another way to do things, but not to replace the existing ways and local workflows.

The stickler in me says that if we're going to develop something and document it, it should be tested in the CI. I say this however knowing full well that there are currently exactly two tests for the whole application, so obviously there's a lot of work to be done here.

This is definitely a point to expand on, but introducing CI which not only covers the unittests themselves, but also the two additional runtime-environments we support seems like a good way to move forward.

I'll leave this issue open for a few days to see if anyone else wants to offer insight. If I don't hear anything, I'll setup Travis CI and tell it to execute ./manage.py test.

Sounds reasonable. When you have added and configured Travis, I'll update the Docker PR #39 to update the .travis.yml file similar to how I have already tested it.

from paperless.

danielquinn avatar danielquinn commented on July 23, 2024

I know it's late, but I just added a .travis.yml file and setup Travis CI as a webhook. I had to fiddle with the tox configuration a bit because of where I've placed directories etc, but I think it's ok. If you have a cleaner/better way, feel free to issue a PR.

from paperless.

stgarf avatar stgarf commented on July 23, 2024

Looks like #509 may at least satisfy the Docker part of this three year old issue once it is merged.

from paperless.

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.