Skip to content
This repository was archived by the owner on Mar 22, 2023. It is now read-only.

Commit 668e8cb

Browse files
authored
Merge pull request #1210 from lukaszstolarczuk/CI-updates
CI: minor updates
2 parents 7ed5b1b + 05b5a66 commit 668e8cb

File tree

5 files changed

+115
-4
lines changed

5 files changed

+115
-4
lines changed

.github/workflows/nightly.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ jobs:
2929
fail-fast: false
3030
matrix:
3131
CONFIG: ["OS=centos OS_VER=8",
32+
"OS=almalinux OS_VER=8",
3233
"OS=archlinux-base OS_VER=latest",
3334
"OS=debian OS_VER=testing",
3435
"OS=debian OS_VER=unstable",
Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
# SPDX-License-Identifier: BSD-3-Clause
2+
# Copyright 2016-2021, Intel Corporation
3+
4+
#
5+
# Dockerfile - a 'recipe' for Docker to build an image of almalinux-based
6+
# environment prepared for running libpmemobj-cpp tests.
7+
#
8+
9+
# Pull base image
10+
FROM registry.hub.docker.com/library/almalinux:8
11+
12+
13+
# Set required environment variables
14+
ENV OS almalinux
15+
ENV OS_VER 8
16+
ENV PACKAGE_MANAGER rpm
17+
ENV NOTTY 1
18+
19+
# Additional parameters to build docker without building components
20+
ARG SKIP_VALGRIND_BUILD
21+
ARG SKIP_PMDK_BUILD
22+
23+
# Base development packages
24+
ARG BASE_DEPS="\
25+
cmake \
26+
gcc \
27+
gcc-c++ \
28+
git \
29+
make"
30+
31+
# Dependencies for compiling libpmemobj-cpp project
32+
ARG LIBPMEMOBJ_CPP_DEPS="\
33+
libatomic \
34+
tbb-devel"
35+
36+
# PMDK's dependencies (optional; libpmemobj-devel package may be used instead)
37+
ARG PMDK_DEPS="\
38+
autoconf \
39+
automake \
40+
daxctl-devel \
41+
gdb \
42+
man \
43+
ndctl-devel \
44+
pandoc \
45+
python3 \
46+
rpm-build \
47+
rpm-build-libs \
48+
rpmdevtools \
49+
which"
50+
51+
# pmem's Valgrind dependencies (optional; valgrind-devel package may be used instead)
52+
ARG VALGRIND_DEPS="\
53+
autoconf \
54+
automake"
55+
56+
# Examples (optional)
57+
ARG EXAMPLES_DEPS="\
58+
ncurses-devel"
59+
60+
# Documentation (optional)
61+
ARG DOC_DEPS="\
62+
doxygen"
63+
64+
# Tests (optional)
65+
# NOTE: glibc is installed as a separate command; see below
66+
ARG TESTS_DEPS="\
67+
gdb \
68+
libunwind-devel"
69+
70+
# Misc for our builds/CI (optional)
71+
ARG MISC_DEPS="\
72+
clang \
73+
passwd \
74+
perl-Text-Diff \
75+
pkgconf \
76+
sudo"
77+
78+
# Update package repository, extend dnf's package base and install basic tools
79+
RUN dnf update -y \
80+
&& dnf install -y epel-release \
81+
&& dnf install -y 'dnf-command(config-manager)' \
82+
&& dnf config-manager --set-enabled powertools \
83+
&& dnf update -y \
84+
&& dnf install -y --nobest \
85+
${BASE_DEPS} \
86+
${LIBPMEMOBJ_CPP_DEPS} \
87+
${PMDK_DEPS} \
88+
${VALGRIND_DEPS} \
89+
${EXAMPLES_DEPS} \
90+
${DOC_DEPS} \
91+
${TESTS_DEPS} \
92+
${MISC_DEPS} \
93+
&& dnf debuginfo-install -y glibc \
94+
&& dnf clean all
95+
96+
# Install valgrind
97+
COPY install-valgrind.sh install-valgrind.sh
98+
RUN ./install-valgrind.sh
99+
100+
# Install pmdk
101+
COPY install-pmdk.sh install-pmdk.sh
102+
RUN ./install-pmdk.sh rpm
103+
104+
# Add user
105+
ENV USER user
106+
ENV USERPASS pass
107+
RUN useradd -m $USER \
108+
&& echo $USERPASS | passwd $USER --stdin \
109+
&& gpasswd wheel -a $USER
110+
USER $USER

utils/docker/images/install-pmdk.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ fi
1616

1717
PACKAGE_MANAGER=${1}
1818

19-
# master: 1.11.0, 02.07.2021
20-
PMDK_VERSION="8583fcfd68764ac6779e6f93db89b06971b26704"
19+
# master: 1.11.1, 24.09.2021
20+
PMDK_VERSION="5b21904a257eff47f2e87fcbf2de46111f03ddd8"
2121

2222
git clone https://github.com/pmem/pmdk
2323
cd pmdk

utils/docker/prepare-for-build.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ set -e
1212

1313
INSTALL_DIR=/tmp/libpmemobj-cpp
1414
EXAMPLE_TEST_DIR=/tmp/build_example
15-
TEST_DIR=${PMEMKV_TEST_DIR:-${DEFAULT_TEST_DIR}}
15+
TEST_DIR=${LIBPMEMOBJCPP_TEST_DIR:-${DEFAULT_TEST_DIR}}
1616

1717
### Helper functions, used in run-*.sh scripts
1818
function sudo_password() {

utils/docker/run-build.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ set -e
1414
source $(dirname ${0})/prepare-for-build.sh
1515

1616
# params set for this file; if not previously set, the right-hand param is used
17-
TEST_DIR=${PMEMKV_TEST_DIR:-${DEFAULT_TEST_DIR}}
17+
TEST_DIR=${LIBPMEMOBJCPP_TEST_DIR:-${DEFAULT_TEST_DIR}}
1818
CHECK_CPP_STYLE=${CHECK_CPP_STYLE:-ON}
1919
TESTS_LONG=${TESTS_LONG:-OFF}
2020
TESTS_TBB=${TESTS_TBB:-ON}

0 commit comments

Comments
 (0)