blob: 4da56c13910b55ddb954cd984e4b20e39e58d528 [file] [log] [blame]
/*
* Copyright (C) 2022 Savoir-faire Linux Inc.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation; either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public
* License along with this program. If not, see
* <https://www.gnu.org/licenses/>.
*/
// Requirements:
// - gerrit-trigger plugin
// - Docker plugin
// - ansicolor plugin
pipeline {
agent any
triggers {
gerrit customUrl: '',
gerritProjects: [
[branches: [[compareType: 'PLAIN', pattern: 'master']],
compareType: 'PLAIN',
disableStrictForbiddenFileVerification: false,
pattern: 'jami-web']],
triggerOnEvents: [
commentAddedContains('!build'),
patchsetCreated(excludeDrafts: true, excludeNoCodeChange: true,
excludeTrivialRebase: true)]
}
options {
ansiColor('xterm')
}
parameters {
string(name: 'GERRIT_REFSPEC',
defaultValue: 'refs/heads/master',
description: 'The Gerrit refspec to fetch.')
}
stages {
stage('Initialize submodules') {
steps {
sh "git submodule update --init --recursive"
}
}
stage('Build jami-daemon') {
steps {
dir("daemon") {
sh "docker build --build-arg config_args=\"--with-nodejs\" -t jami-daemon ."
}
}
}
stage('Lint & test') {
steps {
script {
docker.build("jami-web:${env.BUILD_ID}", "--target test .")
}
}
}
stage('Build') {
steps {
script {
docker.build("jami-web:${env.BUILD_ID}", "--target build .")
}
}
}
}
}