From b6d29c34cb8969776eaf54581dd5529570194459 Mon Sep 17 00:00:00 2001 From: Wojtek Porczyk Date: Tue, 11 Jun 2024 12:20:27 +0200 Subject: [PATCH] [CI] Add Ubuntu 24.04 and 22.04 jenkinsfiles Signed-off-by: Wojtek Porczyk --- ...x-direct-ubuntu22.04-gcc-debug.jenkinsfile | 19 +++++++++++++++ ...direct-ubuntu22.04-gcc-release.jenkinsfile | 19 +++++++++++++++ ...-direct-ubuntu22.04-sanitizers.jenkinsfile | 22 +++++++++++++++++ ...x-direct-ubuntu24.04-gcc-debug.jenkinsfile | 19 +++++++++++++++ ...direct-ubuntu24.04-gcc-release.jenkinsfile | 19 +++++++++++++++ ...-direct-ubuntu24.04-sanitizers.jenkinsfile | 22 +++++++++++++++++ .ci/linux-sgx-ubuntu22.04-edmm.jenkinsfile | 24 +++++++++++++++++++ ...x-ubuntu22.04-gcc-release-apps.jenkinsfile | 20 ++++++++++++++++ .ci/linux-sgx-ubuntu22.04-musl.jenkinsfile | 21 ++++++++++++++++ ...nux-sgx-ubuntu22.04-sanitizers.jenkinsfile | 24 +++++++++++++++++++ .ci/linux-sgx-ubuntu24.04-edmm.jenkinsfile | 24 +++++++++++++++++++ ...x-ubuntu24.04-gcc-release-apps.jenkinsfile | 20 ++++++++++++++++ .ci/linux-sgx-ubuntu24.04-musl.jenkinsfile | 21 ++++++++++++++++ ...nux-sgx-ubuntu24.04-sanitizers.jenkinsfile | 24 +++++++++++++++++++ 14 files changed, 298 insertions(+) create mode 100644 .ci/linux-direct-ubuntu22.04-gcc-debug.jenkinsfile create mode 100644 .ci/linux-direct-ubuntu22.04-gcc-release.jenkinsfile create mode 100644 .ci/linux-direct-ubuntu22.04-sanitizers.jenkinsfile create mode 100644 .ci/linux-direct-ubuntu24.04-gcc-debug.jenkinsfile create mode 100644 .ci/linux-direct-ubuntu24.04-gcc-release.jenkinsfile create mode 100644 .ci/linux-direct-ubuntu24.04-sanitizers.jenkinsfile create mode 100644 .ci/linux-sgx-ubuntu22.04-edmm.jenkinsfile create mode 100644 .ci/linux-sgx-ubuntu22.04-gcc-release-apps.jenkinsfile create mode 100644 .ci/linux-sgx-ubuntu22.04-musl.jenkinsfile create mode 100644 .ci/linux-sgx-ubuntu22.04-sanitizers.jenkinsfile create mode 100644 .ci/linux-sgx-ubuntu24.04-edmm.jenkinsfile create mode 100644 .ci/linux-sgx-ubuntu24.04-gcc-release-apps.jenkinsfile create mode 100644 .ci/linux-sgx-ubuntu24.04-musl.jenkinsfile create mode 100644 .ci/linux-sgx-ubuntu24.04-sanitizers.jenkinsfile diff --git a/.ci/linux-direct-ubuntu22.04-gcc-debug.jenkinsfile b/.ci/linux-direct-ubuntu22.04-gcc-debug.jenkinsfile new file mode 100644 index 0000000000..54539f5c2b --- /dev/null +++ b/.ci/linux-direct-ubuntu22.04-gcc-debug.jenkinsfile @@ -0,0 +1,19 @@ +node('plain && jammy') { + checkout scm + + load '.ci/lib/config-docker.jenkinsfile' + docker.build( + "local:${env.BUILD_TAG}", + '-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' + + 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' + } +} diff --git a/.ci/linux-direct-ubuntu22.04-gcc-release.jenkinsfile b/.ci/linux-direct-ubuntu22.04-gcc-release.jenkinsfile new file mode 100644 index 0000000000..df3ba680af --- /dev/null +++ b/.ci/linux-direct-ubuntu22.04-gcc-release.jenkinsfile @@ -0,0 +1,19 @@ +node('plain && jammy') { + checkout scm + + load '.ci/lib/config-docker.jenkinsfile' + docker.build( + "local:${env.BUILD_TAG}", + '-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' + + 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' + } +} diff --git a/.ci/linux-direct-ubuntu22.04-sanitizers.jenkinsfile b/.ci/linux-direct-ubuntu22.04-sanitizers.jenkinsfile new file mode 100644 index 0000000000..a9f0dc3aa4 --- /dev/null +++ b/.ci/linux-direct-ubuntu22.04-sanitizers.jenkinsfile @@ -0,0 +1,22 @@ +node('plain && jammy') { + checkout scm + + load '.ci/lib/config-docker.jenkinsfile' + docker.build( + "local:${env.BUILD_TAG}", + '-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' + 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' + } +} diff --git a/.ci/linux-direct-ubuntu24.04-gcc-debug.jenkinsfile b/.ci/linux-direct-ubuntu24.04-gcc-debug.jenkinsfile new file mode 100644 index 0000000000..ce9af13597 --- /dev/null +++ b/.ci/linux-direct-ubuntu24.04-gcc-debug.jenkinsfile @@ -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' + } +} diff --git a/.ci/linux-direct-ubuntu24.04-gcc-release.jenkinsfile b/.ci/linux-direct-ubuntu24.04-gcc-release.jenkinsfile new file mode 100644 index 0000000000..cba634cdbe --- /dev/null +++ b/.ci/linux-direct-ubuntu24.04-gcc-release.jenkinsfile @@ -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' + } +} diff --git a/.ci/linux-direct-ubuntu24.04-sanitizers.jenkinsfile b/.ci/linux-direct-ubuntu24.04-sanitizers.jenkinsfile new file mode 100644 index 0000000000..0cd78fb83b --- /dev/null +++ b/.ci/linux-direct-ubuntu24.04-sanitizers.jenkinsfile @@ -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' + } +} diff --git a/.ci/linux-sgx-ubuntu22.04-edmm.jenkinsfile b/.ci/linux-sgx-ubuntu22.04-edmm.jenkinsfile new file mode 100644 index 0000000000..4920e46124 --- /dev/null +++ b/.ci/linux-sgx-ubuntu22.04-edmm.jenkinsfile @@ -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/ubuntu22.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' + } +} diff --git a/.ci/linux-sgx-ubuntu22.04-gcc-release-apps.jenkinsfile b/.ci/linux-sgx-ubuntu22.04-gcc-release-apps.jenkinsfile new file mode 100644 index 0000000000..eb33f693b5 --- /dev/null +++ b/.ci/linux-sgx-ubuntu22.04-gcc-release-apps.jenkinsfile @@ -0,0 +1,20 @@ +node('sgx && jammy') { + checkout scm + + env.SGX = '1' + + load '.ci/lib/config-docker.jenkinsfile' + docker.build( + "local:${env.BUILD_TAG}", + '-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' + + 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' + } +} diff --git a/.ci/linux-sgx-ubuntu22.04-musl.jenkinsfile b/.ci/linux-sgx-ubuntu22.04-musl.jenkinsfile new file mode 100644 index 0000000000..42bac382f4 --- /dev/null +++ b/.ci/linux-sgx-ubuntu22.04-musl.jenkinsfile @@ -0,0 +1,21 @@ +node('sgx && jammy') { + checkout scm + + env.SGX = '1' + env.GRAMINE_MUSL = '1' + + load '.ci/lib/config-docker.jenkinsfile' + docker.build( + "local:${env.BUILD_TAG}", + '-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' + + 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-clean-check.jenkinsfile' + } +} diff --git a/.ci/linux-sgx-ubuntu22.04-sanitizers.jenkinsfile b/.ci/linux-sgx-ubuntu22.04-sanitizers.jenkinsfile new file mode 100644 index 0000000000..70955f0357 --- /dev/null +++ b/.ci/linux-sgx-ubuntu22.04-sanitizers.jenkinsfile @@ -0,0 +1,24 @@ +node('sgx && jammy') { + checkout scm + + env.SGX = '1' + + load '.ci/lib/config-docker.jenkinsfile' + docker.build( + "local:${env.BUILD_TAG}", + '-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' + 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' + } +} diff --git a/.ci/linux-sgx-ubuntu24.04-edmm.jenkinsfile b/.ci/linux-sgx-ubuntu24.04-edmm.jenkinsfile new file mode 100644 index 0000000000..8b0475b50d --- /dev/null +++ b/.ci/linux-sgx-ubuntu24.04-edmm.jenkinsfile @@ -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' + } +} diff --git a/.ci/linux-sgx-ubuntu24.04-gcc-release-apps.jenkinsfile b/.ci/linux-sgx-ubuntu24.04-gcc-release-apps.jenkinsfile new file mode 100644 index 0000000000..c8485976b2 --- /dev/null +++ b/.ci/linux-sgx-ubuntu24.04-gcc-release-apps.jenkinsfile @@ -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' + } +} diff --git a/.ci/linux-sgx-ubuntu24.04-musl.jenkinsfile b/.ci/linux-sgx-ubuntu24.04-musl.jenkinsfile new file mode 100644 index 0000000000..7a2294a4c5 --- /dev/null +++ b/.ci/linux-sgx-ubuntu24.04-musl.jenkinsfile @@ -0,0 +1,21 @@ +node('sgx && noble') { + checkout scm + + env.SGX = '1' + env.GRAMINE_MUSL = '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-clean-check.jenkinsfile' + } +} diff --git a/.ci/linux-sgx-ubuntu24.04-sanitizers.jenkinsfile b/.ci/linux-sgx-ubuntu24.04-sanitizers.jenkinsfile new file mode 100644 index 0000000000..19280db022 --- /dev/null +++ b/.ci/linux-sgx-ubuntu24.04-sanitizers.jenkinsfile @@ -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' + } +}