Skip to content

Commit da8fd55

Browse files
committed
Working with test containers
1 parent 93613a1 commit da8fd55

File tree

2 files changed

+125
-53
lines changed

2 files changed

+125
-53
lines changed
Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
FROM ubuntu:18.04
1+
FROM ubuntu:25.04
22

33
MAINTAINER Jarle Aase <jgaa@jgaa.com>
44

55
RUN DEBIAN_FRONTEND="noninteractive" apt-get -q update &&\
66
DEBIAN_FRONTEND="noninteractive" apt-get -y -q --no-install-recommends upgrade &&\
77
DEBIAN_FRONTEND="noninteractive" apt-get install -y -q openssh-server g++ git gpgv \
8-
automake autoconf build-essential \
8+
automake autoconf build-essential rapidjson-dev \
99
zlib1g-dev g++ cmake make libboost-all-dev libssl-dev \
1010
default-jdk &&\
1111
apt-get -y -q autoremove &&\
@@ -14,7 +14,6 @@ RUN DEBIAN_FRONTEND="noninteractive" apt-get -q update &&\
1414
# Set user jenkins to the image
1515
RUN useradd -m -d /home/jenkins -s /bin/sh jenkins &&\
1616
echo "jenkins:jenkins" | chpasswd &&\
17-
mkdir -p /home/jenkins/build/workspace/restc-staging &&\
1817
mkdir -p /run/sshd
1918

2019
# Standard SSH port

ci/jenkins/Jenkinsfile.groovy

Lines changed: 123 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,74 @@ pipeline {
5353
}
5454
}
5555

