Verified Commit 5e819f15 authored by Marc Vef's avatar Marc Vef
Browse files

Gitlab CI and docker updates

Also, add procps package to gekkofs/core
parent f246f9eb
Loading
Loading
Loading
Loading
+9 −9
Original line number Diff line number Diff line
@@ -22,14 +22,14 @@ variables:
  GIT_SUBMODULE_STRATEGY:       recursive

# base image
image: gekkofs/core:0.8.0
image: gekkofs/core:0.9.0

################################################################################
## Validating
################################################################################
check format:
  stage: lint
  image: gekkofs/linter:0.8.0
  image: gekkofs/linter:0.9.0
  needs: []
  script:
    - ${SCRIPTS_DIR}/check_format.sh
@@ -43,7 +43,7 @@ check format:
################################################################################
gkfs:
  stage: build
  image: gekkofs/deps:0.8.0
  image: gekkofs/deps:0.9.0
  interruptible: true
  needs: []
  script:
@@ -68,7 +68,7 @@ gkfs:

gkfwd:
  stage: build
  image: gekkofs/deps:0.8.0
  image: gekkofs/deps:0.9.0
  interruptible: true
  needs: []
  script:
@@ -101,7 +101,7 @@ gkfwd:
## == tests for scripts ====================
scripts:
  stage: test
  image: gekkofs/testing:0.8.0
  image: gekkofs/testing:0.9.0
  needs: []
  parallel:
    matrix:
@@ -119,7 +119,7 @@ scripts:
## == integration tests for gkfs ===========
gkfs:integration:
  stage: test
  image: gekkofs/testing:0.8.0
  image: gekkofs/testing:0.9.0
  interruptible: true
  needs: ['gkfs']
  parallel:
@@ -164,7 +164,7 @@ gkfs:integration:
## == integration tests for gkfwd ==========
gkfwd:integration:
  stage: test
  image: gekkofs/testing:0.8.0
  image: gekkofs/testing:0.9.0
  interruptible: true
  needs: ['gkfwd']
  parallel:
@@ -209,7 +209,7 @@ gkfwd:integration:
## == unit tests for gkfs ==================
gkfs:unit:
  stage: test
  image: gekkofs/testing:0.8.0
  image: gekkofs/testing:0.9.0
  needs: ['gkfs']
  script:
    ## run actual tests
@@ -237,7 +237,7 @@ gkfs:unit:
################################################################################
coverage:
  stage: report
  image: gekkofs/coverage:0.8.0
  image: gekkofs/coverage:0.9.0
  needs: [ 'gkfs:integration', 'gkfwd:integration', 'gkfs:unit' ]
  script:
    - cd ${BUILD_PATH}
+39 −0
Original line number Diff line number Diff line
FROM debian:bullseye-slim

LABEL Description="Debian-based environment suitable to build GekkoFS and its dependencies"

RUN apt-get update && \
    apt-get install -y --no-install-recommends \
		git \
		curl \
		ca-certificates \
		libtool \
		pkg-config \
		make \
		automake \
		gcc \
		g++ \
		procps \
		# AGIOS dependencies
		libconfig-dev \
		# Mercury dependencies
		libltdl-dev \
		lbzip2 \
        # Margo dependencies \
        libjson-c-dev \
		# RocksDB dependencies
		liblz4-dev \
		# syscall_intercept dependencies
		libcapstone-dev \
		# GekkoFS dependencies
		libboost-program-options-dev \
		uuid-dev && \
    # install cmake 3.14 since it's needed for some dependencies
    curl -OL https://github.com/Kitware/CMake/releases/download/v3.14.5/cmake-3.14.5-Linux-x86_64.sh && \
    chmod u+x ./cmake-3.14.5-Linux-x86_64.sh && \
    ./cmake-3.14.5-Linux-x86_64.sh --skip-license --prefix=/usr && \
    # Clean apt cache to reduce image layer size
    rm -rf /var/lib/apt/lists/* && \
    # Clean apt caches of packages
    apt-get clean && apt-get autoclean && \
    rm ./cmake-3.14.5-Linux-x86_64.sh
+10 −0
Original line number Diff line number Diff line
.PHONY: all

amd64:
	docker build --platform amd64 -t gekkofs/core:0.9.0 .

aarch64:
	docker build --platform aarch64 -t gekkofs/core:0.9.0 .

all:
	docker build -t gekkofs/core:0.9.0 .
+20 −0
Original line number Diff line number Diff line
FROM debian:bullseye-slim

LABEL Description="Environment to generate coverage reports in GekkoFS"

RUN apt-get update && \
    apt-get install -y --no-install-recommends \
        wget \
        git \
        cmake \
        gcc \
        g++ \
        lcov \
        python3 \
        python3-pip \
        python3-setuptools && \
    rm -rf /var/lib/apt/lists/* && \
    apt-get clean && \
    apt-get autoclean && \
    python3 -m pip install --upgrade pip && \
    pip3 install gcovr
+10 −0
Original line number Diff line number Diff line
.PHONY: all

amd64:
	docker build --platform amd64 -t gekkofs/coverage:0.9.0 .

aarch64:
	docker build --platform aarch64 -t gekkofs/coverage:0.9.0 .

all:
	docker build -t gekkofs/coverage:0.9.0 .
 No newline at end of file
Loading