This is an automated email from the ASF dual-hosted git repository.
elecharny pushed a commit to branch bugfix/DIRMINA-1173
in repository https://gitbox.apache.org/repos/asf/mina.git
The following commit(s) were added to refs/heads/bugfix/DIRMINA-1173 by this
push:
new 0fc698a63 Added a JenkinsFile
0fc698a63 is described below
commit 0fc698a637e834fe5ca9d6b4e41cd4123de94e2d
Author: emmanuel lecharny <[email protected]>
AuthorDate: Wed Sep 11 11:50:58 2024 +0200
Added a JenkinsFile
---
.gitignore | 1 -
JenkinsFile | 131 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 131 insertions(+), 1 deletion(-)
diff --git a/.gitignore b/.gitignore
index 0b2f52328..00930c7b0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -12,5 +12,4 @@ bin/
.clover
META-INF/
Dockerfile
-Jenkinsfile
/.idea/
diff --git a/JenkinsFile b/JenkinsFile
new file mode 100644
index 000000000..5c54d6363
--- /dev/null
+++ b/JenkinsFile
@@ -0,0 +1,131 @@
+/*
+ * 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 none
+ options {
+ buildDiscarder(logRotator(numToKeepStr: '10'))
+ timeout(time: 8, unit: 'HOURS')
+ }
+ tools {
+ maven 'maven_3_latest'
+ jdk params.jdkVersion
+ }
+ options {
+ // Configure an overall timeout for the build of ten hours.
+ timeout(time: 20, unit: 'HOURS')
+ // When we have test-fails e.g. we don't need to run the remaining steps
+ buildDiscarder(logRotator(numToKeepStr: '5', artifactNumToKeepStr: '5'))
+ disableConcurrentBuilds()
+ }
+ parameters {
+ choice(name: 'nodeLabel', choices: ['ubuntu', 'arm', 'Windows'])
+ choice(name: 'jdkVersion', choices: ['jdk_8_latest', 'jdk_11_latest',
'jdk_17_latest', 'jdk_21_latest', 'jdk_22_latest', 'jdk_8_latest_windows',
'jdk_11_latest_windows', 'jdk_17_latest_windows', 'jdk_21_latest_windows',
'jdk_22_latest_windows'])
+ booleanParam(name: 'deployEnabled', defaultValue: false)
+ booleanParam(name: 'sonarEnabled', defaultValue: false)
+ booleanParam(name: 'testsEnabled', defaultValue: true)
+ }
+
+ triggers {
+ cron('@weekly')
+ pollSCM('@daily')
+ }
+ stages {
+ stage('Initialization') {
+ steps {
+ echo "running on ${env.NODE_NAME}"
+ echo 'Building branch ' + env.BRANCH_NAME
+ echo 'Using PATH ' + env.PATH
+ }
+ }
+
+ stage('Cleanup') {
+ steps {
+ echo 'Cleaning up the workspace'
+ deleteDir()
+ }
+ }
+
+ stage('Checkout') {
+ steps {
+ echo 'Checking out branch ' + env.BRANCH_NAME
+ checkout scm
+ }
+ }
+
+ stage('Build JDK 22') {
+ tools {
+ jdk "jdk_22_latest"
+ }
+ steps {
+ echo 'Building JDK 22'
+ sh 'java -version'
+ sh 'mvn -version'
+ sh 'mvn clean install -Pserial'
+ }
+ }
+
+ stage('Build JDK 21') {
+ tools {
+ jdk "jdk_21_latest"
+ }
+ steps {
+ echo 'Building JDK 21'
+ sh 'java -version'
+ sh 'mvn -version'
+ sh 'mvn clean install -Pserial'
+ }
+ }
+
+ stage('Build JDK 17') {
+ tools {
+ jdk "jdk_17"
+ }
+ steps {
+ echo 'Building JDK 17'
+ sh 'java -version'
+ sh 'mvn -version'
+ sh 'mvn clean install -Pserial'
+ }
+ }
+
+ stage('Build JDK 11') {
+ tools {
+ jdk "jdk_11"
+ }
+ steps {
+ echo 'Building JDK 11'
+ sh 'java -version'
+ sh 'mvn -version'
+ sh 'mvn clean install -Pserial'
+ }
+ }
+
+ stage('Build JDK 8') {
+ tools {
+ jdk "jdk_8"
+ }
+ steps {
+ echo 'Building JDK 8'
+ sh 'java -version'
+ sh 'mvn -version'
+ sh 'mvn clean install -Pserial'
+ }
+ }
+ }
+}