Giter Site home page Giter Site logo

autoci's Introduction

What is this?

A few tools for automatically handling cloud CI tests for projects that use opam.

Why would I want this?

  • For a given repository, you want to generate cloud CI configurations that:
    • test that your software can be correctly installed/removed completely by opam
    • see whether any tests you run on your software passed or failed
  • For a given repository, you want to ensure that:
    • each package with an opam file in the repository will have its installation tested by cloud CI
    • each package with defined tests will have those tests run by cloud CI
    • each package with declared test dependencies has tests which cloud CI might know how to run

How do I use it?

The top-level autoci command-line tool exposes a --help option which is most likely to be up-to-date. The subcommands which currently exist are:

  • travis for automatically generating Travis CI configurations from opam files
  • appveyor for automatically generating Appveyor configurations from opam files
  • travis_to_appveyor for generating Appveyor configurations from Travis configurations
  • lint for checking whether Travis CI configurations are sensible

Both tools can take arguments for opam files and cloud CI configurations to consider; if those arguments are omitted, they will attempt to discover them in the current directory. For example, one might use autoci travis to generate a Travis CI configuration for autoci itself:

๐Ÿซ  ~/autoci$ _build/default/src/autoci.exe travis 
language: c
install: wget https://raw.githubusercontent.com/ocaml/ocaml-ci-scripts/master/.travis-docker.sh
script: bash -ex .travis-docker.sh
services:
- docker
env:
  global:
  - PINS="autoci:."
  - DISTRO="debian-stable"
  matrix:
  - PACKAGE="autoci" OCAML_VERSION="4.03.0"
  - PACKAGE="autoci" OCAML_VERSION="4.04.2"
  - PACKAGE="autoci" OCAML_VERSION="4.05.0"
  - PACKAGE="autoci" OCAML_VERSION="4.06.0"

or use lint to check whether a complex project is testing everything it should be:

๐Ÿซ  ~/mirage-net-xen$ ~/autoci/_build/default/src/autoci.exe lint
Packages whose installation is not tested (add them to the matrix): netchannel

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.