56+
stage('Ubuntu Plucky') {
57+
agent {
58+
dockerfile {
59+
filename 'Dockerfile.ubuntu-plucky'
60+
dir 'ci/jenkins'
61+
label 'docker'
62+
args '-u root'
63+
}
64+
}
65+
66+
options {
67+
timeout(time: 30, unit: "MINUTES")
68+
}
69+
70+
steps {
71+
echo "Building on ubuntu-plucky-AMD64 in ${NODE_NAME} --> ${WORKSPACE}"
72+
checkout scm
73+
sh 'pwd; ls -la'
74+
sh 'rm -rf build'
75+
sh 'mkdir build'
76+
sh 'cd build && cmake -DCMAKE_BUILD_TYPE=Release .. && make -j $(nproc)'
77+
78+
echo 'Getting ready to run tests'
79+
script {
80+
try {
81+
sh 'cd build && ctest --no-compress-output -T Test'
82+
} catch (exc) {
83+
84+
unstable(message: "${STAGE_NAME} - Testing failed")
85+
}
86+
}
87+
}
88+
}
89+
90+
stage('Ubuntu Plucky MT CTX') {
91+
agent {
92+
dockerfile {
93+
filename 'Dockerfile.ubuntu-plucky'
94+
dir 'ci/jenkins'
95+
label 'docker'
96+
args '-u root'
97+
}
98+
}
99+
100+
options {
101+
timeout(time: 30, unit: "MINUTES")
102+
}
103+
104+
steps {
105+
echo "Building on ubuntu-plucky-MT-AMD64 in ${NODE_NAME} --> ${WORKSPACE}"
106+
checkout scm
107+
sh 'pwd; ls -la'
108+
sh 'rm -rf build'
109+
sh 'mkdir build'
110+
sh 'cd build && cmake -DRESTC_CPP_THREADED_CTX=ON -DCMAKE_BUILD_TYPE=Release .. && make -j $(nproc)'
111+
112+
echo 'Getting ready to run tests'
113+
script {
114+
try {
115+
sh 'cd build && ctest --no-compress-output -T Test'
116+
} catch (exc) {
117+
118+
unstable(message: "${STAGE_NAME} - Testing failed")
119+
}
120+
}
121+
}
122+
}
123+
56124
stage('Ubuntu Noble') {
57125
agent {
58126
dockerfile {
@@ -121,7 +189,7 @@ pipeline {
121189
}
122190
}
123191

124-
stage('Ubuntu Jammy') {
192+
stage('Ubuntu Jammy') {
125193
agent {
126194
dockerfile {
127195
filename 'Dockefile.ubuntu-jammy'
@@ -189,10 +257,10 @@ pipeline {
189257
}
190258
}
191259

192-
stage('Ubuntu Bionic') {
260+
stage('Ubuntu Jammy') {
193261
agent {
194262
dockerfile {
195-
filename 'Dockerfile.ubuntu-bionic'
263+
filename 'Dockefile.ubuntu-jammy'
196264
dir 'ci/jenkins'
197265
label 'docker'
198266
args '-u root'
@@ -204,11 +272,12 @@ pipeline {
204272
}
205273

206274
steps {
207-
echo "Building on ubuntu-bionic-AMD64 in ${NODE_NAME} --> ${WORKSPACE}"
275+
echo "Building on ubuntu-jammy-AMD64 in ${NODE_NAME} --> ${WORKSPACE}"
208276
checkout scm
277+
sh 'pwd; ls -la'
209278
sh 'rm -rf build'
210279
sh 'mkdir build'
211-
sh 'cd build && cmake -DGTEST_TAG=release-1.12.0 -DCMAKE_BUILD_TYPE=Release .. && make -j $(nproc)'
280+
sh 'cd build && cmake -DCMAKE_BUILD_TYPE=Release .. && make -j $(nproc)'
212281

213282
echo 'Getting ready to run tests'
214283
script {
@@ -575,51 +644,55 @@ pipeline {
575644
}
576645
}
577646

578-
// stage('Windows X64 with vcpkg MT CTX') {
579-
580-
// agent {label 'windows'}
581-
582-
// options {
583-
// // vcpkg now installs and compiles pretty much everything that exists on github if you ask it to prepare boost and openssl.
584-
// // It's becoming as bad as js and npm.
585-
// timeout(time: 60, unit: "MINUTES")
586-
// }
587-
588-
// steps {
589-
// echo "Building on Windows in ${WORKSPACE}"
590-
// checkout scm
591-
592-
// bat script: '''
593-
// PATH=%PATH%;C:\\Program Files\\CMake\\bin;C:\\src\\vcpkg;C:\\Program Files\\Git\\bin
594-
// vcpkg integrate install
595-
// vcpkg install rapidjson gtest zlib openssl boost --triplet x64-windows
596-
// if %errorlevel% neq 0 exit /b %errorlevel%
597-
// rmdir /S /Q build
598-
// mkdir build
599-
// cd build
600-
// cmake -DRESTC_CPP_THREADED_CTX=ON -DCMAKE_TOOLCHAIN_FILE=C:/src/vcpkg/scripts/buildsystems/vcpkg.cmake ..
601-
// if %errorlevel% neq 0 exit /b %errorlevel%
602-
// cmake --build . --config Release
603-
// if %errorlevel% neq 0 exit /b %errorlevel%
604-
// echo "Build is OK"
605-
// '''
606-
607-
// echo 'Getting ready to run tests'
608-
// script {
609-
// try {
610-
// bat script: '''
611-
// PATH=%PATH%;C:\\src\\vcpkg\\installed\\x64-windows\\bin;C:\\Program Files\\CMake\\bin
612-
// cd build
613-
// ctest -C Release
614-
// if %errorlevel% neq 0 exit /b %errorlevel%
615-
// '''
616-
// } catch (exc) {
617-
618-
// unstable(message: "${STAGE_NAME} - Testing failed")
619-
// }
620-
// }
621-
// }
622-
// }
647+
648+
stage('Windows X64 with vcpkg MT CTX') {
649+
650+
agent {label 'windows'}
651+
652+
options {
653+
// vcpkg now installs and compiles pretty much everything that exists on github if you ask it to prepare boost and openssl.
654+
// It's becoming as bad as js and npm.
655+
timeout(time: 60, unit: "MINUTES")
656+
}
657+
658+
steps {
659+
echo "Building on Windows in ${WORKSPACE}"
660+
checkout scm
661+
662+
bat script: '''
663+
PATH=C:\\src\\vcpkg;%PATH%;C:\\Program Files\\CMake\\bin;C:\\Program Files\\Git\\bin
664+
git -C C:\\src\\vcpkg pull --rebase
665+
vcpkg upgrade --no-dry-run
666+
vcpkg remove --outdated
667+
vcpkg integrate install
668+
vcpkg install rapidjson gtest zlib openssl boost-program-options boost-filesystem boost-date-time boost-coroutine boost-context boost-chrono boost-asio boost-system boost-log --triplet x64-windows
669+
if %errorlevel% neq 0 exit /b %errorlevel%
670+
rmdir /S /Q build
671+
mkdir build
672+
cd build
673+
cmake -DRESTC_CPP_THREADED_CTX=ON -DCMAKE_TOOLCHAIN_FILE=C:/src/vcpkg/scripts/buildsystems/vcpkg.cmake ..
674+
if %errorlevel% neq 0 exit /b %errorlevel%
675+
cmake --build . --config Release
676+
if %errorlevel% neq 0 exit /b %errorlevel%
677+
echo "Build is OK"
678+
'''
679+
680+
echo 'Getting ready to run tests'
681+
script {
682+
try {
683+
bat script: '''
684+
PATH=%PATH%;C:\\src\\vcpkg\\installed\\x64-windows\\bin;C:\\Program Files\\CMake\\bin
685+
cd build
686+
ctest -C Release
687+
if %errorlevel% neq 0 exit /b %errorlevel%
688+
'''
689+
} catch (exc) {
690+
691+
unstable(message: "${STAGE_NAME} - Testing failed")
692+
}
693+
}
694+
}
695+
}
623696

624697
} // parallel
625698

0 commit comments

Comments
 (0)