From 0e7201d993d35777c04f3eb3ee3a0e06c9dc88ab Mon Sep 17 00:00:00 2001 From: Robin Mueller Date: Fri, 19 Nov 2021 14:19:21 +0100 Subject: [PATCH] added automation files and updated README --- README.md | 4 ++-- automation/Dockerfile | 8 ++++++++ automation/Jenkinsfile | 46 ++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 56 insertions(+), 2 deletions(-) create mode 100644 automation/Dockerfile create mode 100644 automation/Jenkinsfile diff --git a/README.md b/README.md index 82602be..5cbc1b0 100644 --- a/README.md +++ b/README.md @@ -149,7 +149,7 @@ generation as a cross-platform solution. 2. Configure the build system ```sh - cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Debug -DOS_FSFW=host .. + cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Debug -DFSFW_OSAL=host .. ``` You can also use `-DOS_FSFW=linux` to use the Linux OSAL of the FSFW. @@ -183,7 +183,7 @@ as well to have a convenient way to configure the CMake build. 3. Configure the project and generate the native MinGW64 buildsystem ```sh - cmake -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Debug -DOS_FSFW=host .. + cmake -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Debug -DFSFW_OSAL=host .. ``` The build configuration can also be performed with the shell scripts located diff --git a/automation/Dockerfile b/automation/Dockerfile new file mode 100644 index 0000000..93a4fe7 --- /dev/null +++ b/automation/Dockerfile @@ -0,0 +1,8 @@ +FROM ubuntu:focal + +RUN apt-get update +RUN apt-get --yes upgrade + +#tzdata is a dependency, won't install otherwise +ARG DEBIAN_FRONTEND=noninteractive +RUN apt-get --yes install gcc g++ cmake make lcov git valgrind nano diff --git a/automation/Jenkinsfile b/automation/Jenkinsfile new file mode 100644 index 0000000..3d57ea0 --- /dev/null +++ b/automation/Jenkinsfile @@ -0,0 +1,46 @@ +pipeline { + agent any + environment { + BUILDDIR = 'build-Debug' + } + stages { + stage('Create Docker') { + agent { + dockerfile { + dir 'automation' + additionalBuildArgs '--no-cache' + reuseNode true + } + } + steps { + sh 'rm -rf $BUILDDIR' + } + } + stage('Configure') { + agent { + dockerfile { + dir 'automation' + reuseNode true + } + } + steps { + dir(BUILDDIR) { + sh 'cmake -DFSFW_OSAL=host ..' + } + } + } + stage('Build') { + agent { + dockerfile { + dir 'automation' + reuseNode true + } + } + steps { + dir(BUILDDIR) { + sh 'cmake --build . -j' + } + } + } + } +}