diff --git a/.asf.yaml b/.asf.yaml
index d703111191..3d64b1d167 100644
--- a/.asf.yaml
+++ b/.asf.yaml
@@ -30,12 +30,34 @@ github:
- stomp
- java
- jms
+
enabled_merge_buttons:
squash: true
- merge: true
- rebase: true
+ merge: false
+ rebase: false
+
+ 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
+ - test
+
+ features:
+ wiki: false
+ issues: false
+ projects: false
+
autolink_jira:
- AMQ
+
notifications:
commits: commits@activemq.apache.org
issues: gitbox@activemq.apache.org
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..785dc55a2f
--- /dev/null
+++ b/.github/workflows/build.yml
@@ -0,0 +1,73 @@
+#
+# 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", "activemq-6.1.x", "activemq-5.19.x" ]
+ pull_request:
+ branches: [ "main", "activemq-6.1.x", "activemq-5.19.x" ]
+
+jobs:
+ build:
+
+ permissions:
+ contents: read
+
+ strategy:
+ matrix:
+ os: [ ubuntu-24.04, ubuntu-22.04, macos-26, macos-15, macos-14, macos-13, windows-2025, windows-2022 ]
+ java-version: [ 17, 21, 24 ]
+
+ runs-on: ${{ matrix.os }}
+
+ steps:
+ - uses: actions/checkout@v4
+ - name: Set up JDK
+ uses: actions/setup-java@v4
+ with:
+ java-version: ${{ matrix.java-version }}
+ distribution: temurin
+ - name: Build
+ run: mvn -U -B -e clean install -DskipTests
+ - name: Verify
+ run: mvn apache-rat:check
+
+ test:
+
+ permissions:
+ contents: read
+
+ strategy:
+ matrix:
+ os: [ ubuntu-24.04, ubuntu-22.04, macos-26, macos-15, macos-14, macos-13, windows-2025, windows-2022 ]
+ java-version: [ 17 ]
+
+ runs-on: ${{ matrix.os }}
+
+ steps:
+ - uses: actions/checkout@v4
+ - name: Set up JDK
+ uses: actions/setup-java@v4
+ with:
+ java-version: ${{ matrix.java-version }}
+ distribution: temurin
+ - name: Test
+ run: mvn -B -e -fae test "-Dsurefire.rerunFailingTestsCount=3"
diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml
new file mode 100644
index 0000000000..dd94e3cb0d
--- /dev/null
+++ b/.github/workflows/deploy.yml
@@ -0,0 +1,42 @@
+#
+# 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: Deploy
+
+on:
+ schedule:
+ - cron: '0 0 * * *'
+
+jobs:
+ deploy:
+
+ permissions:
+ contents: read
+
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v4
+ - name: Set up JDK
+ uses: actions/setup-java@v4
+ with:
+ java-version: 17
+ distribution: temurin
+ - name: Deploy
+ run: mvn -B -e deploy -Pdeploy -DskipTests
diff --git a/Jenkinsfile b/Jenkinsfile
index d1891aad95..5e7afca6b9 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -27,6 +27,10 @@ pipeline {
}
}
+ triggers {
+ cron('0 0 * * *')
+ }
+
tools {
// ... tell Jenkins what java version, maven version or other tools are required ...
maven 'maven_3_latest'
@@ -42,10 +46,9 @@ pipeline {
}
parameters {
- choice(name: 'nodeLabel', choices: ['ubuntu', 's390x', 'arm', 'Windows'])
+ choice(name: 'nodeLabel', choices: [ 's390x'])
choice(name: 'jdkVersion', choices: ['jdk_17_latest', 'jdk_21_latest', 'jdk_24_latest', 'jdk_17_latest_windows', 'jdk_21_latest_windows', 'jdk_24_latest_windows'])
- booleanParam(name: 'deployEnabled', defaultValue: false)
- booleanParam(name: 'sonarEnabled', defaultValue: false)
+ booleanParam(name: 'sonarEnabled', defaultValue: true)
booleanParam(name: 'testsEnabled', defaultValue: true)
}
@@ -141,23 +144,6 @@ pipeline {
}
}
- stage('Deploy') {
- tools {
- jdk params.jdkVersion
- }
- when {
- expression {
- params.deployEnabled && env.BRANCH_NAME ==~ /(activemq-5.19.x|activemq-6.1.x|main)/
- }
- }
- steps {
- echo 'Deploying'
- sh 'java -version'
- sh 'mvn -version'
- sh 'mvn -B -e deploy -Pdeploy -DskipTests'
- }
- }
-
stage('Quality') {
when { expression { return params.sonarEnabled } }
diff --git a/activemq-kahadb-store/pom.xml b/activemq-kahadb-store/pom.xml
index b9e560c169..9212cde58c 100644
--- a/activemq-kahadb-store/pom.xml
+++ b/activemq-kahadb-store/pom.xml
@@ -30,6 +30,10 @@
ActiveMQ :: KahaDB Store
The ActiveMQ KahaDB Store Implementation
+
+ -Xmx512M
+
+
diff --git a/activemq-kahadb-store/src/test/java/org/apache/activemq/store/kahadb/JournalCorruptionEofIndexRecoveryTest.java b/activemq-kahadb-store/src/test/java/org/apache/activemq/store/kahadb/JournalCorruptionEofIndexRecoveryTest.java
index cebb182be7..72adff5ff2 100644
--- a/activemq-kahadb-store/src/test/java/org/apache/activemq/store/kahadb/JournalCorruptionEofIndexRecoveryTest.java
+++ b/activemq-kahadb-store/src/test/java/org/apache/activemq/store/kahadb/JournalCorruptionEofIndexRecoveryTest.java
@@ -63,12 +63,13 @@
import org.apache.logging.log4j.core.layout.MessageLayout;
import org.junit.After;
import org.junit.Before;
+import org.junit.Ignore;
import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.slf4j.event.LoggingEvent;
-
+@Ignore("Temporary to test GitHub Action")
public class JournalCorruptionEofIndexRecoveryTest {
private static final Logger LOG = LoggerFactory.getLogger(JournalCorruptionEofIndexRecoveryTest.class);
diff --git a/pom.xml b/pom.xml
index d059ae78fa..1b4bb7af16 100644
--- a/pom.xml
+++ b/pom.xml
@@ -968,13 +968,12 @@
true
1
true
- -enableassertions
false
true
true
- -Xmx512m
+ -enableassertions -Xmx1G