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

Commit 24359cf

Browse files
docker: add Fedora 34 image and update Ubuntu 20.10 to 21.04
1 parent f310750 commit 24359cf

3 files changed

Lines changed: 111 additions & 4 deletions

File tree

.github/workflows/other_OSes.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,12 +32,13 @@ jobs:
3232
"OS=debian OS_VER=unstable",
3333
"OS=debian OS_VER=latest",
3434
"OS=fedora OS_VER=33",
35-
"TYPE=package OS=fedora OS_VER=33 PUSH_IMAGE=0",
35+
"OS=fedora OS_VER=34",
36+
"TYPE=package OS=fedora OS_VER=34 PUSH_IMAGE=0",
3637
"OS=fedora OS_VER=rawhide TESTS_PMREORDER=0",
3738
"OS=opensuse-leap OS_VER=latest",
3839
"OS=opensuse-tumbleweed OS_VER=latest",
3940
"OS=ubuntu OS_VER=18.04",
40-
"OS=ubuntu OS_VER=20.10",
41+
"OS=ubuntu OS_VER=21.04",
4142
"OS=ubuntu OS_VER=devel PUSH_IMAGE=0",
4243
"TYPE=package OS=ubuntu OS_VER=devel"]
4344
steps:
Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
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 fedora-based
6+
# environment prepared for running libpmemobj-cpp tests.
7+
#
8+
9+
# Pull base image
10+
FROM registry.fedoraproject.org/fedora:34
11+
MAINTAINER igor.chorazewicz@intel.com
12+
13+
# Set required environment variables
14+
ENV OS fedora
15+
ENV OS_VER 34
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 (optional; valgrind-devel may be used instead)
52+
ARG VALGRIND_DEPS="\
53+
autoconf \
54+
automake"
55+
56+
# Examples (optional)
57+
ARG EXAMPLES_DEPS="\
58+
ncurses-devel \
59+
SFML-devel"
60+
61+
# Documentation (optional)
62+
ARG DOC_DEPS="\
63+
doxygen"
64+
65+
# Tests (optional)
66+
# NOTE: glibc is installed as a separate command; see below
67+
ARG TESTS_DEPS="\
68+
gdb \
69+
libunwind-devel"
70+
71+
# Misc for our builds/CI (optional)
72+
ARG MISC_DEPS="\
73+
clang \
74+
perl-Text-Diff \
75+
pkgconf \
76+
sudo"
77+
78+
# Update packages and install basic tools
79+
RUN dnf update -y \
80+
&& dnf install -y \
81+
${BASE_DEPS} \
82+
${LIBPMEMOBJ_CPP_DEPS} \
83+
${PMDK_DEPS} \
84+
${VALGRIND_DEPS} \
85+
${EXAMPLES_DEPS} \
86+
${DOC_DEPS} \
87+
${TESTS_DEPS} \
88+
${MISC_DEPS} \
89+
&& dnf debuginfo-install -y glibc \
90+
&& dnf clean all
91+
92+
# Install valgrind
93+
COPY install-valgrind.sh install-valgrind.sh
94+
RUN ./install-valgrind.sh
95+
96+
# Install pmdk
97+
COPY install-pmdk.sh install-pmdk.sh
98+
RUN ./install-pmdk.sh rpm
99+
100+
# Add user
101+
ENV USER user
102+
ENV USERPASS pass
103+
RUN useradd -m $USER \
104+
&& echo "$USER:$USERPASS" | chpasswd \
105+
&& gpasswd wheel -a $USER
106+
USER $USER

utils/docker/images/Dockerfile.ubuntu-20.10 renamed to utils/docker/images/Dockerfile.ubuntu-21.04

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,12 @@
77
#
88

99
# Pull base image
10-
FROM registry.hub.docker.com/library/ubuntu:20.10
10+
FROM registry.hub.docker.com/library/ubuntu:21.04
1111
MAINTAINER igor.chorazewicz@intel.com
1212

1313
# Set required environment variables
1414
ENV OS ubuntu
15-
ENV OS_VER 20.10
15+
ENV OS_VER 21.04
1616
ENV PACKAGE_MANAGER deb
1717
ENV NOTTY 1
1818

0 commit comments

Comments
 (0)