Skip to content

Commit

Permalink
[CI] Add missing dependencies to ubuntu{24,22}.04.dockerfile
Browse files Browse the repository at this point in the history
Signed-off-by: Wojtek Porczyk <woju@invisiblethingslab.com>
  • Loading branch information
woju committed Oct 14, 2024
1 parent 5a6b8a1 commit 39c0ca9
Show file tree
Hide file tree
Showing 3 changed files with 96 additions and 3 deletions.
10 changes: 10 additions & 0 deletions .ci/sgx_default_qcnl.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"local_cache_only": true,
"pccs_url": "https://frackles.telenet.unc.edu:8081/sgx/certification/v4/",
"collateral_service": "https://api.trustedservices.intel.com/sgx/certification/v4/",
"pck_cache_expire_hours": 168,
"retry_delay": 10,
"retry_times": 6,
"use_secure_cert": false,
"verify_collateral_cache_expire_hours": 168
}
38 changes: 36 additions & 2 deletions .ci/ubuntu22.04.dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -36,32 +36,64 @@ RUN apt-get update && apt-get satisfy -y \
# dependencies for various tests, CI-Examples, etc.
# git: scripts/gitignore-test (among others)
# libunwind8: libos/test/regression/bootstrap_cpp.manifest.template
# musl-tools: for compilation with musl (not done in deb/rpm)
# nginx: CI-Examples/ra-tls-nginx
# shellcheck: .ci/run-shellcheck
# busybox: CI-Examples/busybox
# cargo: CI-Examples/rust
# clang: asan and ubsan builds
# jq: used in jenkinsfiles
# cpio dwarves gcc/g++-12 kmod qemu-kvm: for building kernel modules and running VMs
# wget: scripts/download
# busybox: CI-Examples/busybox
# python3-pytest: for running tests
# python3-pytest-xdist: for pytest -n option, to run in parallel
# python3-numpy python3-scipy: imported by script in CI-Examples/python
# gdb: tested in libos suite
# ncat: used in scripts/wait_for_server
# linux-libc-dev: among others, needed to compile busybox (CI-Examples/busybox)
# libomp-dev: needed for libos/test/regression/openmp.c
# libevent-dev: CI-Examples/memcached
# libmemcached-tools: CI-Examples/memcached
# zlib1g-dev: CI-Examples/lighttpd
# libssl-dev: CI-Examples/nginx
# sqlite3: CI-Examples/sqlite
# libsgx-*: CI-Examples/ra-tls-*
# curl: CI-Examples/ra-tls-secret-prov
RUN apt-get update && apt-get install -y \
busybox \
cargo \
clang \
cmake \
cpio \
curl \
dwarves \
g++-12 \
gcc-12 \
gdb \
git \
jq \
kmod \
libevent-dev \
libmemcached-tools \
libomp-dev \
libsgx-dcap-default-qpl \
libsgx-dcap-quote-verify-dev \
libsgx-urts \
libssl-dev \
libunwind8 \
linux-libc-dev \
musl-tools \
ncat \
nginx \
python3-numpy \
python3-pytest \
python3-pytest-xdist \
python3-scipy \
qemu-kvm \
shellcheck \
wget
sqlite3 \
wget \
zlib1g-dev

# Kernel on the host machine is built with GCC-12, so we need to set it as default in Docker
RUN update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 10 && \
Expand All @@ -80,4 +112,6 @@ RUN git clone https://github.com/giltene/wrk2.git \

ENV REQUESTS=10000

COPY .ci/sgx_default_qcnl.conf /etc/sgx_default_qcnl.conf

CMD ["bash"]
51 changes: 50 additions & 1 deletion .ci/ubuntu24.04.dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -37,16 +37,65 @@ RUN apt-get update && apt-get satisfy -y \
# dependencies for various tests, CI-Examples, etc.
# git: scripts/gitignore-test (among others)
# libunwind8: libos/test/regression/bootstrap_cpp.manifest.template
# musl-tools: for compilation with musl (not done in deb/rpm)
# nginx: CI-Examples/ra-tls-nginx
# shellcheck: .ci/run-shellcheck
# busybox: CI-Examples/busybox
# cargo: CI-Examples/rust
# clang: asan and ubsan builds
# jq: used in jenkinsfiles
# cpio dwarves kmod qemu-kvm: for building kernel modules and running VMs
# wget: scripts/download
# python3-pytest: for running tests
# python3-pytest-xdist: for pytest -n option, to run in parallel
# python3-numpy python3-scipy: imported by script in CI-Examples/python
# gdb: tested in libos suite
# ncat: used in scripts/wait_for_server
# linux-libc-dev: among others, needed to compile busybox (CI-Examples/busybox)
# libomp-dev: needed for libos/test/regression/openmp.c
# libevent-dev: CI-Examples/memcached
# libmemcached-tools: CI-Examples/memcached
# zlib1g-dev: CI-Examples/lighttpd
# wrk: used by CI-Examples/common_tools/benchmark-http.sh
# libssl-dev: CI-Examples/nginx
# sqlite3: CI-Examples/sqlite
# libsgx-*: CI-Examples/ra-tls-*
# curl: CI-Examples/ra-tls-secret-prov
RUN apt-get update && apt-get install -y \
busybox \
cargo \
clang \
cmake \
cpio \
curl \
dwarves \
gdb \
git \
jq \
kmod \
libevent-dev \
libmemcached-tools \
libomp-dev \
libsgx-dcap-default-qpl \
libsgx-dcap-quote-verify-dev \
libsgx-urts \
libssl-dev \
libunwind8 \
linux-libc-dev \
musl-tools \
ncat \
nginx \
python3-numpy \
python3-pytest \
shellcheck
python3-pytest-xdist \
python3-scipy \
qemu-kvm \
shellcheck \
sqlite3 \
wget \
wrk \
zlib1g-dev

COPY .ci/sgx_default_qcnl.conf /etc/sgx_default_qcnl.conf

CMD ["bash"]

0 comments on commit 39c0ca9

Please sign in to comment.