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()
+        }
+    }
+}
+

Reply via email to