This is an automated email from the ASF dual-hosted git repository.
lhotari pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pulsar.git
The following commit(s) were added to refs/heads/master by this push:
new 2233fa89414 [improve][ci] Upgrade GitHub Actions workflows to use
ubuntu-24.04 (#24841)
2233fa89414 is described below
commit 2233fa894149dcf2e49614bbbc4c6ee42a72fac8
Author: Lari Hotari <[email protected]>
AuthorDate: Mon Oct 13 22:12:37 2025 +0300
[improve][ci] Upgrade GitHub Actions workflows to use ubuntu-24.04 (#24841)
---
.github/workflows/ci-documentbot.yml | 2 +-
.github/workflows/ci-go-functions.yaml | 4 +--
.github/workflows/ci-maven-cache-update.yaml | 4 +--
.github/workflows/ci-owasp-dependency-check.yaml | 2 +-
.github/workflows/ci-pulsarbot.yaml | 2 +-
.github/workflows/pulsar-ci-flaky.yaml | 4 +--
.github/workflows/pulsar-ci.yaml | 32 +++++++++++-----------
build/run_unit_group.sh | 4 ++-
.../offload/jcloud/impl/OffsetsCacheTest.java | 2 +-
9 files changed, 29 insertions(+), 27 deletions(-)
diff --git a/.github/workflows/ci-documentbot.yml
b/.github/workflows/ci-documentbot.yml
index 1006661b60d..98e86eb6a07 100644
--- a/.github/workflows/ci-documentbot.yml
+++ b/.github/workflows/ci-documentbot.yml
@@ -36,7 +36,7 @@ jobs:
if: (github.repository == 'apache/pulsar') &&
(github.event.pull_request.state == 'open')
permissions:
pull-requests: write
- runs-on: ubuntu-22.04
+ runs-on: ubuntu-24.04
steps:
- name: Labeling
uses: apache/pulsar-test-infra/docbot@master
diff --git a/.github/workflows/ci-go-functions.yaml
b/.github/workflows/ci-go-functions.yaml
index 5fbd85eb012..f4934a45acb 100644
--- a/.github/workflows/ci-go-functions.yaml
+++ b/.github/workflows/ci-go-functions.yaml
@@ -37,7 +37,7 @@ env:
jobs:
preconditions:
name: Preconditions
- runs-on: ubuntu-22.04
+ runs-on: ubuntu-24.04
outputs:
docs_only: ${{ steps.check_changes.outputs.docs_only }}
steps:
@@ -72,7 +72,7 @@ jobs:
needs: preconditions
if: ${{ needs.preconditions.outputs.docs_only != 'true' }}
name: Go ${{ matrix.go-version }} Functions style check
- runs-on: ubuntu-22.04
+ runs-on: ubuntu-24.04
strategy:
matrix:
go-version: ['1.23']
diff --git a/.github/workflows/ci-maven-cache-update.yaml
b/.github/workflows/ci-maven-cache-update.yaml
index 6b0310e4871..ac0f66e3837 100644
--- a/.github/workflows/ci-maven-cache-update.yaml
+++ b/.github/workflows/ci-maven-cache-update.yaml
@@ -59,7 +59,7 @@ jobs:
matrix:
include:
- name: all modules
- runs-on: ubuntu-22.04
+ runs-on: ubuntu-24.04
cache_name: 'm2-dependencies-all'
mvn_arguments: ''
@@ -68,7 +68,7 @@ jobs:
cache_name: 'm2-dependencies-all'
- name: core-modules
- runs-on: ubuntu-22.04
+ runs-on: ubuntu-24.04
cache_name: 'm2-dependencies-core-modules'
mvn_arguments: '-Pcore-modules,-main'
diff --git a/.github/workflows/ci-owasp-dependency-check.yaml
b/.github/workflows/ci-owasp-dependency-check.yaml
index 9f6c90d359d..ce24b7bb10c 100644
--- a/.github/workflows/ci-owasp-dependency-check.yaml
+++ b/.github/workflows/ci-owasp-dependency-check.yaml
@@ -35,7 +35,7 @@ jobs:
env:
JOB_NAME: Check ${{ matrix.branch }}
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
- runs-on: ubuntu-22.04
+ runs-on: ubuntu-24.04
timeout-minutes: 75
strategy:
fail-fast: false
diff --git a/.github/workflows/ci-pulsarbot.yaml
b/.github/workflows/ci-pulsarbot.yaml
index 4ea83404856..e0dabac1193 100644
--- a/.github/workflows/ci-pulsarbot.yaml
+++ b/.github/workflows/ci-pulsarbot.yaml
@@ -24,7 +24,7 @@ on:
jobs:
pulsarbot:
- runs-on: ubuntu-22.04
+ runs-on: ubuntu-24.04
timeout-minutes: 10
if: github.event_name == 'issue_comment' &&
contains(github.event.comment.body, '/pulsarbot')
steps:
diff --git a/.github/workflows/pulsar-ci-flaky.yaml
b/.github/workflows/pulsar-ci-flaky.yaml
index 9b867b1d595..cc2174d9312 100644
--- a/.github/workflows/pulsar-ci-flaky.yaml
+++ b/.github/workflows/pulsar-ci-flaky.yaml
@@ -86,7 +86,7 @@ env:
jobs:
preconditions:
name: Preconditions
- runs-on: ubuntu-22.04
+ runs-on: ubuntu-24.04
outputs:
docs_only: ${{ steps.check_changes.outputs.docs_only }}
changed_tests: ${{ steps.changes.outputs.tests_files }}
@@ -175,7 +175,7 @@ jobs:
THREAD_LEAK_DETECTOR_DIR: ${{ github.workspace
}}/target/thread-leak-dumps
NETTY_LEAK_DETECTION: "${{
needs.preconditions.outputs.netty_leak_detection }}"
NETTY_LEAK_DUMP_DIR: ${{ github.workspace }}/target/netty-leak-dumps
- runs-on: ubuntu-22.04
+ runs-on: ubuntu-24.04
timeout-minutes: 100
if: ${{ needs.preconditions.outputs.docs_only != 'true' }}
steps:
diff --git a/.github/workflows/pulsar-ci.yaml b/.github/workflows/pulsar-ci.yaml
index 9f904fc2909..d8ddb7d51a0 100644
--- a/.github/workflows/pulsar-ci.yaml
+++ b/.github/workflows/pulsar-ci.yaml
@@ -94,7 +94,7 @@ env:
jobs:
preconditions:
name: Preconditions
- runs-on: ubuntu-22.04
+ runs-on: ubuntu-24.04
outputs:
docs_only: ${{ steps.check_changes.outputs.docs_only }}
changed_tests: ${{ steps.changes.outputs.tests_files }}
@@ -216,7 +216,7 @@ jobs:
JOB_NAME: Build and License check
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
CI_JDK_MAJOR_VERSION: ${{ needs.preconditions.outputs.jdk_major_version
}}
- runs-on: ubuntu-22.04
+ runs-on: ubuntu-24.04
timeout-minutes: 60
if: ${{ needs.preconditions.outputs.docs_only != 'true' }}
steps:
@@ -299,7 +299,7 @@ jobs:
THREAD_LEAK_DETECTOR_DIR: ${{ github.workspace
}}/target/thread-leak-dumps
NETTY_LEAK_DETECTION: "${{
needs.preconditions.outputs.netty_leak_detection }}"
NETTY_LEAK_DUMP_DIR: ${{ github.workspace }}/target/netty-leak-dumps
- runs-on: ubuntu-22.04
+ runs-on: ubuntu-24.04
timeout-minutes: ${{ matrix.timeout || 60 }}
needs: ['preconditions', 'build-and-license-check']
if: ${{ needs.preconditions.outputs.docs_only != 'true' }}
@@ -454,7 +454,7 @@ jobs:
unit-tests-upload-coverage:
name: CI - Unit - Upload Coverage
- runs-on: ubuntu-22.04
+ runs-on: ubuntu-24.04
timeout-minutes: 30
needs: ['preconditions', 'unit-tests']
env:
@@ -536,7 +536,7 @@ jobs:
pulsar-java-test-image:
name: Build Pulsar java-test-image ${{ matrix.base.type }} docker image
for ${{ matrix.platform }}
- runs-on: ubuntu-22.04
+ runs-on: ubuntu-24.04
timeout-minutes: 60
needs: ['preconditions', 'build-and-license-check']
if: ${{ needs.preconditions.outputs.docs_only != 'true'}}
@@ -619,7 +619,7 @@ jobs:
integration-tests:
name: CI - Integration - ${{ matrix.name }}
- runs-on: ubuntu-22.04
+ runs-on: ubuntu-24.04
timeout-minutes: ${{ matrix.timeout || 60 }}
needs: ['preconditions', 'pulsar-java-test-image']
if: ${{ needs.preconditions.outputs.docs_only != 'true' }}
@@ -808,7 +808,7 @@ jobs:
integration-tests-upload-coverage:
name: CI - Integration - Upload Coverage
- runs-on: ubuntu-22.04
+ runs-on: ubuntu-24.04
timeout-minutes: 30
needs: ['preconditions', 'integration-tests']
if: ${{ needs.preconditions.outputs.collect_coverage == 'true' }}
@@ -895,7 +895,7 @@ jobs:
delete-integration-test-docker-image-artifact:
name: "Delete integration test docker image artifact"
- runs-on: ubuntu-22.04
+ runs-on: ubuntu-24.04
timeout-minutes: 10
needs: [
'preconditions',
@@ -919,7 +919,7 @@ jobs:
pulsar-test-latest-version-image:
name: Build Pulsar ${{ matrix.base.type }} docker image
- runs-on: ubuntu-22.04
+ runs-on: ubuntu-24.04
timeout-minutes: 60
needs: ['preconditions', 'build-and-license-check']
if: ${{ needs.preconditions.outputs.docs_only != 'true' }}
@@ -1049,7 +1049,7 @@ jobs:
system-tests:
name: CI - System - ${{ matrix.name }}
- runs-on: ubuntu-22.04
+ runs-on: ubuntu-24.04
timeout-minutes: 60
needs: ['preconditions', 'pulsar-test-latest-version-image']
if: ${{ needs.preconditions.outputs.docs_only != 'true' }}
@@ -1211,7 +1211,7 @@ jobs:
system-tests-upload-coverage:
name: CI - System - Upload Coverage
- runs-on: ubuntu-22.04
+ runs-on: ubuntu-24.04
timeout-minutes: 30
needs: ['preconditions', 'system-tests']
if: ${{ needs.preconditions.outputs.collect_coverage == 'true' }}
@@ -1299,7 +1299,7 @@ jobs:
flaky-system-tests:
name: CI Flaky - System - ${{ matrix.name }}
- runs-on: ubuntu-22.04
+ runs-on: ubuntu-24.04
timeout-minutes: 60
needs: [ 'preconditions', 'pulsar-test-latest-version-image' ]
if: ${{ needs.preconditions.outputs.docs_only != 'true' }}
@@ -1438,7 +1438,7 @@ jobs:
delete-system-test-docker-image-artifact:
name: "Delete system test docker image artifact"
- runs-on: ubuntu-22.04
+ runs-on: ubuntu-24.04
timeout-minutes: 10
needs: [
'preconditions',
@@ -1499,7 +1499,7 @@ jobs:
codeql:
name: Run CodeQL Analysis
- runs-on: ubuntu-22.04
+ runs-on: ubuntu-24.04
timeout-minutes: 60
needs: ['preconditions', 'unit-tests']
if: ${{ (needs.preconditions.outputs.java_non_tests == 'true' ||
github.event_name != 'pull_request') && ((github.event_name == 'pull_request'
&& github.base_ref == 'master') || (github.event_name != 'pull_request' &&
github.ref_name == 'master')) }}
@@ -1564,7 +1564,7 @@ jobs:
owasp-dep-check:
name: OWASP dependency check
- runs-on: ubuntu-22.04
+ runs-on: ubuntu-24.04
timeout-minutes: 120
needs: [ 'preconditions', 'integration-tests' ]
if: ${{ needs.preconditions.outputs.need_owasp == 'true' }}
@@ -1670,7 +1670,7 @@ jobs:
# this is to allow the workflow scheduled jobs to show as cancelled
instead of failed since scheduled
# jobs are not enabled for other than apache/pulsar repository.
if: ${{ always() && !(cancelled() && github.repository != 'apache/pulsar'
&& github.event_name == 'schedule') }}
- runs-on: ubuntu-22.04
+ runs-on: ubuntu-24.04
timeout-minutes: 10
needs: [
'preconditions',
diff --git a/build/run_unit_group.sh b/build/run_unit_group.sh
index cfdf94d6436..1fc7a294153 100755
--- a/build/run_unit_group.sh
+++ b/build/run_unit_group.sh
@@ -174,7 +174,8 @@ function test_group_other() {
-pl
'!org.apache.pulsar:distribution,!org.apache.pulsar:pulsar-offloader-distribution,!org.apache.pulsar:pulsar-server-distribution,!org.apache.pulsar:pulsar-io-distribution,!org.apache.pulsar:pulsar-docker-image,!org.apache.pulsar:pulsar-all-docker-image'
\
-PskipTestsForUnitGroupOther -DdisableIoMainProfile=true
-DskipIntegrationTests \
-Dexclude='**/ManagedLedgerTest.java,
- **/OffloadersCacheTest.java
+ **/OffloadersCacheTest.java,
+ **/OffsetsCacheTest.java,
**/PrimitiveSchemaTest.java,
**/BlobStoreManagedLedgerOffloaderTest.java,
**/BlobStoreManagedLedgerOffloaderStreamingTest.java,
@@ -187,6 +188,7 @@ function test_group_other() {
mvn_test -pl tiered-storage/jcloud
-Dinclude='**/BlobStoreManagedLedgerOffloaderTest.java'
mvn_test -pl tiered-storage/jcloud
-Dinclude='**/BlobStoreManagedLedgerOffloaderStreamingTest.java'
+ mvn_test -pl tiered-storage/jcloud -Dinclude='**/OffsetsCacheTest.java'
echo "::endgroup::"
local modules_with_quarantined_tests=$(git grep -l '@Test.*"quarantine"' |
grep '/src/test/java/' | \
diff --git
a/tiered-storage/jcloud/src/test/java/org/apache/bookkeeper/mledger/offload/jcloud/impl/OffsetsCacheTest.java
b/tiered-storage/jcloud/src/test/java/org/apache/bookkeeper/mledger/offload/jcloud/impl/OffsetsCacheTest.java
index 083706ceb39..5eb11edf958 100644
---
a/tiered-storage/jcloud/src/test/java/org/apache/bookkeeper/mledger/offload/jcloud/impl/OffsetsCacheTest.java
+++
b/tiered-storage/jcloud/src/test/java/org/apache/bookkeeper/mledger/offload/jcloud/impl/OffsetsCacheTest.java
@@ -38,7 +38,7 @@ public class OffsetsCacheTest {
// test ttl
offsetsCache.put(1, 2, 2);
assertEquals(offsetsCache.getIfPresent(1, 2), 2);
- Thread.sleep(1500);
+ Thread.sleep(2000);
assertNull(offsetsCache.getIfPresent(1, 2));
offsetsCache.close();
}