]> jfr.im git - irc/znc/znc.git/blame - Jenkinsfile
Merge branch '1.9.x'
[irc/znc/znc.git] / Jenkinsfile
CommitLineData
9cfc7e8a
AS
1#!groovy
2
98a1a2dd
AS
3timestamps {
4 node('freebsd') {
f61eed7b 5 // freebsd 13.1 + pkg install git openjdk17 cmake icu pkgconf swig python3 boost-libs gettext-tools qt5-buildtools qt5-network qt5-qmake
7c6dc23f
AS
6 // Then fill known_hosts with https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/githubs-ssh-key-fingerprints
7 // (needed for crowdin cron job in jenkins)
2532aca9 8 timeout(time: 30, unit: 'MINUTES') {
ce79be8b 9 def wsdir = pwd()
2532aca9
AS
10 stage('Checkout') {
11 step([$class: 'WsCleanup'])
12 checkout scm
13 sh 'git submodule update --init --recursive'
14 }
ce79be8b 15 dir("$wsdir/build") {
9cfc7e8a 16 stage('Build') {
ce79be8b 17 sh "cmake $wsdir -DWANT_PERL=ON -DWANT_PYTHON=ON -DCMAKE_INSTALL_PREFIX=$wsdir/build/install-prefix"
2532aca9 18 sh 'make VERBOSE=1 all'
9cfc7e8a
AS
19 }
20 stage('Unit test') {
ce79be8b
AS
21 withEnv(['GTEST_OUTPUT=xml:unit-test.xml']) {
22 sh 'make unittest'
23 }
9cfc7e8a
AS
24 }
25 stage('Integration test') {
ce79be8b
AS
26 withEnv(['GTEST_OUTPUT=xml:integration-test.xml']) {
27 sh 'make install'
28 sh 'make inttest'
29 }
9cfc7e8a 30 }
ce79be8b 31 junit '**/*test.xml'
9cfc7e8a 32 }
9cfc7e8a 33 }
9cfc7e8a
AS
34 }
35}