• Stars
    star
    126
  • Rank 275,629 (Top 6 %)
  • Language
    OCaml
  • License
    Apache License 2.0
  • Created almost 5 years ago
  • Updated 10 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Keeps things up-to-date (a CI/CD pipeline OCaml eDSL)

OCurrent

OCaml-CI Build Status

OCurrent allows you to specify a workflow / pipeline for keeping things up-to-date.

For example, the pipeline shown above fetches the head of a GitHub repository's master branch, builds it, runs the tests, and deploys the binary if the tests pass. When a new commit is pushed, it runs the pipeline again.

Another use might be to keep the GitHub build status of each PR in your Git repository showing the result of fetching, building and testing the PR's head commit. If the head commit changes, the result must be recalculated.

An OCurrent pipeline is written using an OCaml eDSL. When OCurrent evaluates it, it records the inputs used (e.g. the current set of open PRs and the head of each one), monitors them, and automatically recalculates when an input changes.

Larger uses of OCurrent include the OCaml Docker base image builder and ocaml-ci, which is the CI that tests this repository itself.

Documentation

The OCurrent docs contains user documentation and examples. In particular, you might like to start by reading about the example pipelines or how to write your own plugins.

For technical docs, see the API Documentation.

Licensing

OCurrent is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.

More Repositories

1

ocaml-ci

A CI for OCaml projects
OCaml
100
star
2

ocaml-dockerfile

OCaml interface for creating Dockerfiles
OCaml
64
star
3

bun

tired of typing afl-fuzz? try bun!
OCaml
51
star
4

obuilder

Experimental "docker build" alternative using btrfs/zfs snapshots
OCaml
41
star
5

opam-dune-lint

Ensure dune and opam dependencies are consistent
OCaml
36
star
6

current-bench

Experimental benchmarking infrastructure using OCurrent pipelines
ReScript
33
star
7

ocluster

Distribute CI builds to worker nodes over Cap'n Proto
OCaml
32
star
8

docker-base-images

Generate various Docker ocaml images
OCaml
28
star
9

clarke

OCaml
26
star
10

ocurrent-deployer

A pipeline that deploys unikernels and other services
OCaml
21
star
11

opam-health-check

A toolchain to check for broken opam packages
OCaml
20
star
12

current_incr

Self-adjusting computations
OCaml
17
star
13

opam-repo-ci

An OCurrent pipeline for testing submissions to opam-repository
OCaml
17
star
14

ocaml-docs-ci

CI building documentation for ALL versions of ALL packages !
OCaml
17
star
15

citty

CI in tty
OCaml
16
star
16

overview

A brief overview of the main CI services
12
star
17

solver-service

An OCurrent service for solving opam dependencies
OCaml
12
star
18

ansi

ANSI escape sequence parser
HTML
9
star
19

ocaml-version

Library to parse and enumerate releases of the OCaml compiler
OCaml
9
star
20

macos-infra

MacOS Infrastructure for OCaml
Shell
8
star
21

mirage-ci

Ocurrent-based CI for MirageOS
OCaml
8
star
22

ocurrent-skeleton

A minimal OCurrent pipeline template
OCaml
7
star
23

ocaml-multicore-ci

OCurrent CI for multicore OCaml trees
OCaml
6
star
24

multicoretests-ci

Multi-platform CI for the OCaml compiler
OCaml
5
star
25

ocurrent.org

Website for ocurrent
OCaml
3
star
26

obuilder-fs

The filesystem for making macOS work with OBuilder
C
2
star
27

caddy-rfc2136

Caddy with RFC2136 support
Dockerfile
1
star
28

ocurrent-observer

Systems health check using OCurrent
OCaml
1
star
29

ocurrent.github.io

Storage for the ocurrent.org website. See https://github.com/ocurrent/ocurrent.org.
HTML
1
star
30

freebsd-infra

FreeBSD Infrastructure for OCaml
Shell
1
star