Skip to content
Fast and lightweight Continuous Integration
C++ JavaScript HTML Shell CMake XSLT Other
Branch: master
Clone or download

Latest commit

ohwgiles add missing #includes
New compiler version exposed missing header files

resolves #123
Latest commit 6c61fb3 May 22, 2020

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
docker resolves #102: example Dockerfile to build laminar docker image Sep 19, 2019
etc install laminard in usr/sbin not usr/bin Dec 13, 2019
example-scripts quote args to xsltproc Sep 20, 2015
pkg centos pkg fix: laminard in sbin Dec 31, 2019
src add missing #includes May 21, 2020
test allow setting a job description Dec 25, 2019
CMakeLists.txt job leader process Dec 23, 2019
COPYING Added GPLv3 license file. Oct 11, 2017
README.md readme: add sentence about contributing Dec 13, 2019
UserManual.md Add the ability to customize index.html (#113) Mar 10, 2020

README.md

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 Buster, this can be done with:

sudo apt install \
		 capnproto cmake g++ libboost-dev libcapnp-dev libsqlite-dev libsqlite3-dev make 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=/
make -j4
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.

You can’t perform that action at this time.