Add initial dockerfile support

This provides a simple way to do quick cross-platform verification
of changes.

`make docker-debian` will build a debian image and run the tests
`make docker-fedora` will build a fedora image and run the tests
pull/38/head^2
Michael Thorpe 6 years ago committed by Jeff Becker
parent 080c0da4a0
commit 01445399f0
No known key found for this signature in database
GPG Key ID: F357B3B42F6F9B05

@ -0,0 +1 @@
build/

@ -7,7 +7,7 @@ REPO := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
PREFIX ?= /usr/local
CC ?= cc
CC ?= cc
CXX ?= c++
SETCAP ?= which setcap && setcap cap_net_admin=+eip
@ -68,7 +68,7 @@ debug-configure:
$(CONFIG_CMD) -DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_COMPILER=$(CC) -DCMAKE_CXX_COMPILER=$(CXX) -DDNS_PORT=$(DNS_PORT) -DCMAKE_ASM_FLAGS='$(ASFLAGS)' -DCMAKE_C_FLAGS='$(CFLAGS)' -DCMAKE_CXX_FLAGS='$(CXXFLAGS)'
release-configure: clean
mkdir -p '$(BUILD_ROOT)'
mkdir -p '$(BUILD_ROOT)'
$(CONFIG_CMD) -DSTATIC_LINK=ON -DCMAKE_BUILD_TYPE=Release -DRELEASE_MOTTO="$(shell cat motto.txt)" -DCMAKE_C_COMPILER=$(CC) -DCMAKE_CXX_COMPILER=$(CXX) -DCMAKE_ASM_FLAGS='$(ASFLAGS)' -DCMAKE_C_FLAGS='$(CFLAGS)' -DCMAKE_CXX_FLAGS='$(CXXFLAGS)'
debug: debug-configure
@ -118,7 +118,7 @@ shared-configure: clean
shared: shared-configure
$(MAKE) -C $(BUILD_ROOT)
testnet:
testnet:
cp $(EXE) $(TESTNET_EXE)
mkdir -p $(TESTNET_ROOT)
python3 contrib/testnet/genconf.py --bin=$(TESTNET_EXE) --svc=$(TESTNET_SERVERS) --clients=$(TESTNET_CLIENTS) --dir=$(TESTNET_ROOT) --out $(TESTNET_CONF) --connect=4
@ -142,6 +142,12 @@ lint: $(LINT_CHECK)
%.cpp-check: %.cpp
clang-tidy $^ -- -I$(REPO)/include -I$(REPO)/crypto/libntrup/include -I$(REPO)/llarp
docker-debian:
docker build -f docker/debian.Dockerfile .
docker-fedora:
docker build -f docker/fedora.Dockerfile .
install:
rm -f $(PREFIX)/bin/lokinet
cp $(EXE) $(PREFIX)/bin/lokinet

@ -0,0 +1,10 @@
FROM debian:latest
RUN apt update && \
apt install -y build-essential cmake git libcap-dev wget rapidjson-dev
WORKDIR /src/
COPY . /src/
RUN make -j 8 JSONRPC=ON

@ -0,0 +1,11 @@
FROM fedora:latest
RUN dnf update -y && \
dnf upgrade -y && \
dnf install -y cmake make git gcc gcc-c++ libcap-devel wget rapidjson-devel
WORKDIR /src/
COPY . /src/
RUN make -j8 JSONRPC=ON
Loading…
Cancel
Save