1
0
mirror of https://github.com/ohwgiles/laminar.git synced 2024-10-27 20:34:20 +00:00
Go to file
Oliver Giles 3cc01bc45d Better average line in Build time graph
The technique to display the average line in the old Chart.js
does not look so great in the new version. Take a different
approach using a plugin instead.
2022-11-18 19:47:59 +13:00
docker cmake: more appropriate use of CMAKE_INSTALL_PREFIX 2020-06-20 15:59:35 +12:00
etc manpage: fix synopsis queue/start/run 2022-01-22 15:18:43 +13:00
examples nginx example: trailing slash on proxy_pass argument 2022-01-22 15:18:43 +13:00
pkg pkg: move to debian 11 (bullseye) 2022-01-28 19:28:30 +13:00
src Better average line in Build time graph 2022-11-18 19:47:59 +13:00
test test: assert on >= 5 rather than strictly == 2022-01-28 19:44:40 +13:00
CMakeLists.txt Update Chart.js to version 3.9 2022-11-18 19:47:59 +13:00
COPYING Added GPLv3 license file. 2017-10-11 09:56:26 +02:00
README.md docs: update references to current distro versions 2021-08-04 12:03:38 +12:00
UserManual.md allow adding job to front of queue 2022-01-22 15:18:43 +13:00

Laminar CI status

Laminar (https://laminar.ohwg.net) is a lightweight and modular Continuous Integration service for Linux. It is self-hosted and developer-friendly, eschewing a configuration UI in favour of simple version-controllable configuration files and scripts.

Laminar encourages the use of existing GNU/Linux tools such as bash and cron instead of reinventing them.

Although the status and progress front-end is very user-friendly, administering a Laminar instance requires writing shell scripts and manually editing configuration files. That being said, there is nothing esoteric here and the guide should be straightforward for anyone with even very basic Linux server administration experience.

See the website and the documentation for more information.

Building from source

First install development packages for capnproto (version 0.7.0 or newer), rapidjson, sqlite and boost (for the header-only multi_index_container library) from your distribution's repository or other source.

On Debian Bullseye, this can be done with:

sudo apt install \
		 capnproto cmake g++ libboost-dev libcapnp-dev libsqlite3-dev rapidjson-dev zlib1g-dev

Then compile and install laminar with:

git clone https://github.com/ohwgiles/laminar.git
cd laminar
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr
make -j "$(nproc)"
# Warning: the following will overwrite an existing /etc/laminar.conf
sudo make install

make install includes a systemd unit file. If you intend to use it, consider creating a new user laminar or modifying the user specified in the unit file.

Packaging for distributions

The pkg directory contains shell scripts which use docker to build native packages (deb,rpm) for common Linux distributions. Note that these are very simple packages which may not completely conform to the distribution's packaging guidelines, however they may serve as a starting point for creating an official package, or may be useful if the official package lags.

Contributing

Issues and pull requests via GitHub are most welcome. All pull requests must adhere to the Developer Certificate of Origin.