This is an automated email from the ASF dual-hosted git repository.

jbonofre pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/karaf.git


The following commit(s) were added to refs/heads/main by this push:
     new 1d1a601b5b Move to GitHub resources: (#1965)
1d1a601b5b is described below

commit 1d1a601b5b16060a6d9f73f67b20bf61c4898c7d
Author: JB Onofré <[email protected]>
AuthorDate: Fri Aug 22 07:38:31 2025 +0200

    Move to GitHub resources: (#1965)
    
    - enable GitHub Issues
    - replace Jenkins by GitHub Action
---
 .asf.yaml                   |  39 ++++++++-
 .github/dependabot.yml      |  36 ++++++++
 .github/workflows/build.yml |  46 ++++++++++
 Jenkinsfile                 | 200 --------------------------------------------
 4 files changed, 119 insertions(+), 202 deletions(-)

diff --git a/.asf.yaml b/.asf.yaml
index d0cb88776d..9694735b6d 100644
--- a/.asf.yaml
+++ b/.asf.yaml
@@ -15,8 +15,43 @@
 # limitations under the License.
 #
 
-notifications:
-  pullrequests: [email protected]
 github:
+  description: "Apache Karaf, the enterprise modulith runtime"
+  homepage: https://karaf.apache.org
+  labels:
+    - apache
+    - karaf
+    - osgi
+    - modulith
+
+  enabled_merge_buttons:
+    merge: false
+    rebase: false
+    squash: true
+
+  del_branch_on_merge: true
+  
+  protected_branches:
+    main:
+      required_pull_request_reviews:
+        require_code_owner_reviews: false
+        required_approving_review_count: 0
+      required_linear_history: true
+      required_status_checks:
+        strict: false
+        contexts:
+          - build
+
+  features:
+    wiki: false
+    issues: true
+    projects: true
+
   autolink_jira:
     - KARAF
+
+notifications:
+  commits: [email protected]
+  issues: [email protected]
+  pullrequests: [email protected]
+  jira_options: link label
diff --git a/.github/dependabot.yml b/.github/dependabot.yml
new file mode 100644
index 0000000000..686695e99a
--- /dev/null
+++ b/.github/dependabot.yml
@@ -0,0 +1,36 @@
+#
+# 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
+#
+#   http://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.
+#
+
+version: 2
+updates:
+  - package-ecosystem: "github-actions"
+    directory: "/"
+    schedule:
+      interval: "daily"
+    ignore:
+      - dependency-name: "*"
+        update-types: ["version-update:semver-major"]
+  - package-ecosystem: "maven"
+    directory: "/"
+    schedule:
+      interval: "daily"
+    open-pull-requests-limit: 50
+    ignore:
+      - dependency-name: "*"
+        update-types: ["version-update:semver-major"]
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
new file mode 100644
index 0000000000..5f345b0573
--- /dev/null
+++ b/.github/workflows/build.yml
@@ -0,0 +1,46 @@
+#
+# 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
+#
+#   http://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.
+#
+
+name: Build
+
+on:
+  push:
+    branches: [ "main" ]
+  pull_request:
+    branches: [ "main" ]
+
+jobs:
+  build:
+
+    runs-on: ubuntu-latest
+    permissions:
+      contents: read
+
+    steps:
+      - uses: actions/checkout@v4
+      - name: Set up JDK 11
+        uses: actions/setup-java@v4
+        with:
+          java-version: '11'
+          distribution: 'temurin'
+          architecture: 'x64'
+      - name: Building
+        run: mvn -U -B -e clean install -DskipTests -Prat
+      - name: Tests
+        run: mvn -B -fae -e test
diff --git a/Jenkinsfile b/Jenkinsfile
deleted file mode 100644
index 7a4cfd09f7..0000000000
--- a/Jenkinsfile
+++ /dev/null
@@ -1,200 +0,0 @@
-#!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
- *
- *      http://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 {
-        node {
-            label 'ubuntu'
-        }
-    }
-
-    environment {
-        // ... setup any environment variables ...
-        MVN_LOCAL_REPO_OPT = '-Dmaven.repo.local=.repository'
-        MVN_TEST_FAIL_IGNORE = '-Dmaven.test.failure.ignore=true'
-    }
-
-    tools {
-        // ... tell Jenkins what java version, maven version or other tools 
are required ...
-        maven 'maven_3_latest'
-        jdk 'jdk_11_latest'
-    }
-
-    options {
-        // Configure an overall timeout for the build of one hour.
-        timeout(time: 5, unit: 'HOURS')
-        // When we have test-fails e.g. we don't need to run the remaining 
steps
-        skipStagesAfterUnstable()
-        buildDiscarder(logRotator(numToKeepStr: '5', artifactNumToKeepStr: 
'5'))
-    }
-
-    stages {
-        stage('Initialization') {
-            steps {
-                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 20') {
-            tools {
-                jdk "jdk_20_latest"
-            }
-            steps {
-                echo 'Building JDK 20'
-                sh 'java -version'
-                sh 'mvn -version'
-                sh 'mvn -U -B -e clean install -DskipTests'
-            }
-        }
-
-        stage('Build JDK 17') {
-            tools {
-                jdk "jdk_17_latest"
-            }
-            steps {
-                echo 'Building JDK 17'
-                sh 'java -version'
-                sh 'mvn -version'
-                sh 'mvn -U -B -e clean install -DskipTests'
-            }
-        }
-
-        stage('Build JDK 11') {
-            tools {
-                jdk "jdk_11_latest"
-            }
-            steps {
-                echo 'Building JDK 11'
-                sh 'java -version'
-                sh 'mvn -version'
-                sh 'mvn -U -B -e clean install -DskipTests -Dinvoker.skip=true 
-Prat'
-            }
-        }
-
-        stage('Tests') {
-            steps {
-                echo 'Running tests'
-                sh 'mvn -B -e -fae test -Ptest'
-            }
-            post {
-                always {
-                    junit(testResults: '**/surefire-reports/*.xml', 
allowEmptyResults: true)
-                    junit(testResults: '**/failsafe-reports/*.xml', 
allowEmptyResults: true)
-                }
-            }
-        }
-
-        // stage('Code Quality') {
-        //    steps {
-        //        echo 'Checking Code Quality on SonarCloud'
-        //        withCredentials([string(credentialsId: 
'sonarcloud-key-apache-karaf', variable: 'SONAR_TOKEN')]) {
-        //            sh 'mvn sonar:sonar 
-Dsonar.host.url=https://sonarcloud.io -Dsonar.organization=apache 
-Dsonar.projectKey=apache_karaf -Dsonar.branch.name=${BRANCH_NAME} 
-Dsonar.login=${SONAR_TOKEN}'
-        //        }
-        //    }
-        //}
-
-        stage('Deploy') {
-            when {
-                expression {
-                    env.BRANCH_NAME ==~ /(karaf-4.3.x|karaf-4.4.x|main)/
-                }
-            }
-            steps {
-                echo 'Deploying'
-                sh 'mvn -B -e deploy -Pdeploy -DskipTests'
-            }
-        }
-    }
-
-    // Do any post build stuff ... such as sending emails depending on the 
overall build result.
-    post {
-        // If this build failed, send an email to the list.
-        failure {
-            script {
-                if(env.BRANCH_NAME == "karaf-4.3.x" || env.BRANCH_NAME == 
"karaf-4.4.x" || env.BRANCH_NAME == "main") {
-                    emailext(
-                            subject: "[BUILD-FAILURE]: Job '${env.JOB_NAME} 
[${env.BRANCH_NAME}] [${env.BUILD_NUMBER}]'",
-                            body: """
-BUILD-FAILURE: Job '${env.JOB_NAME} [${env.BRANCH_NAME}] 
[${env.BUILD_NUMBER}]':
-Check console output at "<a href="${env.BUILD_URL}">${env.JOB_NAME} 
[${env.BRANCH_NAME}] [${env.BUILD_NUMBER}]</a>"
-""",
-                            to: "[email protected]",
-                            recipientProviders: [[$class: 
'DevelopersRecipientProvider']]
-                    )
-                }
-            }
-        }
-
-        // If this build didn't fail, but there were failing tests, send an 
email to the list.
-        unstable {
-            script {
-                if(env.BRANCH_NAME == "karaf-4.3.x" || env.BRANCH_NAME == 
"karaf-4.4.x" || env.BRANCH_NAME == "main") {
-                    emailext(
-                            subject: "[BUILD-UNSTABLE]: Job '${env.JOB_NAME} 
[${env.BRANCH_NAME}] [${env.BUILD_NUMBER}]'",
-                            body: """
-BUILD-UNSTABLE: Job '${env.JOB_NAME} [${env.BRANCH_NAME}] 
[${env.BUILD_NUMBER}]':
-Check console output at "<a href="${env.BUILD_URL}">${env.JOB_NAME} 
[${env.BRANCH_NAME}] [${env.BUILD_NUMBER}]</a>"
-""",
-                            to: "[email protected]",
-                            recipientProviders: [[$class: 
'DevelopersRecipientProvider']]
-                    )
-                }
-            }
-        }
-
-        // Send an email, if the last build was not successful and this one is.
-        success {
-            // Cleanup the build directory if the build was successful
-            // (in this cae we probably don't have to do any post-build 
analysis)
-            deleteDir()
-            script {
-                if ((env.BRANCH_NAME == "karaf-4.3.x" || env.BRANCH_NAME == 
"karaf-4.4.x" || env.BRANCH_NAME == "main") && (currentBuild.previousBuild != 
null) && (currentBuild.previousBuild.result != 'SUCCESS')) {
-                    emailext (
-                            subject: "[BUILD-STABLE]: Job '${env.JOB_NAME} 
[${env.BRANCH_NAME}] [${env.BUILD_NUMBER}]'",
-                            body: """
-BUILD-STABLE: Job '${env.JOB_NAME} [${env.BRANCH_NAME}] [${env.BUILD_NUMBER}]':
-Is back to normal.
-""",
-                            to: "[email protected]",
-                            recipientProviders: [[$class: 
'DevelopersRecipientProvider']]
-                    )
-                }
-            }
-        }
-    }
-
-}

Reply via email to