2021-11-03 13:22:05 +00:00
|
|
|
opam-version: "2.0"
|
2022-10-26 10:13:06 +00:00
|
|
|
maintainer: "Robur <team@robur.coop>"
|
|
|
|
authors: ["Robur <team@robur.coop>"]
|
2021-11-03 13:22:05 +00:00
|
|
|
homepage: "https://github.com/roburio/builder"
|
|
|
|
dev-repo: "git+https://github.com/roburio/builder.git"
|
|
|
|
bug-reports: "https://github.com/roburio/builder/issues"
|
|
|
|
license: "ISC"
|
|
|
|
|
|
|
|
depends: [
|
2023-05-28 13:00:19 +00:00
|
|
|
"ocaml" {>= "4.08.0" & < "5.0.0"}
|
2022-03-02 12:39:36 +00:00
|
|
|
"dune" {>= "2.0.0"}
|
2021-11-03 13:22:05 +00:00
|
|
|
"asn1-combinators"
|
2022-10-26 10:13:06 +00:00
|
|
|
"bheap" {>= "2.0.0"}
|
2021-11-03 13:22:05 +00:00
|
|
|
"bos"
|
2022-03-15 20:53:38 +00:00
|
|
|
"cmdliner" {>= "1.1.0"}
|
2022-10-26 10:13:06 +00:00
|
|
|
"cstruct" {>= "6.0.0"}
|
2021-11-03 13:22:05 +00:00
|
|
|
"duration"
|
2022-10-26 10:13:06 +00:00
|
|
|
"fmt" {>= "0.8.7"}
|
2021-11-03 13:22:05 +00:00
|
|
|
"fpath"
|
|
|
|
"logs"
|
|
|
|
"lwt"
|
|
|
|
"ptime"
|
|
|
|
"uuidm"
|
2022-11-03 14:18:17 +00:00
|
|
|
"http-lwt-client" {>= "0.2.0"}
|
2021-11-03 13:22:05 +00:00
|
|
|
"base64"
|
|
|
|
]
|
|
|
|
build: [
|
|
|
|
["dune" "subst"] {dev}
|
|
|
|
["dune" "build" "-p" name "-j" jobs]
|
|
|
|
["sh" "-ex" "packaging/FreeBSD/create_package.sh"] {os = "freebsd"}
|
|
|
|
["sh" "-ex" "packaging/debian/create_package.sh"] {os-family = "debian"}
|
|
|
|
]
|
|
|
|
|
|
|
|
synopsis: "Scheduling and executing shell jobs"
|
2022-10-26 10:13:06 +00:00
|
|
|
description: """
|
|
|
|
The builder server has a schedule of jobs to be executed, stored persistently
|
|
|
|
on disk. Any number of workers can connect via TCP (using ASN.1 encoded
|
|
|
|
messages) that execute a single job -- usually contained in a sandbox (FreeBSD
|
|
|
|
jail or Docker container). A client is a command-line interface to modify the
|
|
|
|
schedule. Access control is out of scope - run it locally on your build host.
|
|
|
|
The server receives the output artifacts of each job, and either stores them
|
|
|
|
on the local file system or upload them to a remote server via http.
|
|
|
|
|
|
|
|
See https://builds.robur.coop for the live web frontend (builder-web).
|
|
|
|
"""
|
2021-11-03 13:22:05 +00:00
|
|
|
url {
|
|
|
|
src: "git+https://github.com/roburio/builder.git"
|
|
|
|
}
|