Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ubuntu 24.04 LTS (noble) and Ubuntu 22.04 LTS (jammy) #2021

Closed
wants to merge 17 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions .ci/check-python-platlib-debian12.dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
FROM debian:bookworm

ENV DEBIAN_FRONTEND=noninteractive

RUN apt-get update && apt-get install -y \
python3 \
python3-distutils \
python3-setuptools

COPY scripts/get-python-platlib.py /get-python-platlib.py
RUN mkdir -p "$(python3 /get-python-platlib.py /usr/local)"
10 changes: 10 additions & 0 deletions .ci/check-python-platlib-ubuntu24.04.dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
FROM ubuntu:24.04

ENV DEBIAN_FRONTEND=noninteractive

RUN apt-get update && apt-get install -y \
python3 \
python3-setuptools

COPY scripts/get-python-platlib.py /get-python-platlib.py
RUN mkdir -p "$(python3 /get-python-platlib.py /usr/local)"
2 changes: 2 additions & 0 deletions .ci/check-python-platlib.jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,9 @@ node() {
checkout scm

[
'debian12',
'debian11',
'ubuntu24.04',
'ubuntu22.04',
'ubuntu20.04',
'almalinux9',
Expand Down
4 changes: 4 additions & 0 deletions .ci/lib/config.jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -12,5 +12,9 @@ env.RA_TLS_ALLOW_HW_CONFIG_NEEDED = '1'
env.RA_TLS_ALLOW_SW_HARDENING_NEEDED = '1'
env.RA_TLS_ALLOW_DEBUG_ENCLAVE_INSECURE = '1'

if (env.RA_TYPE == null) {
env.RA_TYPE = 'dcap'
}

env.LC_ALL = 'C.UTF-8'
env.LANG = env.LC_ALL
1 change: 1 addition & 0 deletions .ci/lib/stage-build-nosgx.jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ stage('build') {

// In CI we install to non-standard --prefix (see above). This makes sure the libraries are
// available anyway.
env.LD_LIBRARY_PATH = libdir
env.PKG_CONFIG_PATH = libdir + '/pkgconfig'

// prevent cheating and testing from repo
Expand Down
1 change: 1 addition & 0 deletions .ci/lib/stage-build-sgx-vm.jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,7 @@ stage('build') {

// In CI we install to non-standard --prefix (see above). This makes sure the libraries are
// available anyway (e.g. gramine-sgx-pf-crypt needs libsgx_util.so).
env.LD_LIBRARY_PATH = libdir
env.PKG_CONFIG_PATH = libdir + '/pkgconfig'

// prevent cheating and testing from repo
Expand Down
1 change: 1 addition & 0 deletions .ci/lib/stage-build-sgx.jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,7 @@ stage('build') {

// In CI we install to non-standard --prefix (see above). This makes sure the libraries are
// available anyway.
env.LD_LIBRARY_PATH = libdir
env.PKG_CONFIG_PATH = libdir + '/pkgconfig'

// prevent cheating and testing from repo
Expand Down
2 changes: 1 addition & 1 deletion .ci/lib/stage-test-direct.jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ stage('test-direct') {
# memcslap populates server but doesn't report errors, use
# memcached-tool for this (must return two lines of stats)
memcslap --servers=127.0.0.1 --concurrency=8
src/scripts/memcached-tool 127.0.0.1 | wc -l | grep -w "2"
test "$(src/scripts/memcached-tool 127.0.0.1 | wc -l)" -ge 2
'''
}
timeout(time: 10, unit: 'MINUTES') {
Expand Down
8 changes: 2 additions & 6 deletions .ci/lib/stage-test-sgx.jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -14,18 +14,14 @@ stage('test-sgx') {
fi
'''

if (env.RA_TYPE == null) {
env.RA_TYPE = 'epid'
}

timeout(time: 5, unit: 'MINUTES') {
sh '''
cd CI-Examples/helloworld
make ${MAKEOPTS}
make ${MAKEOPTS} check
'''
}
timeout(time: 5, unit: 'MINUTES') {
timeout(time: 10, unit: 'MINUTES') {
sh '''
cd CI-Examples/python
make ${MAKEOPTS} RA_TYPE=$RA_TYPE RA_CLIENT_SPID=${ra_client_spid}
Expand Down Expand Up @@ -55,7 +51,7 @@ stage('test-sgx') {
# memcslap populates server but doesn't report errors, use
# memcached-tool for this (must return two lines of stats)
memcslap --servers=127.0.0.1 --concurrency=8
src/scripts/memcached-tool 127.0.0.1 | wc -l | grep -w "2"
test "$(src/scripts/memcached-tool 127.0.0.1 | wc -l)" -ge 2
'''
}
timeout(time: 15, unit: 'MINUTES') {
Expand Down
4 changes: 0 additions & 4 deletions .ci/lib/stage-test.jenkinsfile
Original file line number Diff line number Diff line change
@@ -1,8 +1,4 @@
stage('test') {
if (env.RA_TYPE == null) {
env.RA_TYPE = 'epid'
}

timeout(time: 15, unit: 'MINUTES') {
try {
sh '''
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
node('nonsgx_slave && aesni') {
node('plain && jammy') {
checkout scm

load '.ci/lib/config-docker.jenkinsfile'
docker.build(
"local:${env.BUILD_TAG}",
'-f .ci/ubuntu20.04.dockerfile .'
).inside("${env.DOCKER_ARGS_COMMON} --security-opt seccomp=${env.WORKSPACE}/scripts/docker_seccomp_mar_2021.json") {
'-f .ci/ubuntu22.04.dockerfile .'
).inside("${env.DOCKER_ARGS_COMMON} --security-opt seccomp=${env.WORKSPACE}/scripts/docker_seccomp_aug_2022.json") {
load '.ci/lib/config.jenkinsfile'
load '.ci/lib/config-debug.jenkinsfile'

Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
node('nonsgx_slave && aesni') {
node('plain && jammy') {
checkout scm

load '.ci/lib/config-docker.jenkinsfile'
docker.build(
"local:${env.BUILD_TAG}",
'-f .ci/ubuntu20.04.dockerfile .'
).inside("${env.DOCKER_ARGS_COMMON} --security-opt seccomp=${env.WORKSPACE}/scripts/docker_seccomp_mar_2021.json") {
'-f .ci/ubuntu22.04.dockerfile .'
).inside("${env.DOCKER_ARGS_COMMON} --security-opt seccomp=${env.WORKSPACE}/scripts/docker_seccomp_aug_2022.json") {
load '.ci/lib/config.jenkinsfile'
load '.ci/lib/config-release.jenkinsfile'

Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
node('nonsgx_slave && aesni') {
node('plain && jammy') {
checkout scm

load '.ci/lib/config-docker.jenkinsfile'
docker.build(
"local:${env.BUILD_TAG}",
'-f .ci/ubuntu20.04.dockerfile .'
).inside("${env.DOCKER_ARGS_COMMON} --security-opt seccomp=${env.WORKSPACE}/scripts/docker_seccomp_mar_2021.json") {
'-f .ci/ubuntu22.04.dockerfile .'
).inside("${env.DOCKER_ARGS_COMMON} --security-opt seccomp=${env.WORKSPACE}/scripts/docker_seccomp_aug_2022.json") {
load '.ci/lib/config.jenkinsfile'
load '.ci/lib/config-clang.jenkinsfile'
load '.ci/lib/config-debug.jenkinsfile'
Expand Down
19 changes: 19 additions & 0 deletions .ci/linux-direct-ubuntu24.04-gcc-debug.jenkinsfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
node('plain && noble') {
checkout scm

load '.ci/lib/config-docker.jenkinsfile'
docker.build(
"local:${env.BUILD_TAG}",
'-f .ci/ubuntu24.04.dockerfile .'
).inside("${env.DOCKER_ARGS_COMMON} --security-opt seccomp=${env.WORKSPACE}/scripts/docker_seccomp_aug_2022.json") {
load '.ci/lib/config.jenkinsfile'
load '.ci/lib/config-debug.jenkinsfile'

load '.ci/lib/stage-lint.jenkinsfile'
load '.ci/lib/stage-clean-check-prepare.jenkinsfile'
load '.ci/lib/stage-build-nosgx.jenkinsfile'
load '.ci/lib/stage-test.jenkinsfile'
load '.ci/lib/stage-test-direct.jenkinsfile'
load '.ci/lib/stage-clean-check.jenkinsfile'
}
}
19 changes: 19 additions & 0 deletions .ci/linux-direct-ubuntu24.04-gcc-release.jenkinsfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
node('plain && noble') {
checkout scm

load '.ci/lib/config-docker.jenkinsfile'
docker.build(
"local:${env.BUILD_TAG}",
'-f .ci/ubuntu24.04.dockerfile .'
).inside("${env.DOCKER_ARGS_COMMON} --security-opt seccomp=${env.WORKSPACE}/scripts/docker_seccomp_aug_2022.json") {
load '.ci/lib/config.jenkinsfile'
load '.ci/lib/config-release.jenkinsfile'

load '.ci/lib/stage-lint.jenkinsfile'
load '.ci/lib/stage-clean-check-prepare.jenkinsfile'
load '.ci/lib/stage-build-nosgx.jenkinsfile'
load '.ci/lib/stage-test.jenkinsfile'
load '.ci/lib/stage-test-direct.jenkinsfile'
load '.ci/lib/stage-clean-check.jenkinsfile'
}
}
22 changes: 22 additions & 0 deletions .ci/linux-direct-ubuntu24.04-sanitizers.jenkinsfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
node('plain && noble') {
checkout scm

load '.ci/lib/config-docker.jenkinsfile'
docker.build(
"local:${env.BUILD_TAG}",
'-f .ci/ubuntu24.04.dockerfile .'
).inside("${env.DOCKER_ARGS_COMMON} --security-opt seccomp=${env.WORKSPACE}/scripts/docker_seccomp_aug_2022.json") {
load '.ci/lib/config.jenkinsfile'
load '.ci/lib/config-clang.jenkinsfile'
load '.ci/lib/config-debug.jenkinsfile'
load '.ci/lib/config-ubsan.jenkinsfile'
load '.ci/lib/config-asan.jenkinsfile'

load '.ci/lib/stage-lint.jenkinsfile'
load '.ci/lib/stage-clean-check-prepare.jenkinsfile'
load '.ci/lib/stage-build-nosgx.jenkinsfile'
load '.ci/lib/stage-test.jenkinsfile'
load '.ci/lib/stage-test-direct.jenkinsfile'
load '.ci/lib/stage-clean-check.jenkinsfile'
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,12 @@ node('sgx-edmm && aesni') {
env.AVX = '1' // EDMM-capable machines in our CI always have AVX
env.SGX = '1'
env.EDMM = '1'
env.RA_TYPE = 'dcap'

load '.ci/lib/config-docker.jenkinsfile'

env.DOCKER_ARGS_SGX += '''
--volume=/usr/include/x86_64-linux-gnu/asm/sgx.h:/usr/include/asm/sgx.h:ro
--add-host host.docker.internal:host-gateway
'''

docker.build(
"local:${env.BUILD_TAG}",
'-f .ci/ubuntu20.04.dockerfile .'
'-f .ci/ubuntu22.04.dockerfile .'
).inside("${env.DOCKER_ARGS_COMMON} ${env.DOCKER_ARGS_SGX}") {
load '.ci/lib/config.jenkinsfile'
load '.ci/lib/config-release.jenkinsfile'
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
node('sgx_slave_2.6 && aesni') {
node('sgx && jammy') {
checkout scm

env.SGX = '1'
env.SGX_DRIVER = 'oot'

load '.ci/lib/config-docker.jenkinsfile'
docker.build(
"local:${env.BUILD_TAG}",
'-f .ci/ubuntu20.04.dockerfile .'
'-f .ci/ubuntu22.04.dockerfile .'
).inside("${env.DOCKER_ARGS_COMMON} ${env.DOCKER_ARGS_SGX}") {
load '.ci/lib/config.jenkinsfile'
load '.ci/lib/config-release.jenkinsfile'
Expand Down
2 changes: 1 addition & 1 deletion .ci/linux-sgx-ubuntu22.04-gcc-release.jenkinsfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
node('sgx') {
node('sgx && jammy') {
checkout scm

env.SGX = '1'
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,13 @@
node('sgx_slave_2.6 && aesni') {
node('sgx && jammy') {
checkout scm

env.SGX = '1'
env.SGX_DRIVER = 'oot'
env.GRAMINE_MUSL = '1'

load '.ci/lib/config-docker.jenkinsfile'
docker.build(
"local:${env.BUILD_TAG}",
'-f .ci/ubuntu20.04.dockerfile .'
'-f .ci/ubuntu22.04.dockerfile .'
).inside("${env.DOCKER_ARGS_COMMON} ${env.DOCKER_ARGS_SGX}") {
load '.ci/lib/config.jenkinsfile'
load '.ci/lib/config-release.jenkinsfile'
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
node('sgx_slave_2.6 && aesni') {
node('sgx && jammy') {
checkout scm

env.SGX = '1'
env.SGX_DRIVER = 'oot'

load '.ci/lib/config-docker.jenkinsfile'
docker.build(
"local:${env.BUILD_TAG}",
'-f .ci/ubuntu20.04.dockerfile .'
'-f .ci/ubuntu22.04.dockerfile .'
).inside("${env.DOCKER_ARGS_COMMON} ${env.DOCKER_ARGS_SGX}") {
load '.ci/lib/config.jenkinsfile'
load '.ci/lib/config-clang.jenkinsfile'
Expand Down
24 changes: 24 additions & 0 deletions .ci/linux-sgx-ubuntu24.04-edmm.jenkinsfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
node('sgx-edmm && aesni') {
checkout scm

env.AVX = '1' // EDMM-capable machines in our CI always have AVX
env.SGX = '1'
env.EDMM = '1'

load '.ci/lib/config-docker.jenkinsfile'

docker.build(
"local:${env.BUILD_TAG}",
'-f .ci/ubuntu24.04.dockerfile .'
).inside("${env.DOCKER_ARGS_COMMON} ${env.DOCKER_ARGS_SGX}") {
load '.ci/lib/config.jenkinsfile'
load '.ci/lib/config-release.jenkinsfile'

load '.ci/lib/stage-lint.jenkinsfile'
load '.ci/lib/stage-clean-check-prepare.jenkinsfile'
load '.ci/lib/stage-build-sgx.jenkinsfile'
load '.ci/lib/stage-test.jenkinsfile'
load '.ci/lib/stage-test-sgx.jenkinsfile'
load '.ci/lib/stage-clean-check.jenkinsfile'
}
}
20 changes: 20 additions & 0 deletions .ci/linux-sgx-ubuntu24.04-gcc-release-apps.jenkinsfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
node('sgx && noble') {
checkout scm

env.SGX = '1'

load '.ci/lib/config-docker.jenkinsfile'
docker.build(
"local:${env.BUILD_TAG}",
'-f .ci/ubuntu24.04.dockerfile .'
).inside("${env.DOCKER_ARGS_COMMON} ${env.DOCKER_ARGS_SGX}") {
load '.ci/lib/config.jenkinsfile'
load '.ci/lib/config-release.jenkinsfile'

load '.ci/lib/stage-lint.jenkinsfile'
load '.ci/lib/stage-clean-check-prepare.jenkinsfile'
load '.ci/lib/stage-build-sgx.jenkinsfile'
load '.ci/lib/stage-test-sgx.jenkinsfile'
load '.ci/lib/stage-clean-check.jenkinsfile'
}
}
2 changes: 1 addition & 1 deletion .ci/linux-sgx-ubuntu24.04-gcc-release.jenkinsfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
node('sgx') {
node('sgx && noble') {
checkout scm

env.SGX = '1'
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
node('sgx_slave_2.6 && aesni') {
node('sgx && noble') {
checkout scm

env.SGX = '1'
env.SGX_DRIVER = 'oot'
env.GRAMINE_MUSL = '1'

load '.ci/lib/config-docker.jenkinsfile'
docker.build(
"local:${env.BUILD_TAG}",
'-f .ci/ubuntu20.04.dockerfile .'
'-f .ci/ubuntu24.04.dockerfile .'
).inside("${env.DOCKER_ARGS_COMMON} ${env.DOCKER_ARGS_SGX}") {
load '.ci/lib/config.jenkinsfile'
load '.ci/lib/config-release.jenkinsfile'
Expand Down
24 changes: 24 additions & 0 deletions .ci/linux-sgx-ubuntu24.04-sanitizers.jenkinsfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
node('sgx && noble') {
checkout scm

env.SGX = '1'

load '.ci/lib/config-docker.jenkinsfile'
docker.build(
"local:${env.BUILD_TAG}",
'-f .ci/ubuntu24.04.dockerfile .'
).inside("${env.DOCKER_ARGS_COMMON} ${env.DOCKER_ARGS_SGX}") {
load '.ci/lib/config.jenkinsfile'
load '.ci/lib/config-clang.jenkinsfile'
load '.ci/lib/config-debug.jenkinsfile'
load '.ci/lib/config-ubsan.jenkinsfile'
load '.ci/lib/config-asan.jenkinsfile'

load '.ci/lib/stage-lint.jenkinsfile'
load '.ci/lib/stage-clean-check-prepare.jenkinsfile'
load '.ci/lib/stage-build-sgx.jenkinsfile'
load '.ci/lib/stage-test.jenkinsfile'
load '.ci/lib/stage-test-sgx.jenkinsfile'
load '.ci/lib/stage-clean-check.jenkinsfile'
}
}
Loading