`cd <ci-managment repository directory>`
-`sudo ./docker/scripts/build_executor_docker_image.sh ubuntu-20.04 2>&1 | tee u2004-$(uname -m).log | grep -ve '^+'`
+`sudo ./docker/scripts/build_executor_docker_image.sh ubuntu-24.04 2>&1 | tee u2004-$(uname -m).log | grep -ve '^+'`
`sudo ./docker/scripts/build_executor_docker_image.sh -apr sandbox 2>&1 | tee all-sandbox-$(uname -m).log | grep -ve '^+'`
The environment in the docker shell contains all of the necessary
environment variable definitions so the docker scripts can be run
directly on the cli. Here is an example command that would be used in a CI job
-which automates the generation and testing of a new ubuntu-20.04 docker image
+which automates the generation and testing of a new ubuntu-24.04 docker image
and push it to Docker Hub fdiotools/builder-ubuntu2004:test-<arch>:
-`build_executor_docker_image.sh -pr test ubuntu-20.04`
+`build_executor_docker_image.sh -pr test ubuntu-24.04`
In the future, a fully automated CI/CD pipeline may be created for production
docker images.
## DockerHub Repositories
-- fdiotools/builder-debian11
-- fdiotools/builder-ubuntu2004
+- fdiotools/builder-debian12
- fdiotools/builder-ubuntu2204
-- fdiotools/csit_dut-ubuntu2004
-- fdiotools/csit_shim-ubuntu2004
+- fdiotools/builder-ubuntu2404
## Docker Image Tags
# TODO: Fix broken project requirement install targets
# graphviz for doxygen (HICN)
# doxygen for doxygen (HICN)
-# libffi-dev for python cffi install (Ubuntu20.04/VPP/aarch64)
+# libffi-dev for python cffi install (Ubuntu24.04/VPP/aarch64)
# liblapack-dev for python numpy/scipy (CSIT/aarch64)
# libopenblas-dev for python numpy/scipy (CSIT/aarch64)
# libpcap-dev for python pypcap install (CSIT)
export EXECUTOR_CLASSES="$EXECUTOR_DEFAULT_CLASS csit_dut csit_shim"
export EXECUTOR_ARCHS="aarch64 x86_64"
declare -A EXECUTOR_CLASS_ARCH_OS_NAMES
-EXECUTOR_CLASS_ARCH_OS_NAMES["builder-aarch64"]="ubuntu-20.04 ubuntu-22.04 ubuntu-24.04"
-EXECUTOR_CLASS_ARCH_OS_NAMES["builder-x86_64"]="debian-11 debian-12 ubuntu-20.04 ubuntu-22.04 ubuntu-24.04"
+EXECUTOR_CLASS_ARCH_OS_NAMES["builder-aarch64"]="ubuntu-22.04 ubuntu-24.04"
+EXECUTOR_CLASS_ARCH_OS_NAMES["builder-x86_64"]="debian-12 ubuntu-22.04 ubuntu-24.04"
EXECUTOR_CLASS_ARCH_OS_NAMES["csit_dut-aarch64"]="ubuntu-22.04"
EXECUTOR_CLASS_ARCH_OS_NAMES["csit_dut-x86_64"]="ubuntu-22.04"
EXECUTOR_CLASS_ARCH_OS_NAMES["csit_shim-aarch64"]="ubuntu-22.04"
# to create an enumerated set of jobs jobs that match the
# definitions here.
declare -A VPP_BRANCHES
-VPP_BRANCHES["debian-11"]="stable/2406 stable/2410 master"
VPP_BRANCHES["debian-12"]="stable/2410 master"
-VPP_BRANCHES["ubuntu-20.04"]="stable/2406 stable/2410 master"
VPP_BRANCHES["ubuntu-22.04"]="stable/2406 stable/2410 master"
VPP_BRANCHES["ubuntu-24.04"]="stable/2410 master"
export VPP_BRANCHES
+++ /dev/null
----
-Job:
- Constraints:
- - LTarget: ^${attr.cpu.arch}
- Operand: =
- RTarget: amd64
- - LTarget: ^${node.class}
- Operand: =
- RTarget: builder
- TaskGroups:
- - Name: jenkins-worker-taskgroup
- Tasks:
- - Name: jenkins-worker
- Config:
- image: fdiotools/builder-debian11:prod-x86_64
- volumes:
- - /tmp/ccache.debian11:/scratch/ccache
- - /scratch/nomad:/scratch/nomad:ro
+++ /dev/null
----
-templates:
- - prefix: "builder-debian11-prod-x86_64"
- labels: "builder-debian11-prod-x86_64"
+++ /dev/null
----
-Job:
- Constraints:
- - LTarget: ^${attr.cpu.arch}
- Operand: =
- RTarget: amd64
- - LTarget: ^${node.class}
- Operand: =
- RTarget: builder
- TaskGroups:
- - Name: jenkins-worker-taskgroup
- Tasks:
- - Name: jenkins-worker
- Config:
- args:
- - -cp
- - /local/slave.jar
- - hudson.remoting.jnlp.Main
- - -headless
- - -url
- - https://jenkins.fd.io/sandbox
- - -workDir
- - /w/
- - '%WORKER_SECRET%'
- - '%WORKER_NAME%'
- image: fdiotools/builder-debian11:sandbox-x86_64
- volumes:
- - /tmp/ccache.debian11:/scratch/ccache
- - /scratch/nomad:/scratch/nomad:ro
- Artifacts:
- - GetterSource: https://jenkins.fd.io/sandbox/jnlpJars/slave.jar
+++ /dev/null
----
-templates:
- - prefix: "builder-debian11-sandbox-x86_64"
- labels: "builder-debian11-sandbox-x86_64"
+++ /dev/null
----
-Job:
- TaskGroups:
- - Name: jenkins-worker-taskgroup
- Tasks:
- - Name: jenkins-worker
- Config:
- image: fdiotools/builder-ubuntu2004:prod-aarch64
- volumes:
- - /tmp/ccache.ubuntu2004:/scratch/ccache
- - /scratch/nomad:/scratch/nomad:ro
+++ /dev/null
----
-templates:
- - prefix: "builder-ubuntu2004-prod-aarch64"
- labels: "builder-ubuntu2004-prod-aarch64"
+++ /dev/null
----
-Job:
- Constraints:
- - LTarget: ^${attr.cpu.arch}
- Operand: =
- RTarget: amd64
- - LTarget: ^${node.class}
- Operand: =
- RTarget: builder
- TaskGroups:
- - Name: jenkins-worker-taskgroup
- Tasks:
- - Name: jenkins-worker
- Config:
- image: fdiotools/builder-ubuntu2004:prod-x86_64
- volumes:
- - /tmp/ccache.ubuntu2004:/scratch/ccache
- - /scratch/nomad:/scratch/nomad:ro
+++ /dev/null
----
-templates:
- - prefix: "builder-ubuntu2004-prod-x86_64"
- labels: "builder-ubuntu2004-prod-x86_64"
+++ /dev/null
----
-Job:
- TaskGroups:
- - Name: jenkins-worker-taskgroup
- Tasks:
- - Name: jenkins-worker
- Config:
- args:
- - -cp
- - /local/slave.jar
- - hudson.remoting.jnlp.Main
- - -headless
- - -url
- - https://jenkins.fd.io/sandbox
- - -workDir
- - /w/
- - '%WORKER_SECRET%'
- - '%WORKER_NAME%'
- image: fdiotools/builder-ubuntu2004:sandbox-aarch64
- volumes:
- - /tmp/ccache.ubuntu2004:/scratch/ccache
- - /scratch/nomad:/scratch/nomad:ro
- Artifacts:
- - GetterSource: https://jenkins.fd.io/sandbox/jnlpJars/slave.jar
+++ /dev/null
----
-templates:
- - prefix: "builder-ubuntu2004-sandbox-aarch64"
- labels: "builder-ubuntu2004-sandbox-aarch64"
+++ /dev/null
----
-Job:
- Constraints:
- - LTarget: ^${attr.cpu.arch}
- Operand: =
- RTarget: amd64
- - LTarget: ^${node.class}
- Operand: =
- RTarget: builder
- TaskGroups:
- - Name: jenkins-worker-taskgroup
- Tasks:
- - Name: jenkins-worker
- Config:
- args:
- - -cp
- - /local/slave.jar
- - hudson.remoting.jnlp.Main
- - -headless
- - -url
- - https://jenkins.fd.io/sandbox
- - -workDir
- - /w/
- - '%WORKER_SECRET%'
- - '%WORKER_NAME%'
- image: fdiotools/builder-ubuntu2004:sandbox-x86_64
- volumes:
- - /tmp/ccache.ubuntu2004:/scratch/ccache
- - /scratch/nomad:/scratch/nomad:ro
- Artifacts:
- - GetterSource: https://jenkins.fd.io/sandbox/jnlpJars/slave.jar
+++ /dev/null
----
-templates:
- - prefix: "builder-ubuntu2004-sandbox-x86_64"
- labels: "builder-ubuntu2004-sandbox-x86_64"
MAKE_PARALLEL_FLAGS="${MAKE_PARALLEL_FLAGS:-}"
MAKE_PARALLEL_JOBS="${MAKE_PARALLEL_JOBS:-}"
MAKE_TEST_OS="${MAKE_TEST_OS:-ubuntu-22.04}"
-MAKE_TEST_MULTIWORKER_OS="${MAKE_TEST_MULTIWORKER_OS:-debian-11}"
+MAKE_TEST_MULTIWORKER_OS="${MAKE_TEST_MULTIWORKER_OS:-debian-12}"
VPPAPIGEN_TEST_OS="${VPPAPIGEN_TEST_OS:-${MAKE_TEST_OS}}"
BUILD_RESULT="SUCCESSFULLY COMPLETED"
BUILD_ERROR=""
MAKE_PARALLEL_FLAGS="${MAKE_PARALLEL_FLAGS:-}"
MAKE_PARALLEL_JOBS="${MAKE_PARALLEL_JOBS:-}"
MAKE_TEST_OS="${MAKE_TEST_OS:-ubuntu-22.04}"
-MAKE_TEST_MULTIWORKER_OS="${MAKE_TEST_MULTIWORKER_OS:-debian-11}"
+MAKE_TEST_MULTIWORKER_OS="${MAKE_TEST_MULTIWORKER_OS:-debian-12}"
VPPAPIGEN_TEST_OS="${VPPAPIGEN_TEST_OS:-${MAKE_TEST_OS}}"
BUILD_RESULT="SUCCESSFULLY COMPLETED"
BUILD_ERROR=""
fi
}
-# clang is not working with ASAN right now - see change 27268
-# also, it does not work with gcc-7, we need gcc-8 at least
-# on ubuntu 20.04 executor the gcc is gcc9
if [ "${DRYRUN,,}" != "true" ] ; then
make_build_test_debug
fi
- 'vpp-merge-{stream}-{os}-{executor-arch}'
project: 'vpp'
os:
- - 'debian11'
- 'debian12'
- - 'ubuntu2004'
- 'ubuntu2204'
- 'ubuntu2404'
make-parallel-jobs: '4'
- make-test-multiworker-os: 'debian-11 debian-12'
- make-test-os: 'ubuntu-20.04 ubuntu-22.04 ubuntu-24.04'
+ make-test-multiworker-os: 'debian-12'
+ make-test-os: 'ubuntu-22.04 ubuntu-24.04'
stream:
- 'master':
branch: 'master'
- 'vpp-gcc-verify-{stream}-{os}-{executor-arch}'
project: 'vpp'
os:
- - 'ubuntu2004'
- 'ubuntu2404'
make-parallel-jobs: '4'
executor-arch: 'x86_64'
project: 'vpp'
os: 'ubuntu2404'
make-parallel-jobs: '4'
- make-test-os: 'ubuntu-20.04 ubuntu-22.04 ubuntu-24.04'
+ make-test-os: 'ubuntu-22.04 ubuntu-24.04'
comment-trigger-value: 'debug-verify'
stream:
- 'master':
- 'vpp-merge-{stream}-{os}-{executor-arch}'
project: 'vpp'
os:
- - 'ubuntu2004'
- 'ubuntu2204'
- 'ubuntu2404'
make-parallel-jobs: '4'
- make-test-multiworker-os: 'debian-11'
- make-test-os: 'ubuntu-20.04 ubuntu-22.04 ubuntu-24.04'
+ make-test-multiworker-os: 'debian-12'
+ make-test-os: 'ubuntu-22.04 ubuntu-24.04'
stream:
- 'master':
branch: 'master'