From f1b4dd3a43711fb1eac77ada6cc143a77aa7a902 Mon Sep 17 00:00:00 2001 From: William Bergamin Date: Thu, 26 Feb 2026 17:48:40 -0500 Subject: [PATCH 01/20] chore: improve ci stability --- .github/workflows/unit-tests-jdk-14.yml | 1 + .github/workflows/unit-tests-jdk-17.yml | 1 + .github/workflows/unit-tests-jdk-8.yml | 1 + scripts/run_no_prep_tests.sh | 15 ++++++--------- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/unit-tests-jdk-14.yml b/.github/workflows/unit-tests-jdk-14.yml index 48c1c0f56..1a7d9deb2 100644 --- a/.github/workflows/unit-tests-jdk-14.yml +++ b/.github/workflows/unit-tests-jdk-14.yml @@ -29,6 +29,7 @@ jobs: ./scripts/run_no_prep_tests.sh -ci env: SKIP_UNSTABLE_TESTS: 1 + MAVEN_OPTS: "-Xmx4g -Xms512m" - name: Upload coverage to Codecov uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2 with: diff --git a/.github/workflows/unit-tests-jdk-17.yml b/.github/workflows/unit-tests-jdk-17.yml index d1a5f07a4..a3d041d3d 100644 --- a/.github/workflows/unit-tests-jdk-17.yml +++ b/.github/workflows/unit-tests-jdk-17.yml @@ -29,3 +29,4 @@ jobs: ./scripts/run_no_prep_tests.sh -ci env: SKIP_UNSTABLE_TESTS: 1 + MAVEN_OPTS: "-Djacoco.skip=true -Xmx4g -Xms512m" diff --git a/.github/workflows/unit-tests-jdk-8.yml b/.github/workflows/unit-tests-jdk-8.yml index b38a00025..5075f977d 100644 --- a/.github/workflows/unit-tests-jdk-8.yml +++ b/.github/workflows/unit-tests-jdk-8.yml @@ -32,3 +32,4 @@ jobs: ./scripts/run_no_prep_tests.sh -ci env: SKIP_UNSTABLE_TESTS: 1 + MAVEN_OPTS: "-Djacoco.skip=true -Xmx4g -Xms512m" diff --git a/scripts/run_no_prep_tests.sh b/scripts/run_no_prep_tests.sh index abdbe37e5..5ced6e0ab 100755 --- a/scripts/run_no_prep_tests.sh +++ b/scripts/run_no_prep_tests.sh @@ -31,9 +31,8 @@ then -pl !bolt-http4k \ -pl !bolt-micronaut \ -pl !slack-jakarta-socket-mode-client \ - clean \ - test-compile \ - '-Dtest=test_locally.**.*Test' -Dsurefire.failIfNoSpecifiedTests=false test ${CI_OPTIONS} \ + clean test \ + '-Dtest=test_locally.**.*Test' -Dsurefire.failIfNoSpecifiedTests=false ${CI_OPTIONS} \ -DfailIfNoTests=false \ -Dhttps.protocols=TLSv1.2 \ --no-transfer-progress && \ @@ -42,18 +41,16 @@ elif [[ "${is_jdk_14}" != "" ]]; then ./mvnw ${MAVEN_OPTS} \ -pl !bolt-micronaut \ - clean \ - test-compile \ - '-Dtest=test_locally.**.*Test' -Dsurefire.failIfNoSpecifiedTests=false test ${CI_OPTIONS} \ + clean test \ + '-Dtest=test_locally.**.*Test' -Dsurefire.failIfNoSpecifiedTests=false ${CI_OPTIONS} \ -DfailIfNoTests=false \ -Dhttps.protocols=TLSv1.2 \ --no-transfer-progress && \ if git status --porcelain | grep .; then git --no-pager diff; exit 1; fi else ./mvnw ${MAVEN_OPTS} \ - clean \ - test-compile \ - '-Dtest=test_locally.**.*Test' -Dsurefire.failIfNoSpecifiedTests=false test ${CI_OPTIONS} \ + clean test \ + '-Dtest=test_locally.**.*Test' -Dsurefire.failIfNoSpecifiedTests=false ${CI_OPTIONS} \ -DfailIfNoTests=false \ -Dhttps.protocols=TLSv1.2 \ --no-transfer-progress && \ From 3a3645804bfee0a09ae8d98fdc80cd5a03ff80ea Mon Sep 17 00:00:00 2001 From: William Bergamin Date: Thu, 26 Feb 2026 17:57:29 -0500 Subject: [PATCH 02/20] Update run_no_prep_tests.sh --- scripts/run_no_prep_tests.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/run_no_prep_tests.sh b/scripts/run_no_prep_tests.sh index 5ced6e0ab..021c7fd66 100755 --- a/scripts/run_no_prep_tests.sh +++ b/scripts/run_no_prep_tests.sh @@ -21,7 +21,7 @@ is_jdk_14=`echo $JAVA_HOME | grep 14.` is_travis_jdk_8=`echo $TRAVIS_JDK | grep openjdk8` if [[ "${is_jdk_8}" != "" && "${is_travis_jdk_8}" != "" ]]; then - ./mvnw ${MAVEN_OPTS} \ + ./mvnw \ -pl !bolt-google-cloud-functions \ -pl !bolt-helidon \ -pl !bolt-quarkus-examples \ @@ -39,7 +39,7 @@ then if git status --porcelain | grep .; then git --no-pager diff; exit 1; fi elif [[ "${is_jdk_14}" != "" ]]; then - ./mvnw ${MAVEN_OPTS} \ + ./mvnw \ -pl !bolt-micronaut \ clean test \ '-Dtest=test_locally.**.*Test' -Dsurefire.failIfNoSpecifiedTests=false ${CI_OPTIONS} \ @@ -48,7 +48,7 @@ then --no-transfer-progress && \ if git status --porcelain | grep .; then git --no-pager diff; exit 1; fi else - ./mvnw ${MAVEN_OPTS} \ + ./mvnw \ clean test \ '-Dtest=test_locally.**.*Test' -Dsurefire.failIfNoSpecifiedTests=false ${CI_OPTIONS} \ -DfailIfNoTests=false \ From a8938411a1a2e4ed0df52bcbefaf3f28a48768ab Mon Sep 17 00:00:00 2001 From: William Bergamin Date: Thu, 26 Feb 2026 22:56:20 -0500 Subject: [PATCH 03/20] extend timeout --- .github/workflows/unit-tests-jdk-14.yml | 2 +- .github/workflows/unit-tests-jdk-17.yml | 2 +- .github/workflows/unit-tests-jdk-8.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/unit-tests-jdk-14.yml b/.github/workflows/unit-tests-jdk-14.yml index 1a7d9deb2..2e270bfc0 100644 --- a/.github/workflows/unit-tests-jdk-14.yml +++ b/.github/workflows/unit-tests-jdk-14.yml @@ -9,7 +9,7 @@ on: jobs: build: runs-on: ubuntu-latest - timeout-minutes: 15 + timeout-minutes: 20 strategy: matrix: java-version: ["14"] diff --git a/.github/workflows/unit-tests-jdk-17.yml b/.github/workflows/unit-tests-jdk-17.yml index a3d041d3d..2335f2cc2 100644 --- a/.github/workflows/unit-tests-jdk-17.yml +++ b/.github/workflows/unit-tests-jdk-17.yml @@ -9,7 +9,7 @@ on: jobs: build: runs-on: ubuntu-latest - timeout-minutes: 15 + timeout-minutes: 20 strategy: matrix: java-version: ["17"] diff --git a/.github/workflows/unit-tests-jdk-8.yml b/.github/workflows/unit-tests-jdk-8.yml index 5075f977d..866a9b277 100644 --- a/.github/workflows/unit-tests-jdk-8.yml +++ b/.github/workflows/unit-tests-jdk-8.yml @@ -9,7 +9,7 @@ on: jobs: build: runs-on: ubuntu-latest - timeout-minutes: 15 + timeout-minutes: 20 strategy: matrix: java-version: ["8"] From 08271b073b61ecdc31d1f6fa35a2af93cf5c2391 Mon Sep 17 00:00:00 2001 From: William Bergamin Date: Mon, 2 Mar 2026 11:22:19 -0500 Subject: [PATCH 04/20] Improve the ci structure --- .github/workflows/ci-build.yml | 61 +++++++++++++++++++++++++ .github/workflows/unit-tests-jdk-14.yml | 36 --------------- .github/workflows/unit-tests-jdk-17.yml | 32 ------------- .github/workflows/unit-tests-jdk-8.yml | 35 -------------- 4 files changed, 61 insertions(+), 103 deletions(-) create mode 100644 .github/workflows/ci-build.yml delete mode 100644 .github/workflows/unit-tests-jdk-14.yml delete mode 100644 .github/workflows/unit-tests-jdk-17.yml delete mode 100644 .github/workflows/unit-tests-jdk-8.yml diff --git a/.github/workflows/ci-build.yml b/.github/workflows/ci-build.yml new file mode 100644 index 000000000..69283f157 --- /dev/null +++ b/.github/workflows/ci-build.yml @@ -0,0 +1,61 @@ +name: Java CI + +on: + push: + branches: + - main + pull_request: + workflow_dispatch: + +jobs: + build: + runs-on: ubuntu-latest + timeout-minutes: 20 + strategy: + fail-fast: false + matrix: + java-version: ["8", "14", "17"] + include: + - java-version: "8" + maven-opts: "-Djacoco.skip=true" + - java-version: "14" + maven-opts: "" + - java-version: "17" + maven-opts: "-Djacoco.skip=true" + permissions: + contents: read + steps: + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + with: + persist-credentials: false + - name: Install JDK ${{ matrix.java-version }} + uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0 + with: + java-version: ${{ matrix.java-version }} + distribution: "adopt" + - name: Run all tests + run: | + if [ ${{ matrix.java-version }} == "8" ]; then + export TRAVIS_JDK=openjdk8 + fi + ./scripts/run_no_prep_tests.sh -ci + env: + SKIP_UNSTABLE_TESTS: 1 + MAVEN_OPTS: ${{ matrix.maven-opts }} + - name: Upload test results to Codecov + if: ${{ !cancelled() }} + uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2 + with: + directory: . + files: "**/target/surefire-reports/TEST-*.xml" + fail_ci_if_error: true + flags: jdk-${{ matrix.java-version }} + report_type: test_results + token: ${{ secrets.CODECOV_TOKEN }} + - name: Upload coverage to Codecov + if: ${{ !cancelled() && hashFiles('**/target/site/jacoco/jacoco.xml') != '' }} + uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2 + with: + files: "**/target/site/jacoco/jacoco.xml" + flags: jdk-${{ matrix.java-version }} + token: ${{ secrets.CODECOV_TOKEN }} diff --git a/.github/workflows/unit-tests-jdk-14.yml b/.github/workflows/unit-tests-jdk-14.yml deleted file mode 100644 index 2e270bfc0..000000000 --- a/.github/workflows/unit-tests-jdk-14.yml +++ /dev/null @@ -1,36 +0,0 @@ -name: JDK 14 Build & Tests - -on: - push: - branches: - - main - pull_request: - -jobs: - build: - runs-on: ubuntu-latest - timeout-minutes: 20 - strategy: - matrix: - java-version: ["14"] - permissions: - contents: read - steps: - - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - with: - persist-credentials: false - - name: Install JDK - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0 - with: - java-version: ${{ matrix.java-version }} - distribution: "adopt" - - name: Run all tests - run: | - ./scripts/run_no_prep_tests.sh -ci - env: - SKIP_UNSTABLE_TESTS: 1 - MAVEN_OPTS: "-Xmx4g -Xms512m" - - name: Upload coverage to Codecov - uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2 - with: - token: ${{ secrets.CODECOV_TOKEN }} diff --git a/.github/workflows/unit-tests-jdk-17.yml b/.github/workflows/unit-tests-jdk-17.yml deleted file mode 100644 index 2335f2cc2..000000000 --- a/.github/workflows/unit-tests-jdk-17.yml +++ /dev/null @@ -1,32 +0,0 @@ -name: JDK 17 Build & Tests - -on: - push: - branches: - - main - pull_request: - -jobs: - build: - runs-on: ubuntu-latest - timeout-minutes: 20 - strategy: - matrix: - java-version: ["17"] - permissions: - contents: read - steps: - - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - with: - persist-credentials: false - - name: Install JDK - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0 - with: - java-version: ${{ matrix.java-version }} - distribution: "adopt" - - name: Run all tests - run: | - ./scripts/run_no_prep_tests.sh -ci - env: - SKIP_UNSTABLE_TESTS: 1 - MAVEN_OPTS: "-Djacoco.skip=true -Xmx4g -Xms512m" diff --git a/.github/workflows/unit-tests-jdk-8.yml b/.github/workflows/unit-tests-jdk-8.yml deleted file mode 100644 index 866a9b277..000000000 --- a/.github/workflows/unit-tests-jdk-8.yml +++ /dev/null @@ -1,35 +0,0 @@ -name: JDK 1.8 Build & Tests - -on: - push: - branches: - - main - pull_request: - -jobs: - build: - runs-on: ubuntu-latest - timeout-minutes: 20 - strategy: - matrix: - java-version: ["8"] - permissions: - contents: read - steps: - - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - with: - persist-credentials: false - - name: Install JDK - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0 - with: - java-version: ${{ matrix.java-version }} - distribution: "adopt" - - name: Run all tests - run: | - if [ ${{ matrix.java-version }} == "8" ]; then - export TRAVIS_JDK=openjdk8 - fi - ./scripts/run_no_prep_tests.sh -ci - env: - SKIP_UNSTABLE_TESTS: 1 - MAVEN_OPTS: "-Djacoco.skip=true -Xmx4g -Xms512m" From 1e46e3a2439bacb3cab930efe97e1a419c964ce3 Mon Sep 17 00:00:00 2001 From: William Bergamin Date: Mon, 2 Mar 2026 11:58:04 -0500 Subject: [PATCH 05/20] separate compile and test steps --- .github/workflows/ci-build.yml | 20 ++++++++++++++----- scripts/run_no_prep_tests.sh | 35 +++++++++++++++------------------- 2 files changed, 30 insertions(+), 25 deletions(-) diff --git a/.github/workflows/ci-build.yml b/.github/workflows/ci-build.yml index 69283f157..e3cf0316b 100644 --- a/.github/workflows/ci-build.yml +++ b/.github/workflows/ci-build.yml @@ -17,11 +17,11 @@ jobs: java-version: ["8", "14", "17"] include: - java-version: "8" - maven-opts: "-Djacoco.skip=true" + maven-opts: "-Djacoco.skip=true -Xmx4g -Xms512m" - java-version: "14" - maven-opts: "" + maven-opts: "-Xmx4g -Xms512m" - java-version: "17" - maven-opts: "-Djacoco.skip=true" + maven-opts: "-Djacoco.skip=true -Xmx4g -Xms512m" permissions: contents: read steps: @@ -33,13 +33,23 @@ jobs: with: java-version: ${{ matrix.java-version }} distribution: "adopt" - - name: Run all tests + - name: Compile run: | if [ ${{ matrix.java-version }} == "8" ]; then export TRAVIS_JDK=openjdk8 fi - ./scripts/run_no_prep_tests.sh -ci + ./scripts/run_no_prep_tests.sh compile test-compile env: + CI_ARGS: "--batch-mode -T 1C" + MAVEN_OPTS: ${{ matrix.maven-opts }} + - name: Run tests + run: | + if [ ${{ matrix.java-version }} == "8" ]; then + export TRAVIS_JDK=openjdk8 + fi + ./scripts/run_no_prep_tests.sh surefire:test + env: + CI_ARGS: "--batch-mode" SKIP_UNSTABLE_TESTS: 1 MAVEN_OPTS: ${{ matrix.maven-opts }} - name: Upload test results to Codecov diff --git a/scripts/run_no_prep_tests.sh b/scripts/run_no_prep_tests.sh index 021c7fd66..ea10aa485 100755 --- a/scripts/run_no_prep_tests.sh +++ b/scripts/run_no_prep_tests.sh @@ -1,19 +1,14 @@ #!/bin/bash -flags() -{ - while test $# -gt 0 - do - case "$1" in - -ci) - CI_OPTIONS="--batch-mode -T 1C" - ;; - *) usage;; - esac - shift - done -} -flags "$@" +# Usage: ./scripts/run_no_prep_tests.sh [goals...] +# +# Arguments: Maven phases/goals to run (default: clean test) +# +# Environment variables: +# CI_ARGS - Additional Maven CLI options (e.g., "--batch-mode -T 1C") +# TRAVIS_JDK - Set to "openjdk8" to use JDK 8 module exclusions + +MVN_PHASES="${*:-clean test}" is_jdk_8=`echo $JAVA_HOME | grep 8.` is_jdk_14=`echo $JAVA_HOME | grep 14.` @@ -31,8 +26,8 @@ then -pl !bolt-http4k \ -pl !bolt-micronaut \ -pl !slack-jakarta-socket-mode-client \ - clean test \ - '-Dtest=test_locally.**.*Test' -Dsurefire.failIfNoSpecifiedTests=false ${CI_OPTIONS} \ + $MVN_PHASES \ + '-Dtest=test_locally.**.*Test' -Dsurefire.failIfNoSpecifiedTests=false ${CI_ARGS} \ -DfailIfNoTests=false \ -Dhttps.protocols=TLSv1.2 \ --no-transfer-progress && \ @@ -41,16 +36,16 @@ elif [[ "${is_jdk_14}" != "" ]]; then ./mvnw \ -pl !bolt-micronaut \ - clean test \ - '-Dtest=test_locally.**.*Test' -Dsurefire.failIfNoSpecifiedTests=false ${CI_OPTIONS} \ + $MVN_PHASES \ + '-Dtest=test_locally.**.*Test' -Dsurefire.failIfNoSpecifiedTests=false ${CI_ARGS} \ -DfailIfNoTests=false \ -Dhttps.protocols=TLSv1.2 \ --no-transfer-progress && \ if git status --porcelain | grep .; then git --no-pager diff; exit 1; fi else ./mvnw \ - clean test \ - '-Dtest=test_locally.**.*Test' -Dsurefire.failIfNoSpecifiedTests=false ${CI_OPTIONS} \ + $MVN_PHASES \ + '-Dtest=test_locally.**.*Test' -Dsurefire.failIfNoSpecifiedTests=false ${CI_ARGS} \ -DfailIfNoTests=false \ -Dhttps.protocols=TLSv1.2 \ --no-transfer-progress && \ From 6a0757dd6d059cebf0309f5275f21a4deb01cd27 Mon Sep 17 00:00:00 2001 From: William Bergamin Date: Mon, 2 Mar 2026 12:26:51 -0500 Subject: [PATCH 06/20] let things run in line --- .github/workflows/ci-build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci-build.yml b/.github/workflows/ci-build.yml index e3cf0316b..c2388b237 100644 --- a/.github/workflows/ci-build.yml +++ b/.github/workflows/ci-build.yml @@ -40,14 +40,14 @@ jobs: fi ./scripts/run_no_prep_tests.sh compile test-compile env: - CI_ARGS: "--batch-mode -T 1C" + CI_ARGS: "--batch-mode" MAVEN_OPTS: ${{ matrix.maven-opts }} - name: Run tests run: | if [ ${{ matrix.java-version }} == "8" ]; then export TRAVIS_JDK=openjdk8 fi - ./scripts/run_no_prep_tests.sh surefire:test + ./scripts/run_no_prep_tests.sh test env: CI_ARGS: "--batch-mode" SKIP_UNSTABLE_TESTS: 1 From 765959b0616227264688cb999165c4bccb384c24 Mon Sep 17 00:00:00 2001 From: William Bergamin Date: Mon, 2 Mar 2026 12:54:31 -0500 Subject: [PATCH 07/20] Update ci-build.yml --- .github/workflows/ci-build.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci-build.yml b/.github/workflows/ci-build.yml index c2388b237..4ad7fbe3f 100644 --- a/.github/workflows/ci-build.yml +++ b/.github/workflows/ci-build.yml @@ -33,6 +33,8 @@ jobs: with: java-version: ${{ matrix.java-version }} distribution: "adopt" + - name: Clean GitHub's pre-baked Maven receipts + run: find ~/.m2/repository -name _remote.repositories -exec rm -f {} \; - name: Compile run: | if [ ${{ matrix.java-version }} == "8" ]; then @@ -40,7 +42,7 @@ jobs: fi ./scripts/run_no_prep_tests.sh compile test-compile env: - CI_ARGS: "--batch-mode" + CI_ARGS: "--batch-mode -T 1C" MAVEN_OPTS: ${{ matrix.maven-opts }} - name: Run tests run: | From 40f43c1b86cacd28192a6cdb853d83a6ecdf3881 Mon Sep 17 00:00:00 2001 From: William Bergamin Date: Mon, 2 Mar 2026 13:10:09 -0500 Subject: [PATCH 08/20] Add a cache for dependencies --- .github/workflows/ci-build.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci-build.yml b/.github/workflows/ci-build.yml index 4ad7fbe3f..e5052df4b 100644 --- a/.github/workflows/ci-build.yml +++ b/.github/workflows/ci-build.yml @@ -33,14 +33,13 @@ jobs: with: java-version: ${{ matrix.java-version }} distribution: "adopt" - - name: Clean GitHub's pre-baked Maven receipts - run: find ~/.m2/repository -name _remote.repositories -exec rm -f {} \; + cache: "maven" - name: Compile run: | if [ ${{ matrix.java-version }} == "8" ]; then export TRAVIS_JDK=openjdk8 fi - ./scripts/run_no_prep_tests.sh compile test-compile + ./scripts/run_no_prep_tests.sh clean compile test-compile env: CI_ARGS: "--batch-mode -T 1C" MAVEN_OPTS: ${{ matrix.maven-opts }} From 7250fe9576d77d72085dbb0a297a17f2641c3ee9 Mon Sep 17 00:00:00 2001 From: William Bergamin Date: Mon, 2 Mar 2026 13:47:35 -0500 Subject: [PATCH 09/20] get the full stack trace why is compilation failing --- .github/workflows/ci-build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci-build.yml b/.github/workflows/ci-build.yml index e5052df4b..5e187aef4 100644 --- a/.github/workflows/ci-build.yml +++ b/.github/workflows/ci-build.yml @@ -41,7 +41,7 @@ jobs: fi ./scripts/run_no_prep_tests.sh clean compile test-compile env: - CI_ARGS: "--batch-mode -T 1C" + CI_ARGS: "-T 1C" MAVEN_OPTS: ${{ matrix.maven-opts }} - name: Run tests run: | From f15d4157864f1ed1351a181659d3d7aee3ff1eff Mon Sep 17 00:00:00 2001 From: William Bergamin Date: Mon, 2 Mar 2026 15:22:01 -0500 Subject: [PATCH 10/20] improve CI job --- .github/workflows/ci-build.yml | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci-build.yml b/.github/workflows/ci-build.yml index 5e187aef4..63f989a30 100644 --- a/.github/workflows/ci-build.yml +++ b/.github/workflows/ci-build.yml @@ -10,7 +10,7 @@ on: jobs: build: runs-on: ubuntu-latest - timeout-minutes: 20 + timeout-minutes: 15 strategy: fail-fast: false matrix: @@ -33,7 +33,13 @@ jobs: with: java-version: ${{ matrix.java-version }} distribution: "adopt" - cache: "maven" + - name: Cache Maven dependencies + uses: actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v5.0.3 + with: + path: ~/.m2/repository + key: v1-${{ runner.os }}-maven-${{ matrix.java-version }}-${{ hashFiles('**/pom.xml') }} + restore-keys: | + v1-${{ runner.os }}-maven-${{ matrix.java-version }}- - name: Compile run: | if [ ${{ matrix.java-version }} == "8" ]; then @@ -41,7 +47,7 @@ jobs: fi ./scripts/run_no_prep_tests.sh clean compile test-compile env: - CI_ARGS: "-T 1C" + CI_ARGS: "--batch-mode -T 1C" MAVEN_OPTS: ${{ matrix.maven-opts }} - name: Run tests run: | From 6fb844346989de62aee6df7ebb113f2228ba59ac Mon Sep 17 00:00:00 2001 From: William Bergamin Date: Mon, 2 Mar 2026 17:02:45 -0500 Subject: [PATCH 11/20] remove multi threading compilation --- .github/workflows/ci-build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci-build.yml b/.github/workflows/ci-build.yml index 63f989a30..4b6f1d6d0 100644 --- a/.github/workflows/ci-build.yml +++ b/.github/workflows/ci-build.yml @@ -47,7 +47,7 @@ jobs: fi ./scripts/run_no_prep_tests.sh clean compile test-compile env: - CI_ARGS: "--batch-mode -T 1C" + CI_ARGS: "--batch-mode" MAVEN_OPTS: ${{ matrix.maven-opts }} - name: Run tests run: | From 54cf1992e2eebc4977cdc2adeffd3d3e9a812744 Mon Sep 17 00:00:00 2001 From: William Bergamin Date: Mon, 2 Mar 2026 17:43:30 -0500 Subject: [PATCH 12/20] just give it the time it needs I guess --- .github/workflows/ci-build.yml | 26 +++++--------------------- scripts/install_local.sh | 5 ++--- scripts/release.sh | 3 +-- scripts/run_all_bolt_tests.sh | 3 +-- scripts/run_no_prep_tests.sh | 4 +--- 5 files changed, 10 insertions(+), 31 deletions(-) diff --git a/.github/workflows/ci-build.yml b/.github/workflows/ci-build.yml index 4b6f1d6d0..58e663ad2 100644 --- a/.github/workflows/ci-build.yml +++ b/.github/workflows/ci-build.yml @@ -10,18 +10,11 @@ on: jobs: build: runs-on: ubuntu-latest - timeout-minutes: 15 + timeout-minutes: 30 strategy: fail-fast: false matrix: java-version: ["8", "14", "17"] - include: - - java-version: "8" - maven-opts: "-Djacoco.skip=true -Xmx4g -Xms512m" - - java-version: "14" - maven-opts: "-Xmx4g -Xms512m" - - java-version: "17" - maven-opts: "-Djacoco.skip=true -Xmx4g -Xms512m" permissions: contents: read steps: @@ -41,24 +34,15 @@ jobs: restore-keys: | v1-${{ runner.os }}-maven-${{ matrix.java-version }}- - name: Compile - run: | - if [ ${{ matrix.java-version }} == "8" ]; then - export TRAVIS_JDK=openjdk8 - fi - ./scripts/run_no_prep_tests.sh clean compile test-compile + run: ./scripts/run_no_prep_tests.sh clean compile test-compile env: - CI_ARGS: "--batch-mode" - MAVEN_OPTS: ${{ matrix.maven-opts }} + CI_ARGS: "--batch-mode -T 1C" + MAVEN_OPTS: "-Xmx4g -Xms512m" - name: Run tests - run: | - if [ ${{ matrix.java-version }} == "8" ]; then - export TRAVIS_JDK=openjdk8 - fi - ./scripts/run_no_prep_tests.sh test + run: ./scripts/run_no_prep_tests.sh test env: CI_ARGS: "--batch-mode" SKIP_UNSTABLE_TESTS: 1 - MAVEN_OPTS: ${{ matrix.maven-opts }} - name: Upload test results to Codecov if: ${{ !cancelled() }} uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2 diff --git a/scripts/install_local.sh b/scripts/install_local.sh index ee647312a..0e02b17b4 100755 --- a/scripts/install_local.sh +++ b/scripts/install_local.sh @@ -1,10 +1,9 @@ #!/bin/bash is_jdk_8=`echo $JAVA_HOME | grep 8.` -is_travis_jdk_8=`echo $TRAVIS_JDK | grep openjdk8` -if [[ "${is_jdk_8}" != "" && "${is_travis_jdk_8}" != "" ]]; +if [[ "${is_jdk_8}" != "" ]]; then echo "Please use OpenJDK 11." exit 1 fi -./mvnw install -Dmaven.test.skip=true +./mvnw install -Dmaven.test.skip=true -Dmaven.javadoc.skip=true -T 1C diff --git a/scripts/release.sh b/scripts/release.sh index bbc14b80e..008d9e163 100755 --- a/scripts/release.sh +++ b/scripts/release.sh @@ -1,8 +1,7 @@ #!/bin/bash is_jdk_8=$(echo "$JAVA_HOME" | grep 8.) -is_travis_jdk_8=$(echo "$TRAVIS_JDK" | grep openjdk8) -if [[ "${is_jdk_8}" != "" && "${is_travis_jdk_8}" != "" ]]; +if [[ "${is_jdk_8}" != "" ]]; then echo "Please use OpenJDK 11 for releasing these libraries." exit 1 diff --git a/scripts/run_all_bolt_tests.sh b/scripts/run_all_bolt_tests.sh index 592da076c..19ffa968c 100755 --- a/scripts/run_all_bolt_tests.sh +++ b/scripts/run_all_bolt_tests.sh @@ -1,7 +1,6 @@ #!/bin/bash is_jdk_8=`echo $JAVA_HOME | grep 8.` -is_travis_jdk_8=`echo $TRAVIS_JDK | grep openjdk8` -if [[ "${is_jdk_8}" != "" && "${is_travis_jdk_8}" != "" ]]; +if [[ "${is_jdk_8}" != "" ]]; then echo "Please use OpenJDK 11 for running these tests." exit 1 diff --git a/scripts/run_no_prep_tests.sh b/scripts/run_no_prep_tests.sh index ea10aa485..2b5a9ddf6 100755 --- a/scripts/run_no_prep_tests.sh +++ b/scripts/run_no_prep_tests.sh @@ -6,15 +6,13 @@ # # Environment variables: # CI_ARGS - Additional Maven CLI options (e.g., "--batch-mode -T 1C") -# TRAVIS_JDK - Set to "openjdk8" to use JDK 8 module exclusions MVN_PHASES="${*:-clean test}" is_jdk_8=`echo $JAVA_HOME | grep 8.` is_jdk_14=`echo $JAVA_HOME | grep 14.` -is_travis_jdk_8=`echo $TRAVIS_JDK | grep openjdk8` -if [[ "${is_jdk_8}" != "" && "${is_travis_jdk_8}" != "" ]]; +if [[ "${is_jdk_8}" != "" ]]; then ./mvnw \ -pl !bolt-google-cloud-functions \ From 8b312a22dbf7d5449e6542588898eda794d556b2 Mon Sep 17 00:00:00 2001 From: William Bergamin Date: Tue, 3 Mar 2026 10:54:12 -0500 Subject: [PATCH 13/20] Improve stability --- .github/workflows/ci-build.yml | 9 +-------- pom.xml | 4 ++-- 2 files changed, 3 insertions(+), 10 deletions(-) diff --git a/.github/workflows/ci-build.yml b/.github/workflows/ci-build.yml index 58e663ad2..d32aec7d5 100644 --- a/.github/workflows/ci-build.yml +++ b/.github/workflows/ci-build.yml @@ -26,17 +26,10 @@ jobs: with: java-version: ${{ matrix.java-version }} distribution: "adopt" - - name: Cache Maven dependencies - uses: actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v5.0.3 - with: - path: ~/.m2/repository - key: v1-${{ runner.os }}-maven-${{ matrix.java-version }}-${{ hashFiles('**/pom.xml') }} - restore-keys: | - v1-${{ runner.os }}-maven-${{ matrix.java-version }}- - name: Compile run: ./scripts/run_no_prep_tests.sh clean compile test-compile env: - CI_ARGS: "--batch-mode -T 1C" + CI_ARGS: "--batch-mode" MAVEN_OPTS: "-Xmx4g -Xms512m" - name: Run tests run: ./scripts/run_no_prep_tests.sh test diff --git a/pom.xml b/pom.xml index d20f9ef0e..4bc3bc6ba 100644 --- a/pom.xml +++ b/pom.xml @@ -64,7 +64,7 @@ see also: https://github.com/slackapi/java-slack-sdk/issues/1034 --> 1.7.36 - 1.18.36 + 1.18.42 1.18.20.0 target/generated-sources-for-javadocs @@ -84,7 +84,7 @@ 1.3.0 2.8.2 - 3.8.1 + 3.13.0 1.8 1.8 2.6 From ad958859736bdc67bf13b60a25e9ff321cfeda21 Mon Sep 17 00:00:00 2001 From: William Bergamin Date: Tue, 3 Mar 2026 11:15:40 -0500 Subject: [PATCH 14/20] Update pom.xml --- pom.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/pom.xml b/pom.xml index 4bc3bc6ba..a7fee4405 100644 --- a/pom.xml +++ b/pom.xml @@ -203,6 +203,7 @@ ${maven-compiler-plugin.version} UTF-8 + true From 10aace8d25e214ef5ab66bbbed35f399963ce80c Mon Sep 17 00:00:00 2001 From: William Bergamin Date: Tue, 3 Mar 2026 12:14:55 -0500 Subject: [PATCH 15/20] Trying some lombok configuarations --- .github/workflows/ci-build.yml | 3 ++- bolt-micronaut/pom.xml | 10 ++++++++++ lombok.config | 1 + pom.xml | 10 ++++++++++ 4 files changed, 23 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci-build.yml b/.github/workflows/ci-build.yml index d32aec7d5..d364a3560 100644 --- a/.github/workflows/ci-build.yml +++ b/.github/workflows/ci-build.yml @@ -35,6 +35,7 @@ jobs: run: ./scripts/run_no_prep_tests.sh test env: CI_ARGS: "--batch-mode" + MAVEN_OPTS: "-Xmx4g -Xms512m" SKIP_UNSTABLE_TESTS: 1 - name: Upload test results to Codecov if: ${{ !cancelled() }} @@ -47,7 +48,7 @@ jobs: report_type: test_results token: ${{ secrets.CODECOV_TOKEN }} - name: Upload coverage to Codecov - if: ${{ !cancelled() && hashFiles('**/target/site/jacoco/jacoco.xml') != '' }} + if: ${{ !cancelled() && startsWith(matrix.java-version, '14') }} uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2 with: files: "**/target/site/jacoco/jacoco.xml" diff --git a/bolt-micronaut/pom.xml b/bolt-micronaut/pom.xml index f151cd931..74d8aed59 100644 --- a/bolt-micronaut/pom.xml +++ b/bolt-micronaut/pom.xml @@ -147,6 +147,11 @@ -parameters + + org.projectlombok + lombok + ${lombok.version} + io.micronaut micronaut-inject-java @@ -165,6 +170,11 @@ -parameters + + org.projectlombok + lombok + ${lombok.version} + io.micronaut micronaut-inject-java diff --git a/lombok.config b/lombok.config index 7a21e8804..df71bb6a0 100644 --- a/lombok.config +++ b/lombok.config @@ -1 +1,2 @@ +config.stopBubbling = true lombok.addLombokGeneratedAnnotation = true diff --git a/pom.xml b/pom.xml index a7fee4405..f79554829 100644 --- a/pom.xml +++ b/pom.xml @@ -204,6 +204,16 @@ UTF-8 true + 256m + 1024m + false + + + org.projectlombok + lombok + ${lombok.version} + + From 9fd241cd8dc235188032a0a43b69b17b227e7eee Mon Sep 17 00:00:00 2001 From: William Bergamin Date: Tue, 3 Mar 2026 12:33:17 -0500 Subject: [PATCH 16/20] give it more ram --- .github/workflows/ci-build.yml | 5 ++--- bolt-micronaut/pom.xml | 14 ++------------ pom.xml | 4 ---- 3 files changed, 4 insertions(+), 19 deletions(-) diff --git a/.github/workflows/ci-build.yml b/.github/workflows/ci-build.yml index d364a3560..d48d2df7d 100644 --- a/.github/workflows/ci-build.yml +++ b/.github/workflows/ci-build.yml @@ -14,7 +14,7 @@ jobs: strategy: fail-fast: false matrix: - java-version: ["8", "14", "17"] + java-version: ["8", "14", "17", "21", "25"] permissions: contents: read steps: @@ -30,12 +30,11 @@ jobs: run: ./scripts/run_no_prep_tests.sh clean compile test-compile env: CI_ARGS: "--batch-mode" - MAVEN_OPTS: "-Xmx4g -Xms512m" + MAVEN_OPTS: "-Xmx8g -Xms1g" - name: Run tests run: ./scripts/run_no_prep_tests.sh test env: CI_ARGS: "--batch-mode" - MAVEN_OPTS: "-Xmx4g -Xms512m" SKIP_UNSTABLE_TESTS: 1 - name: Upload test results to Codecov if: ${{ !cancelled() }} diff --git a/bolt-micronaut/pom.xml b/bolt-micronaut/pom.xml index 74d8aed59..75c25d2d5 100644 --- a/bolt-micronaut/pom.xml +++ b/bolt-micronaut/pom.xml @@ -146,12 +146,7 @@ -parameters - - - org.projectlombok - lombok - ${lombok.version} - + io.micronaut micronaut-inject-java @@ -169,12 +164,7 @@ -parameters - - - org.projectlombok - lombok - ${lombok.version} - + io.micronaut micronaut-inject-java diff --git a/pom.xml b/pom.xml index f79554829..2bc111b12 100644 --- a/pom.xml +++ b/pom.xml @@ -203,10 +203,6 @@ ${maven-compiler-plugin.version} UTF-8 - true - 256m - 1024m - false org.projectlombok From bddd3bb274785f63ad5cd31dcda97861e170401c Mon Sep 17 00:00:00 2001 From: William Bergamin Date: Tue, 3 Mar 2026 12:49:20 -0500 Subject: [PATCH 17/20] reduce redundent command --- .github/workflows/ci-build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci-build.yml b/.github/workflows/ci-build.yml index d48d2df7d..e783542ff 100644 --- a/.github/workflows/ci-build.yml +++ b/.github/workflows/ci-build.yml @@ -14,7 +14,7 @@ jobs: strategy: fail-fast: false matrix: - java-version: ["8", "14", "17", "21", "25"] + java-version: ["8", "14", "17", "21"] permissions: contents: read steps: @@ -27,7 +27,7 @@ jobs: java-version: ${{ matrix.java-version }} distribution: "adopt" - name: Compile - run: ./scripts/run_no_prep_tests.sh clean compile test-compile + run: ./scripts/run_no_prep_tests.sh clean test-compile env: CI_ARGS: "--batch-mode" MAVEN_OPTS: "-Xmx8g -Xms1g" From 6595b9e7436d48503263615f0bff2d178a44db2d Mon Sep 17 00:00:00 2001 From: William Bergamin Date: Tue, 3 Mar 2026 13:03:13 -0500 Subject: [PATCH 18/20] dont run the tests against 21 --- .github/workflows/ci-build.yml | 2 +- scripts/install_local.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci-build.yml b/.github/workflows/ci-build.yml index e783542ff..1fd5a7eb1 100644 --- a/.github/workflows/ci-build.yml +++ b/.github/workflows/ci-build.yml @@ -14,7 +14,7 @@ jobs: strategy: fail-fast: false matrix: - java-version: ["8", "14", "17", "21"] + java-version: ["8", "14", "17"] permissions: contents: read steps: diff --git a/scripts/install_local.sh b/scripts/install_local.sh index 0e02b17b4..484f75df3 100755 --- a/scripts/install_local.sh +++ b/scripts/install_local.sh @@ -6,4 +6,4 @@ then exit 1 fi -./mvnw install -Dmaven.test.skip=true -Dmaven.javadoc.skip=true -T 1C +./mvnw install -Dmaven.test.skip=true From 52601775f2526749829ad5075a82ddafbad5e086 Mon Sep 17 00:00:00 2001 From: William Bergamin Date: Tue, 3 Mar 2026 14:59:33 -0500 Subject: [PATCH 19/20] Add a cache for the dependencies, not sure if its the right move --- .github/workflows/ci-build.yml | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci-build.yml b/.github/workflows/ci-build.yml index 1fd5a7eb1..4ac559e08 100644 --- a/.github/workflows/ci-build.yml +++ b/.github/workflows/ci-build.yml @@ -10,7 +10,7 @@ on: jobs: build: runs-on: ubuntu-latest - timeout-minutes: 30 + timeout-minutes: 20 strategy: fail-fast: false matrix: @@ -26,11 +26,18 @@ jobs: with: java-version: ${{ matrix.java-version }} distribution: "adopt" + - name: Cache Maven repository + uses: actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v5.0.3 + with: + path: ~/.m2/repository + key: maven-${{ runner.os }}-${{ matrix.java-version }}-${{ hashFiles('**/pom.xml') }} + restore-keys: | + maven-${{ runner.os }}-${{ matrix.java-version }}- - name: Compile run: ./scripts/run_no_prep_tests.sh clean test-compile env: CI_ARGS: "--batch-mode" - MAVEN_OPTS: "-Xmx8g -Xms1g" + MAVEN_OPTS: "-Xmx10g -Xms1g" - name: Run tests run: ./scripts/run_no_prep_tests.sh test env: From d3ae30aabd9fdea50e906ae26380f40be1aae91e Mon Sep 17 00:00:00 2001 From: William Bergamin Date: Tue, 3 Mar 2026 15:21:06 -0500 Subject: [PATCH 20/20] check test report exist before uploading them --- .github/workflows/ci-build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci-build.yml b/.github/workflows/ci-build.yml index 4ac559e08..372fe80dd 100644 --- a/.github/workflows/ci-build.yml +++ b/.github/workflows/ci-build.yml @@ -44,7 +44,7 @@ jobs: CI_ARGS: "--batch-mode" SKIP_UNSTABLE_TESTS: 1 - name: Upload test results to Codecov - if: ${{ !cancelled() }} + if: ${{ !cancelled() && hashFiles('**/target/surefire-reports/TEST-*.xml') != '' }} uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2 with: directory: . @@ -54,7 +54,7 @@ jobs: report_type: test_results token: ${{ secrets.CODECOV_TOKEN }} - name: Upload coverage to Codecov - if: ${{ !cancelled() && startsWith(matrix.java-version, '14') }} + if: ${{ !cancelled() && startsWith(matrix.java-version, '14') && hashFiles('**/target/site/jacoco/jacoco.xml') != '' }} uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2 with: files: "**/target/site/jacoco/jacoco.xml"