This is an automated email from the ASF dual-hosted git repository. rlenferink pushed a commit to branch jenkinsfile-doxygen in repository https://gitbox.apache.org/repos/asf/celix-site.git
commit b0f90773b47cd273a49baaebfe9726742bd3d6d9 Author: Roy Lenferink <[email protected]> AuthorDate: Sun Apr 18 11:00:15 2021 +0200 Add Jenkinsfile for nightly Doxygen generated docs --- JenkinsfileDoxygen | 86 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) diff --git a/JenkinsfileDoxygen b/JenkinsfileDoxygen new file mode 100644 index 0000000..56685ef --- /dev/null +++ b/JenkinsfileDoxygen @@ -0,0 +1,86 @@ +#!groovy +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +pipeline { + agent { + // https://cwiki.apache.org/confluence/display/INFRA/ci-builds.apache.org + label 'ubuntu' + } + + triggers { + cron('H 2 * * *') + } + + options { + disableConcurrentBuilds() + } + + stages { + stage('Clone') { + steps { + git branch: 'master', url: 'https://github.com/apache/celix.git' + } + } + + stage('Generate Doxygen') { + agent { + docker { + image 'ghcr.io/rlenferink/doxygen:1.0.0' + reuseNode true + } + } + + steps { + sh 'DOXYGEN_OUTPUT_DIR=${WORKSPACE}/doxygen doxygen Doxyfile' + } + } + + stage('Prepare for upload') { + steps { + sh 'cd doxygen && mv html latest' + } + } + + stage('Upload to Nightlies') { + steps { + sshPublisher(publishers: [ + sshPublisherDesc( + configName: 'Nightlies', + transfers: [ + sshTransfer( + remoteDirectory: 'celix/latest', + cleanRemote: true, // Delete the existing 'latest' docs before adding the latest ones + sourceFiles: 'doxygen/latest/**/*', + removePrefix: 'doxygen/latest' + ) + ], + verbose: true + ) + ]) + } + } + } + + post { + always { + echo "Cleaning workspace ..." + deleteDir() + } + } +} +
