Giter Club home page Giter Club logo

try_repo's Introduction

try_repo : ALPHA status forever

Build Status

  • Dummy repo to test Travis CI and GitHub continuous integration.
  • Create test environment for Python and Miniconda.
    • Prepare code for migration from python27 to python3.
  • Test Travis for pip versus conda installations.
  • Use pytest for unit testing.
  • Use flake8 for Python linting.
  • Find essential and minimal requirements for successful build.

Programming Travis

The Travis continuous integration process is summed up in a dot file called .travis.yml to be placed at the top directory within a git repository. There are some useful tricks in writing such a YAML file, especially where a complex scientific stack is needed. For the Python ecosystem, the Anaconda distribution saves us from the hell of dependencies which involves binaries necessary for computational speed. We shall install miniconda prior to installing only what is essential to a particular project. See our https://git.io/travis for a reasonable example.

Travis is agnostic about the testing utilities. We could have alternatively used nose and pylint, instead of pytest and flake8.

Travis is run on containers and virtual machines based on Ubuntu (14.04 has code name trusty), so the scripting within the YAML file are shell commands.

Build status

Watch the status of interim builds at https://travis-ci.org/MathSci/try_repo/builds

Why ALPHA status forever? There will be many fails to determine whether the tests and jobs are actually detecting intentional errors. Find the last successful build to retrieve a reliable .travis.yml file to serve as your starting point.

Tip: What you learn from a successful Travis build can also be used to write an effective Docker container file.

The summary logs will show how specific utilities, such as pytest and flake8, report back to Travis. The raw logs are interesting if you need to see the fine details of the various installations.

References


Last update : 2018-04-09

try_repo's People

Contributors

rsvp avatar

Stargazers

 avatar

Watchers

 avatar  avatar

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.